Skip to content

docs(pdep): name the finite-SA-row precondition at the distrust call site (I-037) - #211

Merged
alongd merged 1 commit into
mainfrom
i037-distrust-conditional-escape
Aug 29, 2026
Merged

alongd merged 1 commit into
mainfrom
i037-distrust-conditional-escape

Conversation

@alongd

@alongd alongd commented Aug 28, 2026

Copy link
Copy Markdown
Member

What

The distrust selector's escape from the master-equation sensitivity floor was documented at the pes_loop call site as if it were unconditional: "distrust, not that coefficient, decides what survives and in what order." This corrects the record. The escape lives in the ranking (compute_distrust reads no sensitivity value), but selection is conditional on Arkane emitting a finite SA row.

Comment-only; no behaviour change.

Why (I-037)

select_by_distrust (t3/pdep/distrust.py:317) gates each candidate on evidence_by_ts_label.get(candidate.ts_label). A candidate with no finite row is skipped before the distrust energy window is applied — SKIP_UNMEASURABLE if structurally unmeasurable, else SKIP_NO_EVIDENCE — because t3.pdep.capture refuses an artifact with no coefficient to record.

An ordinary structural zero is a finite row (0.0 or ~1e-18) and is kept, so on a pristine pre-QM surface every bimolecular entrance channel survives to be ranked (confirmed by test_run_round_me_sensitivity_runs_real_arkane, where real Arkane emits a finite row for every TS). Only a NaN/absent row — a degenerate ME solve, not the structural-zero case distrust was built for — reintroduces the floor's blindness for that one in-window candidate.

Verifier

A constructed no-row network run through select_by_distrust:

candidate in window? Arkane row? result
TS1 bimolecular entrance yes none SKIP_UNMEASURABLE
TS2 unimolecular yes none SKIP_NO_EVIDENCE
TS3 control yes finite SELECTED

tests/test_pdep/test_distrust.py tests/test_pdep/test_pes_sa.py tests/test_pdep/test_pes_loop.py — 80 passed, unchanged.

Verdict

Conditional escape, condition = a finite SA row exists for the candidate. The condition holds on ordinary pre-QM surfaces (finite structural zeros), so this is a documentation matter, not a live defect there. The failure mode (NaN/absent row) is reachable only under a degenerate ME solve; whether real Arkane then writes a NaN row vs. crashing the whole SA job (which the round already catches and fails loudly) is unverified here without running Arkane on such a network.

…site

select_by_distrust escapes the master-equation sensitivity FLOOR in its
ranking (compute_distrust reads no sensitivity value), but not
unconditionally: it drops any candidate for which the round's Arkane SA
left no finite row -- SKIP_UNMEASURABLE / SKIP_NO_EVIDENCE -- before the
distrust window is applied, because t3.pdep.capture refuses an artifact
with no coefficient to record. The prior call-site comment claimed
"distrust, not that coefficient, decides what survives", which overstated
the escape: the coefficient's PRESENCE co-decides survival even though its
VALUE does not.

An ordinary structural zero is a finite row (0.0 or ~1e-18) and is kept, so
on a pristine pre-QM surface every entrance channel survives to be ranked;
only a NaN/absent row -- a degenerate ME solve -- reintroduces the floor's
blindness for that one in-window candidate. Comment-only; no behaviour
change. (I-037)

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates in-code documentation at the run_pes_loop distrust-selection call site to clarify that distrust-based ranking is independent of the sensitivity floor’s value, but candidate selection still requires the presence of a finite sensitivity coefficient row (i.e., evidence must exist for capture/recording).

Changes:

  • Refines the comment above select_by_distrust(...) to distinguish ranking behavior (distrust) from the precondition for eligibility (finite SA evidence row).
  • Documents the skip classifications (SKIP_UNMEASURABLE / SKIP_NO_EVIDENCE) that occur before the distrust energy window is applied.
  • Adds a concrete pointer to the existing real-Arkane test demonstrating finite rows for each TS in a normal run.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.00%. Comparing base (e3f339d) to head (20f8ab3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #211      +/-   ##
==========================================
- Coverage   82.01%   82.00%   -0.02%     
==========================================
  Files          76       76              
  Lines       12268    12268              
  Branches     2626     2626              
==========================================
- Hits        10062    10060       -2     
- Misses       1584     1585       +1     
- Partials      622      623       +1     
Flag Coverage Δ
unittests 82.00% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@alongd
alongd merged commit e7da800 into main Aug 29, 2026
5 checks passed
@alongd
alongd deleted the i037-distrust-conditional-escape branch August 29, 2026 00:59
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.

3 participants