Skip to content

Add exact P104 ADD-coefficient fault localization (no new κ) - #6175

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
petalas:research/w5-1029a-first-improvement
Oct 29, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
petalas:research/w5-1029a-first-improvement

Conversation

@petalas

@petalas petalas commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add an exact diagnostic for PR5568's open question about identifying the event behind a wrong ADD value. Given a P104 scalar endpoint discrepancy, it returns every single ADD coefficient replacement that repairs the complete map. Ambiguous repairs remain explicit. A zero residual does not certify absence of invisible faults.

complete endpoint discrepancy
  -> exact rank-one residual test
  -> prefix/suffix proportionality
  -> every compatible event and replacement

Claim type: scoped diagnostic correctness proof with finite evidence. No new kappa, supplier, predecessor audit or selected-frontier change. The source-bound example changes event 0 of PR5561's word from -2 to -1. The new diagnostic returns exactly event 0 with replacement -2, restoring all 743 scalar outputs on all 735 independent public inputs. The new application and code are produced by Nick Petalas.

Package: research/p104-add-fault-localization/. Base: canonical main 3f0152a32eeebac0df11946dbd50cabe5a7f7839, priority revision 8, refreshed before publication. The replay-runtime card is explicitly changed from speed to diagnostic capability. Advance CLAIM.

Evidence

  • Before: PR5568's scalar oracle identifies damaged endpoint rows; its README explicitly leaves ADD-event localization open. After: the standalone CLI returns the unique exact event and coefficient for the guarded P104 fault.
  • Complete repair sets agree with an independently written whole-program scalar-basis oracle for all 3,756 injected faults over 340 small words. Every returned repair is applied and replayed; 7,740 compatible repairs occur across those cases.
  • Singular-operation fixtures add 21 faults, including 12 invisible cases. Controls cover ambiguous events, rank-two and unrepairable rank-one residuals, nondyadic repairs, explicit target zeros, malformed programs and resource limits.
  • Registered normal and optimized warning-strict checks pass. Timed direct runs took 1.42 s and 1.39 s locally, well below their 120 s limits. These are check durations, not a speedup claim. The actual diagnostic CLI passed separately.
  • Committed bytes, executable modes and declared source-history ancestry pass at 045350fba7915f964248ca95f996eff3acc08239, covering nine package/input files. The official export and declared-input integrity check pass. Optimized replay passes with Git absent and exported files read-only; all ten exported files, including the export manifest, retain their bytes and executable bits. Altered receipt and source bytes are rejected under optimization.

Exact reproduction from the repository root, CPython 3.12.15 and standard library only:

~/git/integer-mult-bounds/.venv/bin/python3.12 -I -W error -B research/p104-add-fault-localization/verify.py
~/git/integer-mult-bounds/.venv/bin/python3.12 -I -W error -O -B research/p104-add-fault-localization/verify.py
~/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/research_package.py --package research/p104-add-fault-localization
~/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/check_research_commit.py --package research/p104-add-fault-localization --check-source-history --check-modes

Expected markers: PASS_P104_ADD_FAULT_LOCALIZATION, PASS_REGISTERED_RESEARCH_PACKAGE, and PASS_RESEARCH_COMMIT_BYTES. RESULT.json is generated and bound to package/input hashes. Ordinary verification writes no files.

Limitations and unrun obligations

Completeness concerns one changed ADD coefficient in the declared rational scalar program. Wrong operands, several faults, chronology changes and native/frame faults are excluded. COPY/INIT/CLEAR have their stated scalar semantics; their physical legality is not certified. The coefficient-rule flag checks only nonzero dyadic size admissibility. Native phases, owning legality, precision, tape, caller, compiler, BIT and outer suites were not run. Independent human and formal proof-kernel review are unclaimed. No runtime gain is claimed.

Credit DreamingOfClouds / PR5568 for the question and tooling; Ali Romman / PR5544/5545 and PR5392, thu-nmrc / PR5551, PR5553/5561 and GamingPuzzled / PR5472 for the retained word lineage. Credit woklerx / PR1017 and Sagar Thakrar / PR762 for prior fault-testing and prefix/suffix sensitivity. The standard rank-one identity is not claimed as new. No predecessor implementation is copied or changed.

Open next questions

  • Classify indistinguishable and zero coefficient-fault signatures in one frozen P104 word. First group normalized exact signatures. No complete P104 fault census is claimed here.
  • Join the suggestions to an owning legality checker while retaining frame, ownership and native obligations. First check one reported candidate through that verifier. The diagnostic never edits a word or admits a supplier.

Related open work

The completion refresh read this account's open PRs created since the advance CLAIM. No other submission in that list computes the P104 coefficient repair reported here, and no numerical disagreement was found. No extra computations were run to check other contributions.

CI notes

Both hosted checks passed at exact head 045350fba7915f964248ca95f996eff3acc08239 in run 40880471561: plan in 3m42s and replay (research/p104-add-fault-localization) in 1m26s. The completed check list was read once and both entries report pass.

Hosted replay certifies the registered normal and optimized package checks at this head. All recorded local checks, committed-byte/mode/source-history checks, export integrity and read-only Git-free replay also pass. The scalar fault model, physical-legality limitations and unrun complete-supplier obligations retain their stated scope. Independent human and formal proof-kernel review remain unclaimed.

Merge Danger

Door: two-way. Blast Radius: scoped. Eight new files in one research package; one unchanged declared input. No shared checker, selected certificate or frozen predecessor changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants