Skip to content

Continue numerical recoveries and report resolved confinement#494

Merged
krystophny merged 10 commits into
mainfrom
agent/nonfatal-recovery-accounting-clean
Jul 17, 2026
Merged

Continue numerical recoveries and report resolved confinement#494
krystophny merged 10 commits into
mainfrom
agent/nonfatal-recovery-accounting-clean

Conversation

@krystophny

Copy link
Copy Markdown
Member

Separates the production continuation/accounting contract from Newton acceptance policy.

  • continue warning-mode markers after exhausted local recovery
  • bound repeated recovery and preserve meaningful accepted progress
  • exclude fatal numerical exits from physical confined/lost denominators
  • retain explicit exit codes and recovery diagnostics
  • update golden records for recovered markers

Validated as the base of the stacked branch with the complete fo pipeline.

@krystophny
krystophny merged commit f60c57c into main Jul 17, 2026
7 checks passed
@krystophny
krystophny deleted the agent/nonfatal-recovery-accounting-clean branch July 17, 2026 07:49
krystophny added a commit that referenced this pull request Jul 17, 2026
## Summary

- keep Newton warning recovery bounded; the obsolete unbounded
finite-iterate policy from closed PR #495 is not included
- recover failed non-SPECTRE symplectic steps through the established
adaptive RK path, cap recovery at 10,000 internal steps, and stop
repeating identical failed recovery work
- reject non-finite, non-local, or out-of-domain RK and symplectic
states before they can be committed or mislabeled as physical LCFS
losses
- retain the reviewed SPECTRE hardening and the independent fixes from
PRs #494, #496, #497, and #498
- compare golden outcomes by physical contract: identities, initial
invariants, exit status/time, valid resolved endpoints, and strict
physical events; completed chaotic survivor phase points may decorrelate

## Validation

- full `fo` at `c57f419`: static analysis, build, complete test suite,
and lint passed in 304.4 s
- focused `test_sympl_testfield` and `test_newton_solver_status` pass
- 13 golden-comparator unit tests pass
- fresh Albert golden run completed without the former stall; all 32
markers resolved, every endpoint was finite, and mapped final radius
stayed in 0.017 to 1.013
- the golden comparison identifies 27 recovered numerical exits and
corrects three old physical-loss records whose reference endpoints had
radial coordinates of roughly 5e5 to 2e6

PR #495 was closed because its generic policy admitted arbitrarily large
finite Newton iterates and produced invalid physical outcomes. This
branch was rebuilt without it. The final performance comparison will be
rerun without the concurrent large LFS archive upload before merge.
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.

1 participant