← all exploratory attempts · paired baseline · show in source

breadth-08: Address-normalizer outcomes

Agent report: partial Review pending

Session: completed

docs/spec-compiler-part-2-scf.md, lines 1445–1452

The address normalizer owns one typed negative result for an otherwise valid address projection. Only that typed result becomes `NonFinalizable`. Unsupported graph structure is classified by lowering-owned structural preflight before materialization. Once the mechanical Structured-to-Dataflow transaction starts, clone correspondence, block replacement, specialization, pass verification, canonical artifact/view, and tracked-launch failures are invocation failures; callers may not flatten an owner's entire error channel into candidate pruning.

Independent review

No independent interface audit has been supplied for this attempt.

Execution provenance

The original pilot recorded the compiler hash and checkout revision separately; its binary build revision was not verified. Coverage follow-ups use separately identified rebuilt binaries. Original simulator binary hashes were not retained.

Original standalone-test agent report

This is exploratory evidence, not an accepted production-format PBT.

P1 and P2 exercised on the real subject over 120 seeds; the transaction-phase invocation-failure clause is untested (no fault-injection seam).

Reported numeric verdicts

seeds
address family
1000-1099
structural family
5000-5019
total cases
120

Tested obligations

Untested obligations

Format

standalone Python generator + Python outcome checker (no ProGRMR/.spct)

Reproduction

not measured

Measured subject code coverage

blocked · The pinned subject target cannot be rebuilt with the available Clang 21 or Clang 24 / libstdc++13 toolchains: CgraClosedWaitSetDiagnostic has an implicitly deleted std::variant default constructor. Both simulator and pre-mapping targets depend on this code. No subject source was changed; original uninstrumented runs remain available, with their build revision unverified.

Coverage-preserving minimized cases: not measured

Full structured agent result
checker
work/check.py
controlled violation
checker exit code
1
kind
synthetic checker test (mutated run records), not a real subject defect
mutants
  • mutant_untyped_address: address-family record rewritten to the untyped 'address projection failed without a typed outcome' diagnostic -> checker verdict fail
  • mutant_structural_as_address: structural-family record rewritten to the typed address-index message -> checker verdict fail
coverage
omitted: no pre-existing coverage instrumentation for this driver; budget spent on making the PBT exercise the real subject
evidence
controlled violation inputs
work/mutants.jsonl
controlled violation verdicts
work/mutant_verdicts.json
inputs
work/cases/
raw runs
work/results.jsonl
verdicts
work/verdicts.json
format
standalone Python generator + Python outcome checker (no ProGRMR/.spct)
format rationale
The address normalizer is reachable only through the loom-pre-mapping compilation driver, whose input is LLVM IR (.ll) and whose observable is a diagnostic/exit-code class, not an MLIR in/out pair; the ProGRMR+.spct pair-checker format cannot express this property.
generator
  • work/gen.py
  • work/gen_struct.py
observed outcomes
accepted
71
failures
0
invocation failure
0
structural rejection
20
total
120
typed address rejection
29
passage
docs/spec-compiler-part-2-scf.md:1445-1452
pinned revision
48615bc5925ef4b9db8b4550b5d4322933cf4b7b
potential subject bug
not measured
runner
  • work/run.sh
  • work/remote_runner.sh
sampling limits
element types
  • float
  • i32
  • double
index provenance
  • sext_i32
  • zext_i32
  • zext_i8
  • const
  • i64_phi
  • i64_arg
index widths
  • 32
  • 64
note
Sampling bounds are conventions, not source requirements.
other
single whole-callable ownership mode; single builtin Fabric preset (small)
structural kinds
  • extern_call
  • indirect_call
  • varargs_call
  • atomicrmw
trip counts
  • 8
  • 16
  • 64
  • 1000
  • 100000
seeds
address family
1000-1099
structural family
5000-5019
total cases
120
slot
breadth-08
source references
  • docs/spec-compiler-part-2-scf.md:1445-1452 (expected behavior)
  • lib/Frontend/Compilation/StructuredAddressIndexNarrowing.h (interface evidence only)
  • lib/Frontend/Compilation/OwnershipCandidateGenerator.cpp:1827-1843 (interface evidence only)
status
partial
status reason
P1 and P2 exercised on the real subject over 120 seeds; the transaction-phase invocation-failure clause is untested (no fault-injection seam).
subject
binary
/home/blimpan/blimpan/spectriad-loom-head/loom/build/bin/loom-pre-mapping
invocation
taskset -c 79 loom-pre-mapping --artifact-store=STORE --whole-callable-spatial=kernel --canonical-index-width=W --counts=C -o OUT CASE.ll
support
/home/blimpan/blimpan/spectriad-loom-head/loom/build/tools/loom-adg/loom-adg (builtin small ArtifactStore)
tested obligations
  • cases
    100
    id
    P1
    result
    held
    text
    one typed negative result for an otherwise valid address projection; only that typed result becomes NonFinalizable
  • cases
    20
    id
    P2
    result
    held
    text
    unsupported graph structure classified by lowering-owned structural preflight, not by the address normalizer
untested obligations
  • Once the Structured-to-Dataflow transaction starts, clone-correspondence, block-replacement, specialization, pass-verification, canonical artifact/view and tracked-launch failures are invocation failures (no fault-injection interface without modifying the subject).
  • callers may not flatten an owner's entire error channel into candidate pruning (only the weak corollary that address vs structural owners keep distinct diagnostics is covered by P2).
verdict counts
address|accepted|pass
71
address|typed address rejection|pass
29
structural|other rejection|pass
20

Published evidence

evidence/breadth-08 (2)
  • README.md
    evidence/breadth-08/README.md (3004 bytes)
  • RESULT.json
    evidence/breadth-08/RESULT.json (4254 bytes)
evidence/breadth-08/coverage (5)
evidence/breadth-08/work (12)
  • INTENT.md
    evidence/breadth-08/work/INTENT.md (2853 bytes)
  • base.ll
    evidence/breadth-08/work/base.ll (539 bytes)
  • check.py
    evidence/breadth-08/work/check.py (3293 bytes)
  • gen.py
    evidence/breadth-08/work/gen.py (3147 bytes)
  • gen_struct.py
    evidence/breadth-08/work/gen_struct.py (2484 bytes)
  • mutant_verdicts.json
    evidence/breadth-08/work/mutant_verdicts.json (704 bytes)
  • mutants.jsonl
    evidence/breadth-08/work/mutants.jsonl (1363 bytes)
  • remote_runner.sh
    evidence/breadth-08/work/remote_runner.sh (1610 bytes)
  • results.jsonl
    evidence/breadth-08/work/results.jsonl (75506 bytes)
  • run.err
    evidence/breadth-08/work/run.err (0 bytes)
  • run.sh
    evidence/breadth-08/work/run.sh (718 bytes)
  • verdicts.json
    evidence/breadth-08/work/verdicts.json (34159 bytes)
evidence/breadth-08/work/cases (121)
  • case000.ll
    evidence/breadth-08/work/cases/case000.ll (520 bytes)
  • case001.ll
    evidence/breadth-08/work/cases/case001.ll (547 bytes)
  • case002.ll
    evidence/breadth-08/work/cases/case002.ll (638 bytes)
  • case003.ll
    evidence/breadth-08/work/cases/case003.ll (604 bytes)
  • case004.ll
    evidence/breadth-08/work/cases/case004.ll (604 bytes)
  • case005.ll
    evidence/breadth-08/work/cases/case005.ll (570 bytes)
  • case006.ll
    evidence/breadth-08/work/cases/case006.ll (633 bytes)
  • case007.ll
    evidence/breadth-08/work/cases/case007.ll (649 bytes)
  • case008.ll
    evidence/breadth-08/work/cases/case008.ll (656 bytes)
  • case009.ll
    evidence/breadth-08/work/cases/case009.ll (614 bytes)
  • case010.ll
    evidence/breadth-08/work/cases/case010.ll (617 bytes)
  • case011.ll
    evidence/breadth-08/work/cases/case011.ll (527 bytes)
  • case012.ll
    evidence/breadth-08/work/cases/case012.ll (551 bytes)
  • case013.ll
    evidence/breadth-08/work/cases/case013.ll (568 bytes)
  • case014.ll
    evidence/breadth-08/work/cases/case014.ll (574 bytes)
  • case015.ll
    evidence/breadth-08/work/cases/case015.ll (578 bytes)
  • case016.ll
    evidence/breadth-08/work/cases/case016.ll (570 bytes)
  • case017.ll
    evidence/breadth-08/work/cases/case017.ll (659 bytes)
  • case018.ll
    evidence/breadth-08/work/cases/case018.ll (653 bytes)
  • case019.ll
    evidence/breadth-08/work/cases/case019.ll (571 bytes)
  • case020.ll
    evidence/breadth-08/work/cases/case020.ll (701 bytes)
  • case021.ll
    evidence/breadth-08/work/cases/case021.ll (617 bytes)
  • case022.ll
    evidence/breadth-08/work/cases/case022.ll (544 bytes)
  • case023.ll
    evidence/breadth-08/work/cases/case023.ll (629 bytes)
  • case024.ll
    evidence/breadth-08/work/cases/case024.ll (704 bytes)
  • case025.ll
    evidence/breadth-08/work/cases/case025.ll (583 bytes)
  • case026.ll
    evidence/breadth-08/work/cases/case026.ll (737 bytes)
  • case027.ll
    evidence/breadth-08/work/cases/case027.ll (633 bytes)
  • case028.ll
    evidence/breadth-08/work/cases/case028.ll (525 bytes)
  • case029.ll
    evidence/breadth-08/work/cases/case029.ll (622 bytes)
  • case030.ll
    evidence/breadth-08/work/cases/case030.ll (618 bytes)
  • case031.ll
    evidence/breadth-08/work/cases/case031.ll (550 bytes)
  • case032.ll
    evidence/breadth-08/work/cases/case032.ll (631 bytes)
  • case033.ll
    evidence/breadth-08/work/cases/case033.ll (584 bytes)
  • case034.ll
    evidence/breadth-08/work/cases/case034.ll (670 bytes)
  • case035.ll
    evidence/breadth-08/work/cases/case035.ll (666 bytes)
  • case036.ll
    evidence/breadth-08/work/cases/case036.ll (604 bytes)
  • case037.ll
    evidence/breadth-08/work/cases/case037.ll (705 bytes)
  • case038.ll
    evidence/breadth-08/work/cases/case038.ll (660 bytes)
  • case039.ll
    evidence/breadth-08/work/cases/case039.ll (664 bytes)
  • case040.ll
    evidence/breadth-08/work/cases/case040.ll (651 bytes)
  • case041.ll
    evidence/breadth-08/work/cases/case041.ll (604 bytes)
  • case042.ll
    evidence/breadth-08/work/cases/case042.ll (611 bytes)
  • case043.ll
    evidence/breadth-08/work/cases/case043.ll (578 bytes)
  • case044.ll
    evidence/breadth-08/work/cases/case044.ll (615 bytes)
  • case045.ll
    evidence/breadth-08/work/cases/case045.ll (583 bytes)
  • case046.ll
    evidence/breadth-08/work/cases/case046.ll (631 bytes)
  • case047.ll
    evidence/breadth-08/work/cases/case047.ll (578 bytes)
  • case048.ll
    evidence/breadth-08/work/cases/case048.ll (551 bytes)
  • case049.ll
    evidence/breadth-08/work/cases/case049.ll (549 bytes)
  • case050.ll
    evidence/breadth-08/work/cases/case050.ll (548 bytes)
  • case051.ll
    evidence/breadth-08/work/cases/case051.ll (734 bytes)
  • case052.ll
    evidence/breadth-08/work/cases/case052.ll (610 bytes)
  • case053.ll
    evidence/breadth-08/work/cases/case053.ll (568 bytes)
  • case054.ll
    evidence/breadth-08/work/cases/case054.ll (638 bytes)
  • case055.ll
    evidence/breadth-08/work/cases/case055.ll (610 bytes)
  • case056.ll
    evidence/breadth-08/work/cases/case056.ll (611 bytes)
  • case057.ll
    evidence/breadth-08/work/cases/case057.ll (617 bytes)
  • case058.ll
    evidence/breadth-08/work/cases/case058.ll (555 bytes)
  • case059.ll
    evidence/breadth-08/work/cases/case059.ll (541 bytes)
  • case060.ll
    evidence/breadth-08/work/cases/case060.ll (621 bytes)
  • case061.ll
    evidence/breadth-08/work/cases/case061.ll (705 bytes)
  • case062.ll
    evidence/breadth-08/work/cases/case062.ll (735 bytes)
  • case063.ll
    evidence/breadth-08/work/cases/case063.ll (616 bytes)
  • case064.ll
    evidence/breadth-08/work/cases/case064.ll (712 bytes)
  • case065.ll
    evidence/breadth-08/work/cases/case065.ll (742 bytes)
  • case066.ll
    evidence/breadth-08/work/cases/case066.ll (655 bytes)
  • case067.ll
    evidence/breadth-08/work/cases/case067.ll (578 bytes)
  • case068.ll
    evidence/breadth-08/work/cases/case068.ll (599 bytes)
  • case069.ll
    evidence/breadth-08/work/cases/case069.ll (605 bytes)
  • case070.ll
    evidence/breadth-08/work/cases/case070.ll (649 bytes)
  • case071.ll
    evidence/breadth-08/work/cases/case071.ll (617 bytes)
  • case072.ll
    evidence/breadth-08/work/cases/case072.ll (635 bytes)
  • case073.ll
    evidence/breadth-08/work/cases/case073.ll (599 bytes)
  • case074.ll
    evidence/breadth-08/work/cases/case074.ll (580 bytes)
  • case075.ll
    evidence/breadth-08/work/cases/case075.ll (679 bytes)
  • case076.ll
    evidence/breadth-08/work/cases/case076.ll (573 bytes)
  • case077.ll
    evidence/breadth-08/work/cases/case077.ll (612 bytes)
  • case078.ll
    evidence/breadth-08/work/cases/case078.ll (702 bytes)
  • case079.ll
    evidence/breadth-08/work/cases/case079.ll (629 bytes)
  • case080.ll
    evidence/breadth-08/work/cases/case080.ll (641 bytes)
  • case081.ll
    evidence/breadth-08/work/cases/case081.ll (651 bytes)
  • case082.ll
    evidence/breadth-08/work/cases/case082.ll (620 bytes)
  • case083.ll
    evidence/breadth-08/work/cases/case083.ll (665 bytes)
  • case084.ll
    evidence/breadth-08/work/cases/case084.ll (583 bytes)
  • case085.ll
    evidence/breadth-08/work/cases/case085.ll (715 bytes)
  • case086.ll
    evidence/breadth-08/work/cases/case086.ll (580 bytes)
  • case087.ll
    evidence/breadth-08/work/cases/case087.ll (573 bytes)
  • case088.ll
    evidence/breadth-08/work/cases/case088.ll (587 bytes)
  • case089.ll
    evidence/breadth-08/work/cases/case089.ll (630 bytes)
  • case090.ll
    evidence/breadth-08/work/cases/case090.ll (650 bytes)
  • case091.ll
    evidence/breadth-08/work/cases/case091.ll (650 bytes)
  • case092.ll
    evidence/breadth-08/work/cases/case092.ll (638 bytes)
  • case093.ll
    evidence/breadth-08/work/cases/case093.ll (525 bytes)
  • case094.ll
    evidence/breadth-08/work/cases/case094.ll (582 bytes)
  • case095.ll
    evidence/breadth-08/work/cases/case095.ll (621 bytes)
  • case096.ll
    evidence/breadth-08/work/cases/case096.ll (591 bytes)
  • case097.ll
    evidence/breadth-08/work/cases/case097.ll (626 bytes)
  • case098.ll
    evidence/breadth-08/work/cases/case098.ll (616 bytes)
  • case099.ll
    evidence/breadth-08/work/cases/case099.ll (574 bytes)
  • manifest.json
    evidence/breadth-08/work/cases/manifest.json (20468 bytes)
  • struct000.ll
    evidence/breadth-08/work/cases/struct000.ll (609 bytes)
  • struct001.ll
    evidence/breadth-08/work/cases/struct001.ll (635 bytes)
  • struct002.ll
    evidence/breadth-08/work/cases/struct002.ll (632 bytes)
  • struct003.ll
    evidence/breadth-08/work/cases/struct003.ll (611 bytes)
  • struct004.ll
    evidence/breadth-08/work/cases/struct004.ll (633 bytes)
  • struct005.ll
    evidence/breadth-08/work/cases/struct005.ll (608 bytes)
  • struct006.ll
    evidence/breadth-08/work/cases/struct006.ll (611 bytes)
  • struct007.ll
    evidence/breadth-08/work/cases/struct007.ll (609 bytes)
  • struct008.ll
    evidence/breadth-08/work/cases/struct008.ll (615 bytes)
  • struct009.ll
    evidence/breadth-08/work/cases/struct009.ll (635 bytes)
  • struct010.ll
    evidence/breadth-08/work/cases/struct010.ll (632 bytes)
  • struct011.ll
    evidence/breadth-08/work/cases/struct011.ll (611 bytes)
  • struct012.ll
    evidence/breadth-08/work/cases/struct012.ll (615 bytes)
  • struct013.ll
    evidence/breadth-08/work/cases/struct013.ll (635 bytes)
  • struct014.ll
    evidence/breadth-08/work/cases/struct014.ll (608 bytes)
  • struct015.ll
    evidence/breadth-08/work/cases/struct015.ll (633 bytes)
  • struct016.ll
    evidence/breadth-08/work/cases/struct016.ll (611 bytes)
  • struct017.ll
    evidence/breadth-08/work/cases/struct017.ll (632 bytes)
  • struct018.ll
    evidence/breadth-08/work/cases/struct018.ll (615 bytes)
  • struct019.ll
    evidence/breadth-08/work/cases/struct019.ll (611 bytes)