/teal-sea
teal-sea / zeta-labstate of record · compiled 28 Sep 2026 · revision e4945c4 · source

Library · hunts/r_dc6e6f/RESULTS.md

Hunt R-DC6E6F: results

1,479 words · 130 lines · source

Question. Does scripts/make_context.py --check detect public functions, classes, constants, or module additions under compiler/, and what is the exact sensitivity boundary?

Answer. It does not detect them. Across all 3 Python modules (__init__.py, catalog.py, semantics.py), 10 LLVM IR fixtures, and 1 documentation file in compiler/, every modification, addition, rename, and line-count alteration passes scripts/make_context.py --check completely undetected (0 of 17 curated compiler mutants detected, 0.0% detection rate; 0 of 37 public symbols detected across the exhaustive census, 0.0% detection rate). The generated CONTEXT.md is byte-identical (0 diff lines) because compiler/ is omitted from the scanned directory targets in scripts/make_context.py (PKG, DISCOVERY, HARNESS, DOSSIER, DOCS, SCRIPTS, TESTS) and from build_flat().

Conversely, the guard catches 100% of positive controls in scanned packages (5 of 5 detected, 100.0%), including public symbol additions to zeta/core.py, additions to harness/departments/compiler_department.py, new documents in docs/, new scripts in scripts/, and new test files in tests/.

Reproduce: python3 hunts/r_dc6e6f/probe.py (~15 s, standard library only). Raw data: hunts/r_dc6e6f/results.json.

Controls

All baseline and undo controls ran and held cleanly across the entire run:

controlwhat it rules outoutcome
Control 1: unmutated sandbox run through guardcatches caused by copy artifacts or tree dirty stateexit 0, CONTEXT.md is up to date.
Control 2: sandbox state restored and guard re-run after every mutantcross-mutant contamination or residuequiet (exit 0) after all 22 curated mutants and 37 census mutants
Control 3: positive controls in scanned packagesbroken or unresponsive guard invocation5 / 5 fired (100.0% caught with diff > 0)

The curated battery

diff is the number of unified diff lines in regenerated CONTEXT.md. token is whether the mutated symbol's name appears in that diff.

Category 1: Public functions added under compiler/

idmutantfireddifftoken in diff
M01compiler/catalog.py: append def new_catalog_probe(): pass (__all__ untouched)no0no
M02compiler/catalog.py: append def new_catalog_probe(): pass (added to __all__)no0no
M03compiler/semantics.py: append def new_semantics_probe(): pass (__all__ untouched)no0no
M04compiler/semantics.py: append def new_semantics_probe(): pass (added to __all__)no0no
M05compiler/__init__.py: append def new_init_probe(): passno0no

0 / 5 detected (100% blind).

Category 2: Public classes and uppercase constants in compiler/

idmutantfireddifftoken in diff
M06compiler/catalog.py: add class ProbeCatalogClass (added to __all__)no0no
M07compiler/semantics.py: add class ProbeSemanticsClass (added to __all__)no0no
M08compiler/semantics.py: add constant PROBE_COMPILER_CONSTANT = 100no0no

0 / 3 detected (100% blind).

Category 3: In-place modifications and renames in compiler/

idmutantfireddifftoken in diff
M09compiler/catalog.py: rename instruction_count to probe_inst_count in place and in __all__no0no
M10compiler/semantics.py: rename backend_status to probe_backend_status in place and in __all__no0no
M11compiler/catalog.py: modify docstring first line of load_irno0no
M12compiler/semantics.py: modify signature of refinement() in placeno0no

0 / 4 detected (100% blind).

Category 4: Module, fixture, and documentation additions under compiler/

idmutantfireddifftoken in diff
M13compiler/optimizer.py: create new module with public functions and docstringno0no
M14compiler/fixtures/probe_fixture.ll: create new LLVM IR fixtureno0no
M15compiler/FINDINGS.md: edit title heading and body contentno0no

0 / 3 detected (100% blind).

Category 5: Line-count variations in compiler/

idmutantfireddifftoken in diff
M16compiler/catalog.py: append 20 blank lines (pure line count tell)no0no
M17compiler/semantics.py: delete 30 lines (pure line count tell)no0no

0 / 2 detected (100% blind).

Category 6: Positive controls in scanned packages

idmutantfireddifftoken in diff
P01zeta/core.py: append public function probe_zeta_fn (added to __all__)yes3yes
P02harness/departments/compiler_department.py: append public function probe_dept_fn (added to __all__)yes3yes
P03docs/probe_test_doc.md: create new markdown documentyes1yes
P04scripts/99_probe_script.py: create new runnable scriptyes1yes
P05tests/test_probe_case.py: create new test fileyes4yes

5 / 5 detected (100% caught).

Repository census and exhaustive symbol mutation analysis

A full static AST analysis across compiler/ reveals:

  1. Modules under compiler/: 3 Python modules (__init__.py, catalog.py, semantics.py).
  2. compiler/__init__.py: 6 lines, 0 functions, 0 classes, 0 constants (module docstring only).
  3. compiler/catalog.py: 341 lines, 7 public functions, 2 public classes, 5 uppercase constants, declares __all__ with 14 symbols.
  4. compiler/semantics.py: 809 lines, 10 public functions, 5 public classes, 8 uppercase constants, declares __all__ with 21 symbols.
  5. Total public symbols in compiler/: 37 public symbols (17 functions, 7 classes, 13 constants).
  6. Fixtures and docs: 10 LLVM IR fixtures in compiler/fixtures/ (.ll files), 1 document compiler/FINDINGS.md (369 lines).
  7. Exhaustive symbol mutation results:
  8. 17 of 17 public functions: 0 / 17 fired (0.0% detection rate, 100% blind).
  9. 7 of 7 public classes: 0 / 7 fired (0.0% detection rate, 100% blind).
  10. 13 of 13 constants: 0 / 13 fired (0.0% detection rate, 100% blind).
  11. Total symbol census: 0 / 37 fired (0.0% detection rate, 100% blind).

What the numbers say, in order of how much they matter

  1. The blindness is total across the package. scripts/make_context.py defines explicit scan roots: PKG (zeta/), DISCOVERY (ontology/), HARNESS (harness/), DOSSIER (dossier/), DOCS (docs/), SCRIPTS (scripts/), and TESTS (tests/). Because compiler/ is omitted from these roots, every file under compiler/ is entirely invisible to scripts/make_context.py --check.
  2. Line-count tells do not operate on unscanned packages. In scanned packages, any line count alteration trips the per-module line count in CONTEXT.md (*NNN lines*). In compiler/, neither line counts nor symbol signatures are extracted, so adding, deleting, or reflowing lines in compiler/ produces zero diff in CONTEXT.md.
  3. The wrapper department is guarded, but the subject implementation is not. While harness/departments/compiler_department.py (21 exports) and tests/test_compiler_candidate.py (32 tests) are fully indexed and guarded in CONTEXT.md, the actual execution engine in compiler/semantics.py (809 lines, 21 exports) and catalog in compiler/catalog.py (341 lines, 14 exports) have zero presence in the index.
  4. Exclusion from build_flat(). scripts/make_context.py --flat concatenates repository source into CONTEXT_FLAT.md. The group definitions in build_flat() include Package, Discovery layer, Harness, Dossiers, Scripts, Docs, and Tests, but omit compiler/. Thus, prompt concatenation also completely omits compiler/.

What I chose, and why

What I could not settle

Loose threads