From 027505fee908693ded0a9e99eaa974ea6f419c6b Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Thu, 29 Oct 2026 13:27:20 -0500 Subject: [PATCH 1/5] Add tested exact-scope Layer A manifest and isolation auditor --- .../math514/layer_a/BUILD_REPORT.json | 976 ++++++++++++++++ .../math514/layer_a/BUILD_REPORT.md | 35 + .../math514/layer_a/EVIDENCE_PATH_MAP.json | 1041 +++++++++++++++++ .../math514/layer_a/LEXER_PROVENANCE.json | 36 + cbz/contributions/math514/layer_a/PLAN.md | 20 + .../math514/layer_a/PUBLICATION.md | 18 + cbz/contributions/math514/layer_a/README.md | 119 ++ cbz/contributions/math514/layer_a/SPEC.md | 35 + .../math514/layer_a/TOOLING_REGISTRY.md | 37 + cbz/contributions/math514/layer_a/auditor.py | 366 ++++++ .../math514/layer_a/canonical_lean.py | 476 ++++++++ .../admission-final-binding-check.json | 870 ++++++++++++++ .../evidence/admission-import-literal-red.log | 99 ++ .../evidence/admission-independent-review.md | 92 ++ .../evidence/admission-review-green.log | 71 ++ .../layer_a/evidence/admission-review-red.log | 191 +++ .../layer_a/evidence/adversarial-green.log | 46 + .../layer_a/evidence/adversarial-red.log | 175 +++ .../evidence/auditor-postfix-review.md | 57 + .../evidence/classification-review-green.log | 52 + .../evidence/classification-review-red.log | 65 + .../layer_a/evidence/final-review-green.log | 61 + .../layer_a/evidence/final-review-red.log | 117 ++ .../allow-arbitrary-foundation-set.log | 92 ++ .../allow-incomplete-classification.log | 80 ++ .../allow-negative-dynamic-powers.log | 90 ++ .../allow-nonmath-dependency-values.log | 80 ++ .../allow-protected-name-rebinding.log | 81 ++ .../allow-python-division.log | 81 ++ .../allow-quarantine-dependency.log | 114 ++ .../allow-reflective-attributes.log | 81 ++ .../allow-relabeled-source.log | 88 ++ .../allow-symlink-files.log | 80 ++ .../allow-unbound-nonvacuity.log | 80 ++ .../allow-unknown-classification.log | 80 ++ .../allow-unknown-python-calls.log | 126 ++ .../allow-unpinned-external-source.log | 80 ++ .../allow-unreadable-files.log | 80 ++ ...-unsupported-source-extension-language.log | 90 ++ .../always-report-static-pass.log | 403 +++++++ .../baseline.log | 75 ++ .../canonical-unicode-boundary-weakened.log | 81 ++ ...late-status-json-booleans-and-integers.log | 80 ++ .../disable-axiom-category.log | 125 ++ .../disable-content-hash-check.log | 88 ++ .../disable-exact-python-profile.log | 315 +++++ .../disable-float-literal-category.log | 90 ++ .../disable-macro-gap-category.log | 126 ++ .../disable-native-category.log | 254 ++++ .../disable-placeholder-category.log | 230 ++++ .../disable-reflective-loader-attributes.log | 90 ++ .../disable-unchecked-declaration-refusal.log | 132 +++ .../drop-escaped-constant-normalization.log | 179 +++ .../drop-lean-dependencies.log | 128 ++ .../drop-literal-import-operands.log | 99 ++ .../drop-python-submodule-candidates.log | 80 ++ .../empty-final-findings.log | 651 +++++++++++ .../empty-lean-findings.log | 756 ++++++++++++ .../ignore-contradictory-hypotheses.log | 80 ++ .../ignore-quarantine-boundary.log | 80 ++ .../ignore-retained-finding-counts.log | 88 ++ .../miss-escaped-placeholder-helpers.log | 90 ++ ...miss-multiline-commented-native-config.log | 123 ++ .../restore-reflective-builtin-loader-gap.log | 101 ++ .../restore-shadowed-fractions-exemption.log | 88 ++ .../silence-unsupported-lean-import-tail.log | 107 ++ .../skip-all-but-first-file.log | 227 ++++ .../skip-binary-proof-bindings.log | 88 ++ .../skip-malformed-character-refusal.log | 120 ++ ...p-mapped-external-language-requirement.log | 80 ++ .../skip-nonmath-review.log | 80 ++ .../skip-path-validation.log | 135 +++ ...kip-retained-text-language-requirement.log | 80 ++ .../skip-status-evidence.log | 96 ++ .../skip-unreadable-file.log | 88 ++ .../skip-vacuity-coverage.log | 80 ++ .../truncate-primed-lean-imports.log | 95 ++ .../layer_a/evidence/g0-admission-final.json | 748 ++++++++++++ .../layer_a/evidence/g0-admission-final.log | 54 + .../allow-arbitrary-foundation-set.log | 91 ++ .../allow-incomplete-classification.log | 79 ++ .../allow-negative-dynamic-powers.log | 89 ++ .../allow-nonmath-dependency-values.log | 79 ++ .../allow-protected-name-rebinding.log | 80 ++ .../allow-python-division.log | 80 ++ .../allow-quarantine-dependency.log | 113 ++ .../allow-reflective-attributes.log | 80 ++ .../allow-relabeled-source.log | 87 ++ .../allow-symlink-files.log | 79 ++ .../allow-unbound-nonvacuity.log | 79 ++ .../allow-unknown-classification.log | 79 ++ .../allow-unknown-python-calls.log | 125 ++ .../allow-unpinned-external-source.log | 79 ++ .../allow-unreadable-files.log | 79 ++ ...-unsupported-source-extension-language.log | 89 ++ .../always-report-static-pass.log | 402 +++++++ .../baseline.log | 74 ++ .../canonical-unicode-boundary-weakened.log | 80 ++ ...late-status-json-booleans-and-integers.log | 79 ++ .../disable-axiom-category.log | 124 ++ .../disable-content-hash-check.log | 87 ++ .../disable-exact-python-profile.log | 314 +++++ .../disable-float-literal-category.log | 89 ++ .../disable-macro-gap-category.log | 125 ++ .../disable-native-category.log | 253 ++++ .../disable-placeholder-category.log | 229 ++++ .../disable-reflective-loader-attributes.log | 89 ++ .../disable-unchecked-declaration-refusal.log | 131 +++ .../drop-escaped-constant-normalization.log | 178 +++ .../drop-lean-dependencies.log | 127 ++ .../drop-python-submodule-candidates.log | 79 ++ .../empty-final-findings.log | 650 ++++++++++ .../empty-lean-findings.log | 728 ++++++++++++ .../ignore-contradictory-hypotheses.log | 79 ++ .../ignore-quarantine-boundary.log | 79 ++ .../ignore-retained-finding-counts.log | 87 ++ .../miss-escaped-placeholder-helpers.log | 89 ++ ...miss-multiline-commented-native-config.log | 122 ++ .../restore-reflective-builtin-loader-gap.log | 100 ++ .../restore-shadowed-fractions-exemption.log | 87 ++ .../silence-unsupported-lean-import-tail.log | 79 ++ .../skip-all-but-first-file.log | 226 ++++ .../skip-binary-proof-bindings.log | 87 ++ .../skip-malformed-character-refusal.log | 119 ++ ...p-mapped-external-language-requirement.log | 79 ++ .../skip-nonmath-review.log | 79 ++ .../skip-path-validation.log | 134 +++ ...kip-retained-text-language-requirement.log | 79 ++ .../skip-status-evidence.log | 95 ++ .../skip-unreadable-file.log | 87 ++ .../skip-vacuity-coverage.log | 79 ++ .../truncate-primed-lean-imports.log | 94 ++ .../layer_a/evidence/g0-admission-fix.json | 735 ++++++++++++ .../layer_a/evidence/g0-admission-fix.log | 53 + .../layer_a/evidence/g0-development.json | 485 ++++++++ .../layer_a/evidence/g0-development.log | 34 + .../allow-arbitrary-foundation-set.log | 78 ++ .../allow-incomplete-classification.log | 66 ++ .../allow-negative-dynamic-powers.log | 76 ++ .../allow-nonmath-dependency-values.log | 66 ++ .../allow-protected-name-rebinding.log | 67 ++ .../allow-python-division.log | 67 ++ .../allow-quarantine-dependency.log | 92 ++ .../allow-reflective-attributes.log | 67 ++ .../allow-relabeled-source.log | 74 ++ .../allow-symlink-files.log | 66 ++ .../allow-unbound-nonvacuity.log | 66 ++ .../allow-unknown-classification.log | 66 ++ .../allow-unknown-python-calls.log | 112 ++ .../allow-unpinned-external-source.log | 66 ++ .../allow-unreadable-files.log | 66 ++ .../always-report-static-pass.log | 234 ++++ .../g0-final-mutation-logs/baseline.log | 61 + .../canonical-unicode-boundary-weakened.log | 67 ++ .../disable-axiom-category.log | 111 ++ .../disable-content-hash-check.log | 74 ++ .../disable-exact-python-profile.log | 301 +++++ .../disable-float-literal-category.log | 76 ++ .../disable-macro-gap-category.log | 112 ++ .../disable-native-category.log | 129 ++ .../disable-placeholder-category.log | 166 +++ .../drop-lean-dependencies.log | 91 ++ .../drop-python-submodule-candidates.log | 66 ++ .../empty-final-findings.log | 471 ++++++++ .../empty-lean-findings.log | 390 ++++++ .../ignore-contradictory-hypotheses.log | 66 ++ .../ignore-quarantine-boundary.log | 66 ++ .../ignore-retained-finding-counts.log | 74 ++ .../restore-shadowed-fractions-exemption.log | 74 ++ .../skip-all-but-first-file.log | 181 +++ .../skip-binary-proof-bindings.log | 74 ++ .../skip-nonmath-review.log | 66 ++ .../skip-path-validation.log | 121 ++ .../skip-status-evidence.log | 74 ++ .../skip-unreadable-file.log | 74 ++ .../skip-vacuity-coverage.log | 66 ++ .../math514/layer_a/evidence/g0-final.json | 566 +++++++++ .../math514/layer_a/evidence/g0-final.log | 40 + .../allow-arbitrary-foundation-set.log | 82 ++ .../allow-incomplete-classification.log | 70 ++ .../allow-negative-dynamic-powers.log | 80 ++ .../allow-nonmath-dependency-values.log | 70 ++ .../allow-protected-name-rebinding.log | 71 ++ .../allow-python-division.log | 71 ++ .../allow-quarantine-dependency.log | 96 ++ .../allow-reflective-attributes.log | 71 ++ .../allow-relabeled-source.log | 78 ++ .../allow-symlink-files.log | 70 ++ .../allow-unbound-nonvacuity.log | 70 ++ .../allow-unknown-classification.log | 70 ++ .../allow-unknown-python-calls.log | 116 ++ .../allow-unpinned-external-source.log | 70 ++ .../allow-unreadable-files.log | 70 ++ .../always-report-static-pass.log | 382 ++++++ .../g0-hardening-mutation-logs/baseline.log | 65 + .../canonical-unicode-boundary-weakened.log | 71 ++ .../disable-axiom-category.log | 115 ++ .../disable-content-hash-check.log | 78 ++ .../disable-exact-python-profile.log | 305 +++++ .../disable-float-literal-category.log | 80 ++ .../disable-macro-gap-category.log | 116 ++ .../disable-native-category.log | 244 ++++ .../disable-placeholder-category.log | 209 ++++ .../disable-unchecked-declaration-refusal.log | 122 ++ .../drop-escaped-constant-normalization.log | 169 +++ .../drop-lean-dependencies.log | 95 ++ .../drop-python-submodule-candidates.log | 70 ++ .../empty-final-findings.log | 583 +++++++++ .../empty-lean-findings.log | 700 +++++++++++ .../ignore-contradictory-hypotheses.log | 70 ++ .../ignore-quarantine-boundary.log | 70 ++ .../ignore-retained-finding-counts.log | 78 ++ .../miss-escaped-placeholder-helpers.log | 80 ++ ...miss-multiline-commented-native-config.log | 113 ++ .../restore-shadowed-fractions-exemption.log | 78 ++ .../skip-all-but-first-file.log | 185 +++ .../skip-binary-proof-bindings.log | 78 ++ .../skip-malformed-character-refusal.log | 110 ++ .../skip-nonmath-review.log | 70 ++ .../skip-path-validation.log | 125 ++ .../skip-status-evidence.log | 78 ++ .../skip-unreadable-file.log | 78 ++ .../skip-vacuity-coverage.log | 70 ++ .../layer_a/evidence/g0-hardening.json | 631 ++++++++++ .../math514/layer_a/evidence/g0-hardening.log | 45 + .../layer_a/evidence/g0-source-mutations.json | 485 ++++++++ .../layer_a/evidence/g0-source-mutations.log | 34 + .../evidence/hardening-assessment.json | 121 ++ .../hardening-reported-cases-green.log | 65 + .../evidence/hardening-reported-cases-red.log | 179 +++ .../layer_a/evidence/implementation-tests.log | 39 + .../layer_a/evidence/import-shadow-green.log | 55 + .../layer_a/evidence/import-shadow-red.log | 68 ++ .../allow-arbitrary-foundation-set.log | 66 ++ .../allow-incomplete-classification.log | 54 + .../allow-negative-dynamic-powers.log | 64 + .../allow-protected-name-rebinding.log | 55 + .../mutation-logs/allow-python-division.log | 55 + .../allow-quarantine-dependency.log | 64 + .../allow-reflective-attributes.log | 55 + .../mutation-logs/allow-relabeled-source.log | 62 + .../mutation-logs/allow-symlink-files.log | 54 + .../allow-unbound-nonvacuity.log | 54 + .../allow-unknown-classification.log | 54 + .../allow-unknown-python-calls.log | 100 ++ .../allow-unpinned-external-source.log | 54 + .../mutation-logs/allow-unreadable-files.log | 46 + .../always-report-static-pass.log | 222 ++++ .../evidence/mutation-logs/baseline.log | 49 + .../mutation-logs/disable-axiom-category.log | 99 ++ .../disable-content-hash-check.log | 62 + .../disable-exact-python-profile.log | 289 +++++ .../disable-float-literal-category.log | 64 + .../disable-macro-gap-category.log | 91 ++ .../mutation-logs/disable-native-category.log | 108 ++ .../disable-placeholder-category.log | 127 ++ .../mutation-logs/drop-lean-dependencies.log | 79 ++ .../mutation-logs/empty-final-findings.log | 395 +++++++ .../mutation-logs/empty-lean-findings.log | 324 +++++ .../ignore-contradictory-hypotheses.log | 54 + .../ignore-quarantine-boundary.log | 54 + .../ignore-retained-finding-counts.log | 62 + .../mutation-logs/skip-all-but-first-file.log | 126 ++ .../skip-binary-proof-bindings.log | 54 + .../mutation-logs/skip-nonmath-review.log | 54 + .../mutation-logs/skip-status-evidence.log | 54 + .../mutation-logs/skip-unreadable-file.log | 54 + .../mutation-logs/skip-vacuity-coverage.log | 54 + .../layer_a/evidence/mutation-runner-red.log | 32 + .../original-permission-survivor/record.json | 35 + .../original-permission-survivor/survivor.log | 46 + .../original-permission-guard-red.log | 55 + .../LEXER_PROVENANCE.json | 36 + .../pre-admission-fix-source/README.md | 119 ++ .../SNAPSHOT_BINDING.json | 16 + .../evidence/pre-admission-fix-source/SPEC.md | 35 + .../pre-admission-fix-source/auditor.py | 364 ++++++ .../canonical_lean.py | 476 ++++++++ .../pre-admission-fix-source/mutation_test.py | 153 +++ .../pre-admission-fix-source/source_checks.py | 299 +++++ .../tests/test_auditor.py | 579 +++++++++ .../tests/test_mutation_runner.py | 44 + .../LEXER_PROVENANCE.json | 25 + .../evidence/pre-hardening-source/README.md | 117 ++ .../SNAPSHOT_BINDING.json | 16 + .../evidence/pre-hardening-source/SPEC.md | 33 + .../evidence/pre-hardening-source/auditor.py | 364 ++++++ .../pre-hardening-source/canonical_lean.py | 422 +++++++ .../pre-hardening-source/mutation_test.py | 148 +++ .../pre-hardening-source/source_checks.py | 296 +++++ .../tests/test_auditor.py | 528 +++++++++ .../tests/test_mutation_runner.py | 44 + .../LEXER_PROVENANCE.json | 36 + .../pre-import-literal-fix-source/README.md | 119 ++ .../SNAPSHOT_BINDING.json | 16 + .../pre-import-literal-fix-source/SPEC.md | 35 + .../pre-import-literal-fix-source/auditor.py | 366 ++++++ .../canonical_lean.py | 476 ++++++++ .../mutation_test.py | 161 +++ .../source_checks.py | 304 +++++ .../tests/test_auditor.py | 646 ++++++++++ .../tests/test_mutation_runner.py | 44 + .../public-lexer-integration-green.log | 53 + .../evidence/public-lexer-integration-red.log | 104 ++ .../public-pr29-ef5b924/FETCH_METADATA.json | 19 + .../public-pr29-ef5b924/PR_METADATA.json | 38 + .../public-pr29-ef5b924/layer_a_scan.py | 476 ++++++++ .../math514/layer_a/evidence/red-tests.log | 311 +++++ .../math514/layer_a/mutation_test.py | 162 +++ .../math514/layer_a/source_checks.py | 310 +++++ .../math514/layer_a/tests/test_auditor.py | 651 +++++++++++ .../layer_a/tests/test_mutation_runner.py | 44 + 312 files changed, 46095 insertions(+) create mode 100644 cbz/contributions/math514/layer_a/BUILD_REPORT.json create mode 100644 cbz/contributions/math514/layer_a/BUILD_REPORT.md create mode 100644 cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json create mode 100644 cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/PLAN.md create mode 100644 cbz/contributions/math514/layer_a/PUBLICATION.md create mode 100644 cbz/contributions/math514/layer_a/README.md create mode 100644 cbz/contributions/math514/layer_a/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md create mode 100644 cbz/contributions/math514/layer_a/auditor.py create mode 100644 cbz/contributions/math514/layer_a/canonical_lean.py create mode 100644 cbz/contributions/math514/layer_a/evidence/admission-final-binding-check.json create mode 100644 cbz/contributions/math514/layer_a/evidence/admission-import-literal-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/admission-independent-review.md create mode 100644 cbz/contributions/math514/layer_a/evidence/admission-review-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/admission-review-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/adversarial-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/adversarial-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/auditor-postfix-review.md create mode 100644 cbz/contributions/math514/layer_a/evidence/classification-review-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/classification-review-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/final-review-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/final-review-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final.json create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-final.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix.json create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-admission-fix.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-development.json create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-development.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final.json create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-final.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening.json create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-hardening.log create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-source-mutations.json create mode 100644 cbz/contributions/math514/layer_a/evidence/g0-source-mutations.log create mode 100644 cbz/contributions/math514/layer_a/evidence/hardening-assessment.json create mode 100644 cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/implementation-tests.log create mode 100644 cbz/contributions/math514/layer_a/evidence/import-shadow-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/import-shadow-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-arbitrary-foundation-set.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-incomplete-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-protected-name-rebinding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-quarantine-dependency.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-reflective-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-relabeled-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-symlink-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unbound-nonvacuity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-python-calls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unpinned-external-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unreadable-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/always-report-static-pass.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-content-hash-check.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-exact-python-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-float-literal-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-final-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-contradictory-hypotheses.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-quarantine-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-retained-finding-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-all-but-first-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-binary-proof-bindings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-nonmath-review.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-unreadable-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-vacuity-coverage.log create mode 100644 cbz/contributions/math514/layer_a/evidence/mutation-runner-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/original-permission-survivor/record.json create mode 100644 cbz/contributions/math514/layer_a/evidence/original-permission-survivor/survivor.log create mode 100644 cbz/contributions/math514/layer_a/evidence/permission-guard-proof/original-permission-guard-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/LEXER_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SNAPSHOT_BINDING.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/canonical_lean.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/LEXER_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SNAPSHOT_BINDING.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/canonical_lean.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/LEXER_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SNAPSHOT_BINDING.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/canonical_lean.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/public-lexer-integration-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/public-lexer-integration-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/FETCH_METADATA.json create mode 100644 cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/PR_METADATA.json create mode 100644 cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/layer_a_scan.py create mode 100644 cbz/contributions/math514/layer_a/evidence/red-tests.log create mode 100644 cbz/contributions/math514/layer_a/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/tests/test_mutation_runner.py 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..eed62cd70 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/BUILD_REPORT.md new file mode 100644 index 000000000..fa410d92e --- /dev/null +++ b/cbz/contributions/math514/layer_a/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_PATH_MAP.json b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json new file mode 100644 index 000000000..325583391 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json new file mode 100644 index 000000000..5e6b3930c --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/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..535204456 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/README.md b/cbz/contributions/math514/layer_a/README.md new file mode 100644 index 000000000..f40e80af5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/SPEC.md b/cbz/contributions/math514/layer_a/SPEC.md new file mode 100644 index 000000000..80e7941a8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md new file mode 100644 index 000000000..70454357d --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/auditor.py b/cbz/contributions/math514/layer_a/auditor.py new file mode 100644 index 000000000..630db4c3b --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/canonical_lean.py b/cbz/contributions/math514/layer_a/canonical_lean.py new file mode 100644 index 000000000..0a113896a --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/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/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-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/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/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-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/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-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/mutation_test.py b/cbz/contributions/math514/layer_a/mutation_test.py new file mode 100644 index 000000000..7e8b544f8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/source_checks.py b/cbz/contributions/math514/layer_a/source_checks.py new file mode 100644 index 000000000..eb69975d1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/tests/test_auditor.py b/cbz/contributions/math514/layer_a/tests/test_auditor.py new file mode 100644 index 000000000..2e4e6f30c --- /dev/null +++ b/cbz/contributions/math514/layer_a/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/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/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() From 95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2 Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Thu, 29 Oct 2026 15:03:42 -0500 Subject: [PATCH 2/5] Adopt canonical Lean lexer and require body-scoped auditor mutation evidence Close numeral/axiom and nested-string placeholder admissions with the unchanged canonical698 lexer and fail-closed metadata/error adapter. Require pristine selected-population and body/lifecycle provenance for mutation kills. Preserve original sources, failures, redundant survivors and scoped fresh/reused evidence. --- .../math514/layer_a/BUILD_REPORT.json | 991 +-------- .../math514/layer_a/BUILD_REPORT.md | 36 +- .../math514/layer_a/EVIDENCE_PATH_MAP.json | 1320 ++++++++--- .../math514/layer_a/LEXER_PROVENANCE.json | 91 +- .../math514/layer_a/PUBLICATION.md | 13 +- cbz/contributions/math514/layer_a/README.md | 21 +- cbz/contributions/math514/layer_a/SPEC.md | 13 +- .../math514/layer_a/TOOLING_REGISTRY.md | 18 +- .../layer_a/auditor-lexer-postfix-review.md | 62 + .../math514/layer_a/canonical_lean.py | 217 +- .../layer_a/evidence/composed-admission.json | 139 ++ .../existing-harness-current-receipt.json | 30 + .../canonical-unicode-boundary-weakened.log | 59 + .../skip-malformed-character-refusal.log | 98 + .../canonical-unicode-boundary-weakened.log | 59 + .../skip-malformed-character-refusal.log | 98 + .../lexer698-adapted-mutants/receipt.json | 61 + .../layer_a/evidence/lexer698-admission.json | 1944 +++++++++++++++++ .../layer_a/evidence/lexer698-api-green.log | 6 + .../layer_a/evidence/lexer698-api-red.log | 14 + .../evidence/lexer698-checks/controller.py | 128 ++ .../layer_a/evidence/lexer698-green.log | 7 + .../normal/baseline-identity.log | 50 + .../canonical-unicode-boundary-weakened.log | 50 + .../normal/disable-axiom-category.log | 156 ++ .../normal/disable-macro-gap-category.log | 104 + .../normal/disable-native-category.log | 232 ++ .../normal/disable-placeholder-category.log | 224 ++ .../disable-unchecked-declaration-refusal.log | 110 + .../discard-canonical-lexical-errors.log | 58 + .../discard-nested-string-code-holes.log | 66 + .../drop-escaped-constant-normalization.log | 157 ++ .../normal/drop-lean-dependencies.log | 106 + .../normal/drop-literal-import-operands.log | 77 + .../normal/empty-lean-findings.log | 811 +++++++ .../ignore-canonical-metadata-shape.log | 58 + .../miss-escaped-placeholder-helpers.log | 68 + ...miss-multiline-commented-native-config.log | 101 + .../restore-generic-numeral-swallowing.log | 103 + .../silence-unsupported-lean-import-tail.log | 85 + .../skip-malformed-character-refusal.log | 50 + .../normal/truncate-primed-lean-imports.log | 73 + .../optimized/baseline-identity.log | 50 + .../canonical-unicode-boundary-weakened.log | 50 + .../optimized/disable-axiom-category.log | 156 ++ .../optimized/disable-macro-gap-category.log | 104 + .../optimized/disable-native-category.log | 232 ++ .../disable-placeholder-category.log | 224 ++ .../disable-unchecked-declaration-refusal.log | 110 + .../discard-canonical-lexical-errors.log | 58 + .../discard-nested-string-code-holes.log | 66 + .../drop-escaped-constant-normalization.log | 157 ++ .../optimized/drop-lean-dependencies.log | 106 + .../drop-literal-import-operands.log | 77 + .../optimized/empty-lean-findings.log | 811 +++++++ .../ignore-canonical-metadata-shape.log | 58 + .../miss-escaped-placeholder-helpers.log | 68 + ...miss-multiline-commented-native-config.log | 101 + .../restore-generic-numeral-swallowing.log | 103 + .../silence-unsupported-lean-import-tail.log | 85 + .../skip-malformed-character-refusal.log | 50 + .../truncate-primed-lean-imports.log | 73 + .../evidence/lexer698-initial/receipt.json | 842 +++++++ .../selected-test_auditor.py.txt | 451 ++++ .../lexer698-initial/source/auditor.py | 366 ++++ .../lexer698-initial/source/canonical_lean.py | 621 ++++++ .../lexer698-initial/source/mutation_test.py | 166 ++ .../lexer698-initial/source/source_checks.py | 319 +++ .../source/tests/test_auditor.py | 690 ++++++ .../source/tests/test_mutation_runner.py | 44 + .../math514/layer_a/evidence/lexer698-red.log | 23 + .../evidence/lexer698-working-summary.json | 1897 ++++++++++++++++ .../lifecycle-existing-harness-normal.log | 8 + .../lifecycle-existing-harness-optimized.log | 8 + .../LIFECYCLE_REPORT.md | 25 + .../SOURCE_SHA256.json | 7 + .../body-placeholder-weakening.log | 33 + .../actual-source-controls/identity.log | 6 + .../importerror-setup.log | 15 + .../actual-source-controls/receipts.json | 258 +++ .../allow-boolean-counts-first-attempt.log | 62 + .../allow-boolean-counts.log | 30 + .../allow-complete-duplicate-receipt.log | 18 + ...llow-duplicate-direct-assertion-events.log | 18 + .../allow-duplicate-method-ids.log | 18 + ...low-final-duplicate-population-receipt.log | 18 + .../allow-lifecycle-body-invocation.log | 30 + .../baseline-source-sha256.json | 12 + .../benign-setup-assertion.log | 15 + .../credit-lifecycle-assertions.log | 42 + .../credit-synthetic-body-callback.log | 18 + .../drop-body-entry-accounting.log | 20 + .../drop-external-population-binding.log | 18 + .../drop-schema-requirement.log | 18 + .../evidence-index.json | 70 + .../final-accounting-source-controls.json | 122 ++ .../body-placeholder-weakening.log | 33 + .../final-actual-source-controls/identity.log | 6 + .../importerror-setup.log | 15 + .../receipts.json | 304 +++ ...ocused-tests-with-assertion-provenance.log | 13 + .../final-focused-tests.log | 12 + .../final-forged-receipts-normal.log | 6 + .../green-dispatch-hook.log | 6 + .../green-external-population.log | 6 + .../green-focused-tests.log | 11 + .../green-forged-subtest-events.log | 6 + .../green-lifecycle-invokes-body.log | 6 + .../green-synthetic-callback.log | 6 + .../harness-source-controls-initial.json | 1373 ++++++++++++ .../harness-source-controls.json | 1373 ++++++++++++ .../ignore-completed-population.log | 30 + .../ignore-subtest-event-count.log | 18 + .../ignore-subtest-phase.log | 18 + .../independent-lifecycle-review.json | 79 + .../lose-method-decorators.log | 30 + .../new-obligation-source-controls.json | 207 ++ .../optimized-focused-tests.log | 13 + .../body-placeholder-weakening.log | 33 + .../identity.log | 6 + .../importerror-setup.log | 15 + .../receipts.json | 288 +++ .../pre-external-population/mutation_test.py | 355 +++ .../tests/test_mutation_runner.py | 147 ++ .../red-assertion-event-provenance.log | 17 + .../red-body-scoped-subtests.log | 58 + .../red-external-population.log | 17 + .../red-focused-tests.log | 148 ++ .../red-lifecycle-invokes-body.log | 30 + .../red-setup-false-kill.json | 13 + .../run-final-accounting-source-controls.py | 40 + .../run-harness-source-controls.py | 47 + .../run-new-obligation-source-controls.py | 41 + .../BUILD_REPORT.json | 976 +++++++++ .../BUILD_REPORT.md | 35 + .../EVIDENCE_PATH_MAP.json | 1041 +++++++++ .../PUBLICATION.md | 18 + .../TOOLING_REGISTRY.md | 37 + .../LEXER_PROVENANCE.json | 36 + .../evidence/pre-canonical698-source/PLAN.md | 20 + .../pre-canonical698-source/README.md | 119 + .../SNAPSHOT_BINDING.json | 265 +++ .../evidence/pre-canonical698-source/SPEC.md | 35 + .../pre-canonical698-source/auditor.py | 366 ++++ .../pre-canonical698-source/canonical_lean.py | 476 ++++ .../allow-arbitrary-foundation-set.log | 92 + .../allow-incomplete-classification.log | 80 + .../allow-negative-dynamic-powers.log | 90 + .../allow-nonmath-dependency-values.log | 80 + .../allow-protected-name-rebinding.log | 81 + .../allow-python-division.log | 81 + .../allow-quarantine-dependency.log | 114 + .../allow-reflective-attributes.log | 81 + .../allow-relabeled-source.log | 88 + .../allow-symlink-files.log | 80 + .../allow-unbound-nonvacuity.log | 80 + .../allow-unknown-classification.log | 80 + .../allow-unknown-python-calls.log | 126 ++ .../allow-unpinned-external-source.log | 80 + .../allow-unreadable-files.log | 80 + ...-unsupported-source-extension-language.log | 90 + .../always-report-static-pass.log | 403 ++++ .../baseline.log | 75 + .../canonical-unicode-boundary-weakened.log | 81 + ...late-status-json-booleans-and-integers.log | 80 + .../disable-axiom-category.log | 125 ++ .../disable-content-hash-check.log | 88 + .../disable-exact-python-profile.log | 315 +++ .../disable-float-literal-category.log | 90 + .../disable-macro-gap-category.log | 126 ++ .../disable-native-category.log | 254 +++ .../disable-placeholder-category.log | 230 ++ .../disable-reflective-loader-attributes.log | 90 + .../disable-unchecked-declaration-refusal.log | 132 ++ .../drop-escaped-constant-normalization.log | 179 ++ .../drop-lean-dependencies.log | 128 ++ .../drop-literal-import-operands.log | 99 + .../drop-python-submodule-candidates.log | 80 + .../empty-final-findings.log | 651 ++++++ .../empty-lean-findings.log | 756 +++++++ .../ignore-contradictory-hypotheses.log | 80 + .../ignore-quarantine-boundary.log | 80 + .../ignore-retained-finding-counts.log | 88 + .../miss-escaped-placeholder-helpers.log | 90 + ...miss-multiline-commented-native-config.log | 123 ++ .../restore-reflective-builtin-loader-gap.log | 101 + .../restore-shadowed-fractions-exemption.log | 88 + .../silence-unsupported-lean-import-tail.log | 107 + .../skip-all-but-first-file.log | 227 ++ .../skip-binary-proof-bindings.log | 88 + .../skip-malformed-character-refusal.log | 120 + ...p-mapped-external-language-requirement.log | 80 + .../skip-nonmath-review.log | 80 + .../skip-path-validation.log | 135 ++ ...kip-retained-text-language-requirement.log | 80 + .../skip-status-evidence.log | 96 + .../skip-unreadable-file.log | 88 + .../skip-vacuity-coverage.log | 80 + .../truncate-primed-lean-imports.log | 95 + .../evidence/g0-admission-final.json | 748 +++++++ .../pre-canonical698-source/mutation_test.py | 162 ++ .../pre-canonical698-source/source_checks.py | 310 +++ .../tests/test_auditor.py | 651 ++++++ .../tests/test_mutation_runner.py | 44 + .../SNAPSHOT_BINDING.json | 17 + .../evidence/lexer698-checks/controller.py | 128 ++ .../mutation_test.py | 166 ++ .../tests/test_mutation_runner.py | 44 + .../FETCH_METADATA.json | 47 + .../public-main698-38312e16/PR_METADATA.json | 10 + .../independent-review/REVIEW.md | 12 + .../independent-review/macro-string-lean.log | 2 + .../independent-review/macro-string.lean.txt | 5 + .../numeral-command-lean.log | 1 + .../numeral-command.lean.txt | 3 + .../independent-review/radix-command.lean.txt | 6 + .../scientific-command.lean.txt | 3 + .../public-main698-38312e16/layer_a_scan.py | 621 ++++++ .../math514/layer_a/mutation_test.py | 314 ++- .../math514/layer_a/source_checks.py | 11 +- .../math514/layer_a/tests/test_auditor.py | 39 + .../layer_a/tests/test_mutation_runner.py | 130 ++ 222 files changed, 34813 insertions(+), 1433 deletions(-) create mode 100644 cbz/contributions/math514/layer_a/auditor-lexer-postfix-review.md create mode 100644 cbz/contributions/math514/layer_a/evidence/composed-admission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/existing-harness-current-receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-admission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-api-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-api-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-checks/controller.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-green.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/baseline-identity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/canonical_lean.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lexer698-working-summary.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/evidence-index.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-external-population.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-external-population.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/EVIDENCE_PATH_MAP.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/PUBLICATION.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/TOOLING_REGISTRY.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/LEXER_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/PLAN.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SNAPSHOT_BINDING.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/canonical_lean.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-native-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-final-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-path-validation.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/FETCH_METADATA.json create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/PR_METADATA.json create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/REVIEW.md create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string-lean.log create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string.lean.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command-lean.log create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command.lean.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/radix-command.lean.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/scientific-command.lean.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/layer_a_scan.py diff --git a/cbz/contributions/math514/layer_a/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/BUILD_REPORT.json index eed62cd70..7b62898cb 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.json +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.json @@ -1,976 +1,19 @@ { - "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." + "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/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/BUILD_REPORT.md index fa410d92e..fd7355016 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.md +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.md @@ -1,35 +1,9 @@ -# Layer A auditor build report +# Layer A composed 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 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. -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. +`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. -## Repairs and red evidence +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. -- 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. +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_PATH_MAP.json b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json index 325583391..fbcc64795 100644 --- a/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json +++ b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json @@ -1,577 +1,1221 @@ { - "current_G0": { + "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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-final-mutation-logs/always-report-static-pass.log", - "relative_publication_path": "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", - "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + "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-final.json", - "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", - "source_generation": "current contribution files", + "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": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", - "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", - "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" } }, - "execution_root": "/workspace/cbz-0/tools/layer_a", - "first_admission_repair_G0": { + "historical_G0_027": { "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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-fix-mutation-logs/always-report-static-pass.log", - "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", - "sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140" + "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-fix.json", - "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", - "source_generation": "evidence/pre-import-literal-fix-source/", + "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": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", - "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", - "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "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": [ { diff --git a/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json index 5e6b3930c..e43fbb062 100644 --- a/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json +++ b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json @@ -1,27 +1,84 @@ { - "bytes": 17697, + "adapter_boundary": "Minimal seven-field metadata adaptation; unsupported shape/lexical errors refuse; no second lexical engine", + "bytes": 24721, "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", + "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": "0a113896aff4c999111193359c38906ff61e52e8", - "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "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": "9393cf7ef6d0665c232556f8df745463f83c9f5e", - "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", - "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", - "prior_receipt": "evidence/g0-final.json" + "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": { - "behavioral_tests": 28, - "mutants": 39 + "a3_mutants": 23, + "behavioral_tests_per_mode": 72, + "lexical_mutants": 66, + "python_modes": [ + "normal", + "optimized" + ] }, - "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", + "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", @@ -30,7 +87,7 @@ "main" ], "used_interfaces": [ - "lex_tokens(text)", + "lex_tokens(text, errors): seven fields", "_CHAR_LIT" ] } diff --git a/cbz/contributions/math514/layer_a/PUBLICATION.md b/cbz/contributions/math514/layer_a/PUBLICATION.md index 535204456..598783b94 100644 --- a/cbz/contributions/math514/layer_a/PUBLICATION.md +++ b/cbz/contributions/math514/layer_a/PUBLICATION.md @@ -1,10 +1,12 @@ # 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. +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. -Completed focused same-provider postfix review: all five findings and literal operands resolved; no remaining scoped admission blocker. Reports: auditor-postfix-review.md +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. -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. +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/`): @@ -16,3 +18,8 @@ python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /ab 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/README.md b/cbz/contributions/math514/layer_a/README.md index f40e80af5..72af659f6 100644 --- a/cbz/contributions/math514/layer_a/README.md +++ b/cbz/contributions/math514/layer_a/README.md @@ -1,6 +1,6 @@ # 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). +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 @@ -11,7 +11,7 @@ python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admissio 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. +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. @@ -110,10 +110,23 @@ A file with `status_evidence: true` contains exactly required fields `schema_ver ## 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. +`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 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`. +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/SPEC.md b/cbz/contributions/math514/layer_a/SPEC.md index 80e7941a8..2004b85a1 100644 --- a/cbz/contributions/math514/layer_a/SPEC.md +++ b/cbz/contributions/math514/layer_a/SPEC.md @@ -10,7 +10,7 @@ Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_ ## 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. +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. @@ -30,6 +30,15 @@ No source scanner proves arbitrary mathematics, satisfiability, bound strength, 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. +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/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md index 70454357d..b86157c7b 100644 --- a/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md +++ b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md @@ -10,14 +10,17 @@ Root685 owns canonical STATUS/GOVERNANCE/TOOLING integration. This contribution | 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` | +| 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 | -Completed focused same-provider postfix review: all five findings and literal operands resolved; no remaining scoped admission blocker. Reports: auditor-postfix-review.md +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: @@ -30,8 +33,13 @@ Choose fresh controller output paths. Raw receipts retain execution-environment 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. +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/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/canonical_lean.py b/cbz/contributions/math514/layer_a/canonical_lean.py index 0a113896a..2eee3a220 100644 --- a/cbz/contributions/math514/layer_a/canonical_lean.py +++ b/cbz/contributions/math514/layer_a/canonical_lean.py @@ -26,7 +26,7 @@ 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`` +``«`` 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. @@ -40,7 +40,9 @@ 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 +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. @@ -52,6 +54,12 @@ --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 @@ -62,7 +70,6 @@ import re import subprocess import sys -import unicodedata VIOLATION_EXACT = { "sorry": "A1", @@ -95,9 +102,12 @@ # ``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_'!?])") +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![\w'!?])") _EXCLUDED_LETTERS = {"λ", "Π", "Σ"} -_CHAR_LIT = re.compile(r"'(?:\\(?:u\{[0-9a-fA-F]+\}|x[0-9a-fA-F]{2}|.)|[^\\'\n])'") +_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: @@ -105,19 +115,18 @@ def _is_letter(ch: str) -> bool: 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 + 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 + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A or o == 0x2C7C def _id_start(ch: str) -> bool: @@ -125,17 +134,87 @@ def _id_start(ch: str) -> bool: def _id_rest(ch: str) -> bool: - return ch == "_" or ch == "'" or ch == "!" or ch == "?" or ch.isdigit() \ + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or '0' <= ch <= '9' \ 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. +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 ``+`` on its line; ``follow`` is the text after it. + 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 @@ -147,7 +226,8 @@ def lex_tokens(text: str, errors: list | None = None): line = 1 col = 1 line_has_token = False - stack: list[list] = [["code", None]] + last_code_char = '' + stack: list[list] = [["code", 0 if _until_brace else None]] if errors is None: errors = [] @@ -227,13 +307,23 @@ def read_ident_tail(parts: list[str]): 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] @@ -246,12 +336,22 @@ def read_ident_tail(parts: list[str]): 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) - advance(m.end() - i if m else 1) + # 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 @@ -265,7 +365,10 @@ def read_ident_tail(parts: list[str]): 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] + 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 @@ -285,27 +388,33 @@ def read_ident_tail(parts: list[str]): 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 - 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] + 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(): - while i < n and (text[i].isalnum() or text[i] in "._"): - advance(1) + # 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": @@ -313,8 +422,10 @@ def read_ident_tail(parts: list[str]): break -def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = ""): +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 @@ -324,7 +435,7 @@ def classify_token(name: str, line_start: bool, plus_before: bool = False, follo if last in REVIEW_COMPONENT: return last, REVIEW_COMPONENT[last], "review" return None - if name == "native" and (plus_before or _NATIVE_TRUE.match(follow)): + 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: @@ -358,9 +469,11 @@ def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: 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: + 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"))) @@ -374,13 +487,24 @@ def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: 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): + 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 @@ -388,7 +512,11 @@ def iter_fs(paths): 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], + 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"): @@ -396,24 +524,41 @@ def git_lean_blobs(repo: str, rev: str): continue meta, path = rec.split(b"\t", 1) mode, typ, sha = meta.split() - p = path.decode("utf-8", "surrogateescape") + 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(["git", "-C", repo, "cat-file", "--batch"], - stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=env) + 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) - proc.stdout.read(1) + trailer = proc.stdout.read(1) + if len(data) != size or trailer != b"\n": + raise OSError(f"truncated git blob: {p}") yield p, sha, data - finally: 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() @@ -450,7 +595,7 @@ def main(argv=None) -> int: undecodable.append(rel) continue findings += scan_text(text, rel) - except (OSError, subprocess.CalledProcessError) as exc: + 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(",")) 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/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/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/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-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/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/mutation_test.py b/cbz/contributions/math514/layer_a/mutation_test.py index 7e8b544f8..a61f83c8d 100644 --- a/cbz/contributions/math514/layer_a/mutation_test.py +++ b/cbz/contributions/math514/layer_a/mutation_test.py @@ -4,6 +4,8 @@ import ast from datetime import datetime, timezone import hashlib +import functools +import io import json import os from pathlib import Path @@ -12,18 +14,23 @@ 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',"if ch in _EXCLUDED_LETTERS:","if False:"), + ('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',"error('unsupported or unterminated character literal'); advance(i + 1)","advance(i + 1)"), + ('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)):"), @@ -86,8 +93,241 @@ def parse_test_result(output, returncode): return tests,failures,errors -def run_one(name, filename, transform, output_dir): - """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" +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 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 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): + 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 + 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: + 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) + 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: @@ -100,24 +340,36 @@ def run_one(name, filename, transform, output_dir): 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'] + 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: - p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) - except subprocess.TimeoutExpired as exc: + 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') - 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()), + 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())} @@ -130,12 +382,28 @@ def main(argv=None): 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_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') - tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + 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.returncode==0 and tests: + if baseline_outcome=='SURVIVED': for name,filename,before,after in MUTATIONS: def transform(source,before=before,after=after): if source.count(before)!=1: @@ -145,11 +413,11 @@ def transform(source,before=before,after=after): 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) + 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,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + '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'} @@ -159,4 +427,6 @@ def transform(source,before=before,after=after): 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 index eb69975d1..735fb5a78 100644 --- a/cbz/contributions/math514/layer_a/source_checks.py +++ b/cbz/contributions/math514/layer_a/source_checks.py @@ -150,11 +150,20 @@ def check_lean(text): 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): + 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] diff --git a/cbz/contributions/math514/layer_a/tests/test_auditor.py b/cbz/contributions/math514/layer_a/tests/test_auditor.py index 2e4e6f30c..b81791d29 100644 --- a/cbz/contributions/math514/layer_a/tests/test_auditor.py +++ b/cbz/contributions/math514/layer_a/tests/test_auditor.py @@ -125,6 +125,26 @@ def test_lean_vacuity_candidates_have_declaration_location(self): 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'], []) @@ -273,6 +293,25 @@ def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): 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'}) diff --git a/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py index ad04c013f..f181aa231 100644 --- a/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py +++ b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py @@ -40,5 +40,135 @@ def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): 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') + + if __name__=='__main__': unittest.main() From eedb46c36e664b66684a701c3adeacb70f8fac2f Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Thu, 29 Oct 2026 15:35:51 -0500 Subject: [PATCH 3/5] Refuse lazy or non-None test bodies in auditor mutation grading Use a synchronous None-return selected-method profile and refuse wrapped suspended functions before execution. Reject all non-None returns without evaluating or advancing them. Preserve RED, four focused controls/two modes, exact guard evidence and applicable scanner/kernel history. --- .../math514/layer_a/BUILD_REPORT.json | 62 +- .../math514/layer_a/BUILD_REPORT.md | 14 +- .../math514/layer_a/EVIDENCE_PATH_MAP.json | 1258 ++++++++++++ .../math514/layer_a/PUBLICATION.md | 26 +- cbz/contributions/math514/layer_a/README.md | 17 +- cbz/contributions/math514/layer_a/SPEC.md | 17 +- .../math514/layer_a/TOOLING_REGISTRY.md | 54 +- .../evidence/lazy-body-profile/REPORT.md | 33 + .../evidence/lazy-body-profile/SHA256.json | 200 ++ .../current-composed-admission.json | 85 + .../lazy-body-profile/evidence-index.json | 252 +++ .../lazy-body-profile/frozen-manifest.json | 24 + .../lazy-body-profile/frozen/mutation_test.py | 467 +++++ .../frozen/tests/test_mutation_runner.py | 266 +++ .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 85 + .../return-empty-string.json | 83 + .../return-false.json | 83 + .../return-scalar.json | 85 + .../return-zero.json | 83 + .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 83 + .../return-empty-string.json | 83 + .../return-false.json | 83 + .../return-scalar.json | 83 + .../return-zero.json | 83 + .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 85 + .../return-empty-string.json | 85 + .../return-false.json | 85 + .../return-scalar.json | 85 + .../return-zero.json | 85 + .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 85 + .../return-empty-string.json | 83 + .../return-false.json | 83 + .../return-scalar.json | 85 + .../return-zero.json | 83 + .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 83 + .../return-empty-string.json | 83 + .../return-false.json | 83 + .../return-scalar.json | 83 + .../return-zero.json | 83 + .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 85 + .../return-empty-string.json | 85 + .../return-false.json | 85 + .../return-scalar.json | 85 + .../return-zero.json | 85 + .../lazy-body-profile/layer-a-lazy-body.patch | 189 ++ .../return-async-generator.json | 85 + .../return-coroutine.json | 85 + .../return-custom-awaitable.json | 83 + .../return-generator.json | 85 + .../return-async-generator.json | 83 + .../return-coroutine.json | 83 + .../return-custom-awaitable.json | 83 + .../return-generator.json | 83 + .../return-async-generator.json | 85 + .../return-coroutine.json | 90 + .../return-custom-awaitable.json | 85 + .../return-generator.json | 85 + .../method-async-generator.json | 85 + .../method-coroutine.json | 85 + .../method-generator.json | 85 + .../wrapped-async-generator.json | 35 + .../wrapped-coroutine.json | 35 + .../wrapped-generator.json | 35 + .../wrapped-lazy-middle.json | 85 + .../return-async-generator.json | 85 + .../return-coroutine.json | 85 + .../return-custom-awaitable.json | 83 + .../return-generator.json | 85 + .../return-async-generator.json | 83 + .../return-coroutine.json | 83 + .../return-custom-awaitable.json | 83 + .../return-generator.json | 83 + .../return-async-generator.json | 85 + .../return-coroutine.json | 90 + .../return-custom-awaitable.json | 85 + .../return-generator.json | 85 + .../method-async-generator.json | 85 + .../method-coroutine.json | 85 + .../method-generator.json | 85 + .../wrapped-async-generator.json | 35 + .../wrapped-coroutine.json | 35 + .../wrapped-generator.json | 35 + .../wrapped-lazy-middle.json | 85 + .../new-guard-source-controls.json | 798 ++++++++ ...normal-accept-custom-awaitable-returns.log | 18 + .../normal-accept-lazy-return-objects.log | 54 + ...mal-advance-coroutine-instead-of-close.log | 15 + ...rmal-drop-pristine-lazy-method-refusal.log | 33 + .../method-async-generator.json | 35 + .../normal-fixtures/method-coroutine.json | 35 + .../normal-fixtures/method-generator.json | 35 + .../normal-fixtures/ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 83 + .../return-async-generator.json | 85 + .../normal-fixtures/return-coroutine.json | 85 + .../return-custom-awaitable.json | 85 + .../normal-fixtures/return-generator.json | 85 + .../wrapped-async-generator.json | 35 + .../normal-fixtures/wrapped-coroutine.json | 35 + .../normal-fixtures/wrapped-generator.json | 35 + .../normal-fixtures/wrapped-lazy-middle.json | 35 + .../normal-ignore-middle-wraps-layers.log | 15 + .../normal-lazy-controls.log | 9 + .../normal-middle-decorator-control.log | 6 + ...imized-accept-custom-awaitable-returns.log | 18 + .../optimized-accept-lazy-return-objects.log | 54 + ...zed-advance-coroutine-instead-of-close.log | 15 + ...ized-drop-pristine-lazy-method-refusal.log | 33 + .../method-async-generator.json | 35 + .../optimized-fixtures/method-coroutine.json | 35 + .../optimized-fixtures/method-generator.json | 35 + .../optimized-fixtures/ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 83 + .../return-async-generator.json | 85 + .../optimized-fixtures/return-coroutine.json | 85 + .../return-custom-awaitable.json | 85 + .../optimized-fixtures/return-generator.json | 85 + .../wrapped-async-generator.json | 35 + .../optimized-fixtures/wrapped-coroutine.json | 35 + .../optimized-fixtures/wrapped-generator.json | 35 + .../wrapped-lazy-middle.json | 35 + .../optimized-ignore-middle-wraps-layers.log | 15 + .../optimized-lazy-controls.log | 9 + .../run-new-guard-source-controls.py | 40 + .../source/mutation_test.py | 471 +++++ .../source/tests/test_mutation_runner.py | 254 +++ .../lazy-body-profile/mixed-generator-red.log | 16 + .../new-guard-source-controls.json | 542 ++++++ .../normal-accept-falsey-non-none-returns.log | 42 + .../normal-accept-non-none-return-objects.log | 67 + .../method-async-generator.json | 35 + .../normal-fixtures/method-coroutine.json | 35 + .../normal-fixtures/method-generator.json | 35 + .../normal-fixtures/ordinary-none-kill.json | 83 + .../normal-fixtures/ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 85 + .../return-async-generator.json | 85 + .../normal-fixtures/return-coroutine.json | 85 + .../return-custom-awaitable.json | 85 + .../normal-fixtures/return-empty-string.json | 85 + .../normal-fixtures/return-false.json | 85 + .../normal-fixtures/return-generator.json | 85 + .../normal-fixtures/return-scalar.json | 85 + .../normal-fixtures/return-zero.json | 85 + .../wrapped-async-generator.json | 35 + .../normal-fixtures/wrapped-coroutine.json | 35 + .../normal-fixtures/wrapped-generator.json | 35 + .../normal-fixtures/wrapped-lazy-middle.json | 35 + .../normal-iterate-unknown-return-objects.log | 15 + .../normal-lazy-controls.log | 9 + ...timized-accept-falsey-non-none-returns.log | 42 + ...timized-accept-non-none-return-objects.log | 67 + .../method-async-generator.json | 35 + .../optimized-fixtures/method-coroutine.json | 35 + .../optimized-fixtures/method-generator.json | 35 + .../ordinary-none-kill.json | 83 + .../optimized-fixtures/ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 85 + .../return-async-generator.json | 85 + .../optimized-fixtures/return-coroutine.json | 85 + .../return-custom-awaitable.json | 85 + .../return-empty-string.json | 85 + .../optimized-fixtures/return-false.json | 85 + .../optimized-fixtures/return-generator.json | 85 + .../optimized-fixtures/return-scalar.json | 85 + .../optimized-fixtures/return-zero.json | 85 + .../wrapped-async-generator.json | 35 + .../optimized-fixtures/wrapped-coroutine.json | 35 + .../optimized-fixtures/wrapped-generator.json | 35 + .../wrapped-lazy-middle.json | 35 + ...timized-iterate-unknown-return-objects.log | 15 + .../optimized-lazy-controls.log | 9 + .../red-fixtures/method-async-generator.json | 83 + .../red-fixtures/method-coroutine.json | 83 + .../red-fixtures/method-generator.json | 83 + .../red-fixtures/ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 83 + .../red-fixtures/return-async-generator.json | 83 + .../red-fixtures/return-coroutine.json | 83 + .../red-fixtures/return-custom-awaitable.json | 83 + .../red-fixtures/return-generator.json | 83 + .../red-fixtures/wrapped-async-generator.json | 83 + .../red-fixtures/wrapped-coroutine.json | 83 + .../red-fixtures/wrapped-generator.json | 83 + .../lazy-body-profile/red-lazy-controls.log | 129 ++ .../red-mixed-generator-false-kill.json | 79 + .../ordinary-none-kill.json | 83 + .../ordinary-pass.json | 63 + .../ordinary-unknown-iterable.json | 83 + .../return-empty-string.json | 83 + .../return-false.json | 83 + .../return-scalar.json | 83 + .../return-zero.json | 83 + .../lazy-body-profile/red-none-profile.log | 66 + .../run-new-guard-source-controls.py | 39 + .../shared/independent-lazy-body-review.json | 78 + .../original-method-shape-applicability.json | 864 +++++++++ .../BUILD_REPORT.json | 19 + .../BUILD_REPORT.md | 9 + .../EVIDENCE_PATH_MAP.json | 1685 +++++++++++++++++ .../PUBLICATION.md | 25 + .../README.md | 132 ++ .../pre-lazy-body-profile-publication/SPEC.md | 44 + .../TOOLING_REGISTRY.md | 45 + .../math514/layer_a/mutation_test.py | 39 +- .../layer_a/tests/test_mutation_runner.py | 92 + 218 files changed, 20546 insertions(+), 69 deletions(-) create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/SHA256.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/current-composed-admission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/evidence-index.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen-manifest.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/layer-a-lazy-body.patch create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/mixed-generator-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/new-guard-source-controls.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-non-none-return-objects.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-lazy-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-lazy-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-generator.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-lazy-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-mixed-generator-false-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile.log create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/run-new-guard-source-controls.py create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/independent-lazy-body-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/original-method-shape-applicability.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/PUBLICATION.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md diff --git a/cbz/contributions/math514/layer_a/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/BUILD_REPORT.json index 7b62898cb..0015aa472 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.json +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.json @@ -1,19 +1,53 @@ { "actual_repository_G1": "NOT_RUN", - "current_composed_receipt": "evidence/composed-admission.json", - "current_lexer_component_receipt": "evidence/lexer698-admission.json", - "current_method_inventory": 83, + "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_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", + "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, - "reused_historical_mutants": 38, - "reused_unchanged_auditor_methods": 27, - "schema_version": 1 + "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/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/BUILD_REPORT.md index fd7355016..3aaa805c0 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.md +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.md @@ -1,9 +1,13 @@ -# Layer A composed build report +# Layer A composed build report — lazy-body successor -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. +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. -`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. +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 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 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 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. +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_PATH_MAP.json b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json index fbcc64795..d24de6bd3 100644 --- a/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json +++ b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json @@ -579,6 +579,1264 @@ } }, "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", diff --git a/cbz/contributions/math514/layer_a/PUBLICATION.md b/cbz/contributions/math514/layer_a/PUBLICATION.md index 598783b94..e9347b01b 100644 --- a/cbz/contributions/math514/layer_a/PUBLICATION.md +++ b/cbz/contributions/math514/layer_a/PUBLICATION.md @@ -1,25 +1,19 @@ -# Exact-scope auditor publication package +# Exact-scope auditor lazy-body successor overlay -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. +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. -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. +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. -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. +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. -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. +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. -From this complete contribution directory (or after moving the complete layout to `tools/cbz/exact_scope/`): +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. -```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 -``` +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. -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. +This change adds an inline ordinary_sync_method predicate in mutation_test.py; it introduces no additional runtime module or dependency. -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. +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. - -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. +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 index 72af659f6..f41ff570b 100644 --- a/cbz/contributions/math514/layer_a/README.md +++ b/cbz/contributions/math514/layer_a/README.md @@ -114,7 +114,7 @@ A file with `status_evidence: true` contains exactly required fields `schema_ver 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 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. @@ -129,4 +129,17 @@ Canonical lexical diagnostics are deduplicated by their exact `(line, column, ki 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. +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/SPEC.md b/cbz/contributions/math514/layer_a/SPEC.md index 2004b85a1..f27f7bf6a 100644 --- a/cbz/contributions/math514/layer_a/SPEC.md +++ b/cbz/contributions/math514/layer_a/SPEC.md @@ -30,7 +30,7 @@ No source scanner proves arbitrary mathematics, satisfiability, bound strength, 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. +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. @@ -41,4 +41,17 @@ Canonical lexical diagnostics are deduplicated by their exact `(line, column, ki 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. +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/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md index b86157c7b..3dd6cfb75 100644 --- a/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md +++ b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md @@ -1,45 +1,43 @@ # 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. +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 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: +| 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 | -```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 -``` +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. -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 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 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 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 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. +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. -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. +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. -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. +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 +``` -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. +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. -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. +| Updated registered file | SHA256 | +|---|---| +| `mutation_test.py` | `840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f` | +| `tests/test_mutation_runner.py` | `9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3` | 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/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/mutation_test.py b/cbz/contributions/math514/layer_a/mutation_test.py index a61f83c8d..576ee6193 100644 --- a/cbz/contributions/math514/layer_a/mutation_test.py +++ b/cbz/contributions/math514/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 @@ def classify_test_result(value, code, expected_ids=None): 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 @@ def leaves(node): 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 @@ def execute_test_suite(suite): 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 @@ def execute_test_suite(suite): 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 @@ def body(*args,_test=test,_original=original,_id=canonical,**kwargs): _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 diff --git a/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py index f181aa231..1d1e471d3 100644 --- a/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py +++ b/cbz/contributions/math514/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 @@ def test_missing_forged_or_noninteger_receipts_fail_closed(self): 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() From 19b8e20a698775bef1813c5ceac91e2be9119bde Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Thu, 29 Oct 2026 16:03:11 -0500 Subject: [PATCH 4/5] Preserve numeral boundaries in declaration metadata --- .../math514/layer_a/BUILD_REPORT.json | 105 +- .../math514/layer_a/BUILD_REPORT.md | 8 +- .../math514/layer_a/EVIDENCE_PATH_MAP.json | 18 +- .../math514/layer_a/LEXER_PROVENANCE.json | 5 +- .../layer_a/NUMERIC_DECLARATION_FIX.md | 26 + .../math514/layer_a/PUBLICATION.md | 8 +- cbz/contributions/math514/layer_a/README.md | 12 +- cbz/contributions/math514/layer_a/SPEC.md | 10 +- .../math514/layer_a/TOOLING_REGISTRY.md | 23 +- .../ORCHESTRATION_CORRECTION.md | 1 + .../declaration-numeric/ORIGIN_PATH_MAP.json | 16 + .../declaration-numeric/applicability.json | 21 + .../current-composed-admission.json | 54 + .../direct-entry-new-controls.log | 12 + .../green-new-controls-initial.json | 232 ++ .../green-new-controls-initial.log | 32 + .../declaration-numeric/new-mutants.json | 20 + .../normal/affected-baseline.json | 794 ++++ .../normal/affected-baseline.log | 57 + .../declaration-numeric/normal/campaign.json | 3393 ++++++++++++++++ .../normal/child-optimization-probe.json | 11 + .../discard-metadata-numeral-tokens.log | 102 + .../overshoot-metadata-numeral-boundary.log | 617 +++ ...re-metadata-generic-numeral-swallowing.log | 590 +++ .../optimized/affected-baseline.json | 794 ++++ .../optimized/affected-baseline.log | 57 + .../optimized/campaign.json | 3394 +++++++++++++++++ .../optimized/child-optimization-probe.json | 11 + .../discard-metadata-numeral-tokens.log | 102 + .../overshoot-metadata-numeral-boundary.log | 617 +++ ...re-metadata-generic-numeral-swallowing.log | 590 +++ .../predecessor-metadata/BUILD_REPORT.json | 53 + .../predecessor-metadata/BUILD_REPORT.md | 13 + .../EVIDENCE_PATH_MAP.json | 2943 ++++++++++++++ .../LEXER_PROVENANCE.json | 93 + .../predecessor-metadata/PUBLICATION.md | 19 + .../predecessor-metadata/README.md | 145 + .../predecessor-metadata/SPEC.md | 57 + .../predecessor-metadata/TOOLING_REGISTRY.md | 43 + .../declaration-numeric/red-new-controls.json | 407 ++ .../declaration-numeric/red-new-controls.log | 545 +++ .../declaration-numeric/red-test-source.py | 770 ++++ .../registration-move-applicability.json | 8 + .../review/design-review.json | 26 + .../review/final-review.json | 127 + .../run_affected.initial.py | 49 + .../run_affected.recorded.py | 64 + .../test_auditor-before-registration-move.py | 770 ++++ .../math514/layer_a/mutation_test.py | 3 + .../math514/layer_a/source_checks.py | 14 +- .../math514/layer_a/tests/test_auditor.py | 82 + 51 files changed, 17883 insertions(+), 80 deletions(-) create mode 100644 cbz/contributions/math514/layer_a/NUMERIC_DECLARATION_FIX.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORCHESTRATION_CORRECTION.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORIGIN_PATH_MAP.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/applicability.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/current-composed-admission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/direct-entry-new-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/new-mutants.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/campaign.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/child-optimization-probe.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/discard-metadata-numeral-tokens.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/overshoot-metadata-numeral-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/restore-metadata-generic-numeral-swallowing.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/campaign.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/child-optimization-probe.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/discard-metadata-numeral-tokens.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/overshoot-metadata-numeral-boundary.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/restore-metadata-generic-numeral-swallowing.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/EVIDENCE_PATH_MAP.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/LEXER_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/PUBLICATION.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/TOOLING_REGISTRY.md create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.log create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-test-source.py create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/registration-move-applicability.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/design-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/final-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.initial.py create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.recorded.py create mode 100644 cbz/contributions/math514/layer_a/evidence/declaration-numeric/test_auditor-before-registration-move.py diff --git a/cbz/contributions/math514/layer_a/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/BUILD_REPORT.json index 0015aa472..cafe23521 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.json +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.json @@ -1,53 +1,76 @@ { + "schema_version": 3, "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", + "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": 4, - "optimized": 4 + "normal": 52, + "optimized": 52 }, - "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, + "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, - "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, + "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_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", + "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, - "reused_historical_mutants": 38, - "reused_unchanged_auditor_methods": 27, - "schema_version": 1 + "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/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/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/BUILD_REPORT.md index 3aaa805c0..950f7ebd6 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.md +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.md @@ -1,13 +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. +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 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 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. -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. +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, 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. +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 index d24de6bd3..aab4514ac 100644 --- a/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json +++ b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json @@ -1,10 +1,9 @@ { "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" + "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": { @@ -2939,5 +2938,12 @@ "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." + "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/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json index e43fbb062..1793fc3c8 100644 --- a/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json +++ b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json @@ -2,7 +2,7 @@ "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", + "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", @@ -89,5 +89,6 @@ "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/PUBLICATION.md b/cbz/contributions/math514/layer_a/PUBLICATION.md index e9347b01b..186983c2c 100644 --- a/cbz/contributions/math514/layer_a/PUBLICATION.md +++ b/cbz/contributions/math514/layer_a/PUBLICATION.md @@ -1,16 +1,16 @@ # 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. +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 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. +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 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 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. -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. +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. diff --git a/cbz/contributions/math514/layer_a/README.md b/cbz/contributions/math514/layer_a/README.md index f41ff570b..9a0c6819e 100644 --- a/cbz/contributions/math514/layer_a/README.md +++ b/cbz/contributions/math514/layer_a/README.md @@ -110,11 +110,11 @@ A file with `status_evidence: true` contains exactly required fields `schema_ver ## 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. +`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 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 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. @@ -129,17 +129,17 @@ Canonical lexical diagnostics are deduplicated by their exact `(line, column, ki 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. +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 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. +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 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 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. -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. +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/SPEC.md b/cbz/contributions/math514/layer_a/SPEC.md index f27f7bf6a..4facf2a1f 100644 --- a/cbz/contributions/math514/layer_a/SPEC.md +++ b/cbz/contributions/math514/layer_a/SPEC.md @@ -30,7 +30,7 @@ No source scanner proves arbitrary mathematics, satisfiability, bound strength, 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. +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. @@ -41,17 +41,17 @@ Canonical lexical diagnostics are deduplicated by their exact `(line, column, ki 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. +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 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. +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 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 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. -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. +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/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md index 3dd6cfb75..e09f51213 100644 --- a/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md +++ b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md @@ -1,6 +1,6 @@ # 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`. +Root owns canonical registration and federation admission. This is the numeric-metadata successor overlay from published head `eedb46c36e664b66684a701c3adeacb70f8fac2f`. | Field | Value | |---|---| @@ -9,22 +9,22 @@ Root owns canonical registration and federation admission. This is the component | 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` | +| 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 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 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. -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. +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. @@ -39,5 +39,8 @@ Use fresh output paths only when a new execution is warranted. Rebuilding, copyi | Updated registered file | SHA256 | |---|---| -| `mutation_test.py` | `840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f` | -| `tests/test_mutation_runner.py` | `9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3` | +| `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/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/mutation_test.py b/cbz/contributions/math514/layer_a/mutation_test.py index 576ee6193..7780bf5d5 100644 --- a/cbz/contributions/math514/layer_a/mutation_test.py +++ b/cbz/contributions/math514/layer_a/mutation_test.py @@ -21,6 +21,9 @@ # 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 []:"), diff --git a/cbz/contributions/math514/layer_a/source_checks.py b/cbz/contributions/math514/layer_a/source_checks.py index 735fb5a78..8fa259ff2 100644 --- a/cbz/contributions/math514/layer_a/source_checks.py +++ b/cbz/contributions/math514/layer_a/source_checks.py @@ -3,7 +3,9 @@ from dataclasses import dataclass import re -from canonical_lean import lex_tokens as canonical_identifier_tokens, _CHAR_LIT as canonical_character_literal +from canonical_lean import (lex_tokens as canonical_identifier_tokens, + _CHAR_LIT as canonical_character_literal, + _NUMERAL as canonical_numeral_spelling) @dataclass(frozen=True) @@ -93,7 +95,15 @@ def literal(): advance(match.end()) else: error('unsupported or unterminated character literal'); advance(i + 1) - elif c.isalpha() or c == '_' or c.isdigit(): + 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 diff --git a/cbz/contributions/math514/layer_a/tests/test_auditor.py b/cbz/contributions/math514/layer_a/tests/test_auditor.py index b81791d29..40281fe28 100644 --- a/cbz/contributions/math514/layer_a/tests/test_auditor.py +++ b/cbz/contributions/math514/layer_a/tests/test_auditor.py @@ -686,5 +686,87 @@ def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): 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']) + + if __name__=='__main__': unittest.main() From 8958ee09a37d652ad2f533e10e4925367e0361bc Mon Sep 17 00:00:00 2001 From: Dylan Roy <249851642+d6g8k5htny-coder@users.noreply.github.com> Date: Thu, 29 Oct 2026 16:40:04 -0500 Subject: [PATCH 5/5] Close auditor source boundaries and bind test-body identities --- .../math514/layer_a/BUILD_REPORT.json | 184 +- .../math514/layer_a/BUILD_REPORT.md | 18 +- .../math514/layer_a/EVIDENCE_PATH_MAP.json | 36 +- .../math514/layer_a/GRADER_IDENTITY_FIX.md | 65 + .../math514/layer_a/PUBLICATION.md | 18 +- cbz/contributions/math514/layer_a/README.md | 24 +- .../math514/layer_a/REVIEW_BOUNDARY_FIX.md | 37 + cbz/contributions/math514/layer_a/SPEC.md | 22 +- .../math514/layer_a/TOOLING_REGISTRY.md | 45 +- cbz/contributions/math514/layer_a/auditor.py | 18 +- .../component-source-snapshots/ALIASES.json | 98 + .../component-source-snapshots/README.md | 7 + .../review-boundary-notebook/mutation_test.py | 478 +++ .../SOURCE_COMPOSITION.json | 35 + .../current-composed-admission.json | 94 + .../evidence/grader-identity-fix/ALIASES.json | 1577 +++++++++ .../CURRENT_COMPOSED_ADMISSION.json | 60 + .../grader-identity-fix/GUARD_EVIDENCE.json | 803 +++++ .../construction/mutation_test.py | 672 ++++ .../tests/test_mutation_runner.py | 421 +++ .../exact-descriptor/mutation_test.py | 684 ++++ .../tests/test_mutation_runner.py | 438 +++ .../initial/mutation_test.py | 624 ++++ .../initial/tests/test_mutation_runner.py | 398 +++ .../selector/mutation_test.py | 684 ++++ .../selector/tests/test_mutation_runner.py | 428 +++ .../EXISTING_APPLICABILITY.json | 36 + .../initial-preflight/REPORT.md | 41 + .../initial-preflight/RESULTS.json | 417 +++ .../initial-preflight/SOURCE_BINDINGS.json | 14 + .../initial-preflight/preflight.py | 58 + .../raw/affected-normal-dev2.json | 512 +++ .../raw/affected-normal-dev2.log | 36 + .../raw/affected-optimized.json | 499 +++ .../raw/affected-optimized.log | 20 + .../raw/canonical-population-normal.json | 33 + .../raw/canonical-population-normal.log | 3 + .../raw/construction-discovery-normal.json | 134 + .../raw/construction-discovery-normal.log | 4 + .../raw/construction-discovery-optimized.json | 134 + .../raw/construction-discovery-optimized.log | 4 + .../raw/exact-descriptor-normal.json | 169 + .../raw/exact-descriptor-normal.log | 3 + .../raw/exact-descriptor-optimized.json | 169 + .../raw/exact-descriptor-optimized.log | 3 + .../receipt.json | 46 + .../stderr.log | 0 .../stdout.log | 15 + .../allow-custom-construction/receipt.json | 181 + .../allow-custom-construction/stderr.log | 0 .../allow-custom-construction/stdout.log | 179 + .../receipt.json | 67 + .../stderr.log | 0 .../stdout.log | 15 + .../receipt.json | 182 + .../stderr.log | 0 .../stdout.log | 15 + .../receipt.json | 46 + .../stderr.log | 0 .../stdout.log | 15 + .../receipt.json | 191 ++ .../stderr.log | 0 .../stdout.log | 51 + .../receipt.json | 61 + .../ignore-declared-function-chain/stderr.log | 0 .../ignore-declared-function-chain/stdout.log | 27 + .../ignore-module-hook-refusal/receipt.json | 76 + .../ignore-module-hook-refusal/stderr.log | 0 .../ignore-module-hook-refusal/stdout.log | 51 + .../ignore-original-code-object/receipt.json | 56 + .../ignore-original-code-object/stderr.log | 0 .../ignore-original-code-object/stdout.log | 15 + .../receipt.json | 56 + .../stderr.log | 0 .../stdout.log | 15 + .../ignore-selected-class-object/receipt.json | 62 + .../ignore-selected-class-object/stderr.log | 0 .../ignore-selected-class-object/stdout.log | 15 + .../receipt.json | 186 ++ .../stderr.log | 0 .../stdout.log | 39 + .../receipt.json | 46 + .../stderr.log | 0 .../stdout.log | 19 + .../receipt.json | 77 + .../stderr.log | 0 .../stdout.log | 52 + .../receipt.json | 46 + .../stderr.log | 0 .../stdout.log | 15 + .../allow-custom-construction/receipt.json | 181 + .../allow-custom-construction/stderr.log | 0 .../allow-custom-construction/stdout.log | 179 + .../receipt.json | 67 + .../stderr.log | 0 .../stdout.log | 15 + .../receipt.json | 182 + .../stderr.log | 0 .../stdout.log | 15 + .../receipt.json | 46 + .../stderr.log | 0 .../stdout.log | 15 + .../receipt.json | 191 ++ .../stderr.log | 0 .../stdout.log | 51 + .../receipt.json | 61 + .../ignore-declared-function-chain/stderr.log | 0 .../ignore-declared-function-chain/stdout.log | 27 + .../ignore-module-hook-refusal/receipt.json | 76 + .../ignore-module-hook-refusal/stderr.log | 0 .../ignore-module-hook-refusal/stdout.log | 51 + .../ignore-original-code-object/receipt.json | 56 + .../ignore-original-code-object/stderr.log | 0 .../ignore-original-code-object/stdout.log | 15 + .../receipt.json | 56 + .../stderr.log | 0 .../stdout.log | 15 + .../ignore-selected-class-object/receipt.json | 62 + .../ignore-selected-class-object/stderr.log | 0 .../ignore-selected-class-object/stdout.log | 15 + .../receipt.json | 186 ++ .../stderr.log | 0 .../stdout.log | 39 + .../receipt.json | 46 + .../stderr.log | 0 .../stdout.log | 19 + .../receipt.json | 77 + .../stderr.log | 0 .../stdout.log | 52 + .../raw/identity-green-dev1.json | 94 + .../raw/identity-green-dev1.log | 7 + .../callable-factory.json | 49 + .../class-fixture-code.json | 51 + .../class-fixture-function.json | 51 + .../class-fixture-same-code-function.json | 51 + .../construction-descriptor-0-class.json | 47 + .../construction-descriptor-1-class.json | 49 + .../construction-descriptor-1-method.json | 49 + ...uction-descriptor-classmethod-0-class.json | 47 + ...uction-descriptor-classmethod-1-class.json | 49 + ...ction-descriptor-classmethod-1-method.json | 49 + ...ction-descriptor-staticmethod-0-class.json | 47 + ...ction-descriptor-staticmethod-1-class.json | 49 + ...tion-descriptor-staticmethod-1-method.json | 49 + .../construction-getattribute-0-class.json | 47 + .../construction-getattribute-1-class.json | 49 + .../construction-getattribute-1-method.json | 49 + .../construction-init-0-class.json | 47 + .../construction-init-1-class.json | 49 + .../construction-init-1-method.json | 49 + .../construction-metaclass-0-class.json | 47 + .../construction-metaclass-1-class.json | 49 + .../construction-metaclass-1-method.json | 49 + .../construction-new-0-class.json | 47 + .../construction-new-1-class.json | 49 + .../construction-new-1-method.json | 49 + .../construction-setattr-0-class.json | 47 + .../construction-setattr-1-class.json | 49 + .../construction-setattr-1-method.json | 49 + ...nstruction-special-descriptor-0-class.json | 47 + ...nstruction-special-descriptor-1-class.json | 49 + ...struction-special-descriptor-1-method.json | 49 + .../identity-normal-fixtures/custom-run.json | 51 + .../during-body-change.json | 67 + .../hook-alias-assertion.json | 50 + .../identity-normal-fixtures/hook-alias.json | 50 + .../hook-omission.json | 50 + .../hook-subclass.json | 50 + .../instance-class-change.json | 61 + .../module-dir-cannot-hide.json | 76 + .../named-assertion.json | 78 + .../identity-normal-fixtures/named-class.json | 65 + .../named-method.json | 59 + .../selector-helper-descriptor.json | 49 + .../selector-proxy.json | 49 + .../callable-factory.json | 49 + .../class-fixture-code.json | 51 + .../class-fixture-function.json | 51 + .../class-fixture-same-code-function.json | 51 + .../construction-descriptor-0-class.json | 47 + .../construction-descriptor-1-class.json | 49 + .../construction-descriptor-1-method.json | 49 + ...uction-descriptor-classmethod-0-class.json | 47 + ...uction-descriptor-classmethod-1-class.json | 49 + ...ction-descriptor-classmethod-1-method.json | 49 + ...ction-descriptor-staticmethod-0-class.json | 47 + ...ction-descriptor-staticmethod-1-class.json | 49 + ...tion-descriptor-staticmethod-1-method.json | 49 + .../construction-getattribute-0-class.json | 47 + .../construction-getattribute-1-class.json | 49 + .../construction-getattribute-1-method.json | 49 + .../construction-init-0-class.json | 47 + .../construction-init-1-class.json | 49 + .../construction-init-1-method.json | 49 + .../construction-metaclass-0-class.json | 47 + .../construction-metaclass-1-class.json | 49 + .../construction-metaclass-1-method.json | 49 + .../construction-new-0-class.json | 47 + .../construction-new-1-class.json | 49 + .../construction-new-1-method.json | 49 + .../construction-setattr-0-class.json | 47 + .../construction-setattr-1-class.json | 49 + .../construction-setattr-1-method.json | 49 + ...nstruction-special-descriptor-0-class.json | 47 + ...nstruction-special-descriptor-1-class.json | 49 + ...struction-special-descriptor-1-method.json | 49 + .../custom-run.json | 51 + .../during-body-change.json | 67 + .../hook-alias-assertion.json | 50 + .../hook-alias.json | 50 + .../hook-omission.json | 50 + .../hook-subclass.json | 50 + .../instance-class-change.json | 61 + .../module-dir-cannot-hide.json | 76 + .../named-assertion.json | 78 + .../named-class.json | 65 + .../named-method.json | 59 + .../selector-helper-descriptor.json | 49 + .../selector-proxy.json | 49 + .../grader-identity-fix/raw/identity-red.json | 147 + .../raw/identity-refresh-normal.json | 54 + .../raw/identity-refresh-normal.log | 4 + .../raw/identity-refresh-optimized.json | 54 + .../raw/identity-refresh-optimized.log | 4 + .../raw/selector-descriptor-normal.json | 124 + .../raw/selector-descriptor-normal.log | 3 + .../raw/selector-descriptor-optimized.json | 124 + .../raw/selector-descriptor-optimized.log | 3 + .../constructor-alias/RESULTS.json | 59 + .../constructor-alias/mutation_test.py | 624 ++++ .../constructor-alias/receipt.json | 38 + .../constructor-alias/stderr.log | 0 .../constructor-alias/stdout.log | 4 + .../constructor-alias/tests/test_auditor.py | 12 + .../review-probes/constructor-alias/trace.txt | 2 + .../method-descriptor-alias/RESULTS.json | 61 + .../method-descriptor-alias/mutation_test.py | 672 ++++ .../method-descriptor-alias/receipt.json | 33 + .../method-descriptor-alias/stderr.log | 0 .../method-descriptor-alias/stdout.log | 3 + .../tests/test_auditor.py | 16 + .../method-descriptor-alias/trace.txt | 2 + .../module-dir-omission/RESULTS.json | 55 + .../module-dir-omission/mutation_test.py | 624 ++++ .../module-dir-omission/receipt.json | 33 + .../module-dir-omission/stderr.log | 0 .../module-dir-omission/stdout.log | 3 + .../module-dir-omission/tests/test_auditor.py | 11 + .../module-dir-omission/trace.txt | 1 + .../staticmethod-subclass-alias/RESULTS.json | 61 + .../mutation_test.py | 684 ++++ .../staticmethod-subclass-alias/receipt.json | 38 + .../staticmethod-subclass-alias/stderr.log | 0 .../staticmethod-subclass-alias/stdout.log | 4 + .../tests/test_auditor.py | 15 + .../staticmethod-subclass-alias/trace.txt | 3 + .../shared/BASELINE_BINDINGS.json | 13 + .../EXACT_DESCRIPTOR_GUARD_MUTATIONS.json | 318 ++ .../shared/FINAL_EXACT_RUNTIME_BINDINGS.json | 6 + .../shared/FINAL_RUNTIME_BINDINGS.json | 6 + .../shared/FOLLOWUP_GUARD_MUTATIONS.json | 214 ++ .../shared/FROZEN_RUNTIME_BINDINGS.json | 6 + .../shared/GUARD_MUTATIONS.json | 838 +++++ .../shared/OPTIMIZATION_PROVENANCE.json | 46 + .../shared/SELECTOR_GUARD_MUTATIONS.json | 110 + .../shared/evidence-binding-review-final.json | 252 ++ .../shared/evidence-binding-review.json | 546 +++ .../shared/guard_mutations.py | 47 + .../guard_mutations_exact_descriptors.py | 39 + .../shared/guard_mutations_followup.py | 39 + .../shared/guard_mutations_selector.py | 39 + .../shared/independent-review-final.json | 64 + .../shared/independent-review-final.md | 33 + .../shared/independent-review-followup.json | 47 + .../shared/independent-review-followup.md | 22 + .../independent-review-selector-boundary.json | 31 + .../independent-review-selector-boundary.md | 19 + .../shared/independent-review.json | 54 + .../shared/independent-review.md | 35 + .../shared/new_tests_template.py.txt | 90 + .../shared/source-partition-review.json | 16 + .../BUILD_REPORT.json | 76 + .../BUILD_REPORT.md | 13 + .../EVIDENCE_PATH_MAP.json | 2949 +++++++++++++++++ .../PUBLICATION.md | 19 + .../pre-review-identity-metadata/README.md | 145 + .../pre-review-identity-metadata/SPEC.md | 57 + .../TOOLING_REGISTRY.md | 46 + .../review-boundary-fix/AFFECTED_METHODS.json | 45 + .../review-boundary-fix/APPLICABILITY.json | 66 + .../review-boundary-fix/BASELINE_SOURCES.json | 11 + .../review-boundary-fix/DECISION_PAYLOAD.md | 2 + .../review-boundary-fix/FINAL_SOURCES.json | 8 + .../IMPORTERROR_REUSED.json | 15 + .../MUTATION_COMMAND.py.txt | 30 + .../review-boundary-fix/MUTATION_DELTA.json | 57 + .../NOTEBOOK_DISCOVERY.json | 14 + .../NOTEBOOK_MUTATION_COMMAND.py.txt | 15 + .../review-boundary-fix/ORIGINAL_REVIEW.json | 37 + .../TOOLING_GOVERNANCE_PAYLOAD.md | 9 + .../green-normal-final.json | 164 + .../green-normal-final.log | 17 + .../review-boundary-fix/green-normal.json | 129 + .../review-boundary-fix/green-normal.log | 13 + .../review-boundary-fix/green-optimized.json | 254 ++ .../review-boundary-fix/green-optimized.log | 23 + .../review-boundary-fix/mutations-normal.json | 904 +++++ .../review-boundary-fix/mutations-normal.log | 10 + .../allow-negative-dynamic-powers.log | 24 + .../allow-python-division.log | 15 + .../restore-augmented-division-gap.log | 24 + .../restore-augmented-power-gap.log | 33 + .../restore-es-module-extension-gap.log | 15 + .../restore-es-module-text-wrapper-gap.log | 15 + .../restore-null-status-evidence-skip.log | 15 + .../restore-python-candidate-nonmath-gap.log | 15 + .../restore-python-prefix-nonmath-gap.log | 15 + .../mutations-normal/skip-status-evidence.log | 15 + .../mutations-optimized.json | 904 +++++ .../mutations-optimized.log | 10 + .../allow-negative-dynamic-powers.log | 24 + .../allow-python-division.log | 15 + .../restore-augmented-division-gap.log | 24 + .../restore-augmented-power-gap.log | 33 + .../restore-es-module-extension-gap.log | 15 + .../restore-es-module-text-wrapper-gap.log | 15 + .../restore-null-status-evidence-skip.log | 15 + .../restore-python-candidate-nonmath-gap.log | 15 + .../restore-python-prefix-nonmath-gap.log | 15 + .../skip-status-evidence.log | 15 + .../notebook-green-normal.json | 33 + .../notebook-green-normal.log | 6 + .../notebook-green-optimized.json | 33 + .../notebook-green-optimized.log | 6 + .../notebook-mutation-normal.json | 69 + .../notebook-mutation-normal.log | 1 + ...discard-known-notebook-source-suffixes.log | 15 + .../notebook-mutation-optimized.json | 69 + .../notebook-mutation-optimized.log | 1 + ...discard-known-notebook-source-suffixes.log | 15 + .../review-boundary-fix/notebook-red.json | 46 + .../review-boundary-fix/notebook-red.log | 15 + .../pre-notebook-source/APPLICABILITY.json | 50 + .../pre-notebook-source/OVERLAY_MANIFEST.json | 282 ++ .../pre-notebook-source/auditor.py | 370 +++ .../pre-notebook-source/mutation_test.py | 477 +++ .../pre-notebook-source/source_checks.py | 330 ++ .../pre-notebook-source/tests/test_auditor.py | 839 +++++ .../review-boundary-fix/red-normal.json | 202 ++ .../review-boundary-fix/red-normal.log | 103 + .../review/AST_APPLICABILITY.json | 29 + .../review/NOTEBOOK_SOURCE_REVIEW.json | 83 + .../review/SOURCE_REVIEW.json | 127 + .../math514/layer_a/mutation_test.py | 238 +- .../math514/layer_a/source_checks.py | 7 +- .../math514/layer_a/tests/test_auditor.py | 78 + .../layer_a/tests/test_mutation_runner.py | 176 +- 357 files changed, 35083 insertions(+), 130 deletions(-) create mode 100644 cbz/contributions/math514/layer_a/GRADER_IDENTITY_FIX.md create mode 100644 cbz/contributions/math514/layer_a/REVIEW_BOUNDARY_FIX.md create mode 100644 cbz/contributions/math514/layer_a/evidence/component-source-snapshots/ALIASES.json create mode 100644 cbz/contributions/math514/layer_a/evidence/component-source-snapshots/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/component-source-snapshots/review-boundary-notebook/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/final-review-identity/SOURCE_COMPOSITION.json create mode 100644 cbz/contributions/math514/layer_a/evidence/final-review-identity/current-composed-admission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/ALIASES.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/GUARD_EVIDENCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/tests/test_mutation_runner.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/EXISTING_APPLICABILITY.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/RESULTS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/SOURCE_BINDINGS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/preflight.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/callable-factory.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-code.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-function.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-same-code-function.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/custom-run.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/during-body-change.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias-assertion.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-omission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-subclass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/instance-class-change.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/module-dir-cannot-hide.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-assertion.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-helper-descriptor.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-proxy.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/callable-factory.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-code.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-function.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-same-code-function.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-0-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/custom-run.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/during-body-change.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias-assertion.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-omission.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-subclass.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/instance-class-change.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/module-dir-cannot-hide.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-assertion.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-class.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-method.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-helper-descriptor.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-proxy.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-red.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/RESULTS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/trace.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/RESULTS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/trace.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/RESULTS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/trace.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/RESULTS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/receipt.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stderr.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stdout.log create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/trace.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/BASELINE_BINDINGS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/EXACT_DESCRIPTOR_GUARD_MUTATIONS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_EXACT_RUNTIME_BINDINGS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_RUNTIME_BINDINGS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FOLLOWUP_GUARD_MUTATIONS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FROZEN_RUNTIME_BINDINGS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/GUARD_MUTATIONS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/OPTIMIZATION_PROVENANCE.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/SELECTOR_GUARD_MUTATIONS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review-final.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_exact_descriptors.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_followup.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_selector.py create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.md create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.md create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.md create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.md create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/new_tests_template.py.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/source-partition-review.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/EVIDENCE_PATH_MAP.json create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/PUBLICATION.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/README.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/SPEC.md create mode 100644 cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/TOOLING_REGISTRY.md create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/AFFECTED_METHODS.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/APPLICABILITY.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/BASELINE_SOURCES.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/DECISION_PAYLOAD.md create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/FINAL_SOURCES.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/IMPORTERROR_REUSED.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_COMMAND.py.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_DELTA.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_DISCOVERY.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_MUTATION_COMMAND.py.txt create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/ORIGINAL_REVIEW.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/TOOLING_GOVERNANCE_PAYLOAD.md create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-division-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-power-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-extension-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-text-wrapper-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-null-status-evidence-skip.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-candidate-nonmath-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-prefix-nonmath-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-negative-dynamic-powers.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-python-division.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-division-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-power-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-extension-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-text-wrapper-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-null-status-evidence-skip.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-candidate-nonmath-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-prefix-nonmath-gap.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/skip-status-evidence.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal/discard-known-notebook-source-suffixes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized/discard-known-notebook-source-suffixes.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/APPLICABILITY.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/OVERLAY_MANIFEST.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/mutation_test.py create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/source_checks.py create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/tests/test_auditor.py create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.log create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/AST_APPLICABILITY.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json create mode 100644 cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/SOURCE_REVIEW.json diff --git a/cbz/contributions/math514/layer_a/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/BUILD_REPORT.json index cafe23521..98b7504b0 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.json +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.json @@ -1,76 +1,146 @@ { - "schema_version": 3, + "schema_version": 4, "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 + "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 }, - "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, + "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", - "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", + "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": 4, - "optimized": 4 + "normal": 52, + "optimized": 52 }, - "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, + "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, - "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, + "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_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", + "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, - "reused_historical_mutants": 38, - "reused_unchanged_auditor_methods": 27, - "schema_version": 1 + "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/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" }, - "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" + "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 index 950f7ebd6..4fb6bf7d5 100644 --- a/cbz/contributions/math514/layer_a/BUILD_REPORT.md +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.md @@ -1,6 +1,20 @@ -# Layer A composed build report — lazy-body successor +# Layer A composed build report — combined review/identity metadata -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`. +## 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. diff --git a/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json index aab4514ac..8e2fe6ed6 100644 --- a/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json +++ b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json @@ -1,8 +1,8 @@ { "current_composed_admission": { - "receipt": "evidence/declaration-numeric/current-composed-admission.json", - "sha256": "678b710139a3c94ad2f885ac92f0296dc46a17c8a2ebca7d2c89b89ed0df8706", - "origin_map": "evidence/declaration-numeric/ORIGIN_PATH_MAP.json", + "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", @@ -2945,5 +2945,35 @@ "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/PUBLICATION.md b/cbz/contributions/math514/layer_a/PUBLICATION.md index 186983c2c..83dc4e9fd 100644 --- a/cbz/contributions/math514/layer_a/PUBLICATION.md +++ b/cbz/contributions/math514/layer_a/PUBLICATION.md @@ -1,10 +1,24 @@ -# Exact-scope auditor lazy-body successor overlay +# 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. -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 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. diff --git a/cbz/contributions/math514/layer_a/README.md b/cbz/contributions/math514/layer_a/README.md index 9a0c6819e..a379f3099 100644 --- a/cbz/contributions/math514/layer_a/README.md +++ b/cbz/contributions/math514/layer_a/README.md @@ -70,9 +70,9 @@ Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable | `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`. +`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. 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. +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 @@ -106,7 +106,7 @@ Binary `bindings` is exactly `{"G2":,"G4":}`. Each referen ## 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. +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 @@ -129,17 +129,31 @@ Canonical lexical diagnostics are deduplicated by their exact `(line, column, ki 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`. +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. -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 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 index 4facf2a1f..c6aa4d5f6 100644 --- a/cbz/contributions/math514/layer_a/SPEC.md +++ b/cbz/contributions/math514/layer_a/SPEC.md @@ -14,13 +14,13 @@ Lean: Root's unchanged canonical Main#698 identifier lexer (`canonical_lean.py`, 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. +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: 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. +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 @@ -41,17 +41,31 @@ Canonical lexical diagnostics are deduplicated by their exact `(line, column, ki 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`. +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. -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 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 index e09f51213..586c1aefc 100644 --- a/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md +++ b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md @@ -1,46 +1,15 @@ # 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`. +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. -| 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 | +## Current combined generation -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 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 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 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 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. +## Selected-declaration identity profile -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 [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. -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. +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.py b/cbz/contributions/math514/layer_a/auditor.py index 630db4c3b..8eb070b8a 100644 --- a/cbz/contributions/math514/layer_a/auditor.py +++ b/cbz/contributions/math514/layer_a/auditor.py @@ -17,7 +17,9 @@ 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'}) +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', @@ -172,7 +174,7 @@ def binding(value, owner, label): 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')) + 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: @@ -256,10 +258,14 @@ def binding(value, owner, label): 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',[]): - target=module_map.get('python:'+candidate) - if target in records: - graph[ref].append(target) + 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'] @@ -282,7 +288,7 @@ def binding(value, owner, label): 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 '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: 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/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/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/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/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 index 7780bf5d5..7eaa8fcd3 100644 --- a/cbz/contributions/math514/layer_a/mutation_test.py +++ b/cbz/contributions/math514/layer_a/mutation_test.py @@ -7,6 +7,7 @@ import functools import io import inspect +import importlib import json import os from pathlib import Path @@ -21,6 +22,14 @@ # 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))'), @@ -41,8 +50,8 @@ ('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-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:"), @@ -76,7 +85,7 @@ ('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:"), + ('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':[],"), @@ -186,6 +195,205 @@ def ordinary_sync_method(method): 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): @@ -211,7 +419,7 @@ def leaves(node): return population,selected,invalid -def execute_test_suite(suite): +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 @@ -226,7 +434,9 @@ def execute_test_suite(suite): '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) + 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: @@ -251,6 +461,7 @@ def execute_test_suite(suite): 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) @@ -274,7 +485,9 @@ def body(*args,_test=test,_original=original,_id=canonical,**kwargs): 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 @@ -296,6 +509,7 @@ def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): 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): @@ -331,7 +545,13 @@ def addSubTest(self,test,subtest,err): super().addSubTest(test,subtest,err) stream=io.StringIO() - result=unittest.TextTestRunner(stream=stream,verbosity=2,resultclass=PhaseResult).run(suite) + 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), @@ -350,15 +570,17 @@ def internal_test_runner(argv): 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() + 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) + 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 diff --git a/cbz/contributions/math514/layer_a/source_checks.py b/cbz/contributions/math514/layer_a/source_checks.py index 8fa259ff2..cf6f71389 100644 --- a/cbz/contributions/math514/layer_a/source_checks.py +++ b/cbz/contributions/math514/layer_a/source_checks.py @@ -305,10 +305,11 @@ def check_python(text, mathematical=True): 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): + 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) 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): + 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)) diff --git a/cbz/contributions/math514/layer_a/tests/test_auditor.py b/cbz/contributions/math514/layer_a/tests/test_auditor.py index 40281fe28..2cd39b5ce 100644 --- a/cbz/contributions/math514/layer_a/tests/test_auditor.py +++ b/cbz/contributions/math514/layer_a/tests/test_auditor.py @@ -768,5 +768,83 @@ def test_numeric_hypothesis_tokens_keep_exact_literal_contradictions(self): 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 index 1d1e471d3..c32a38d0a 100644 --- a/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py +++ b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py @@ -133,8 +133,11 @@ 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']) + # 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 @@ -262,5 +265,174 @@ def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): 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()