QF Solver 0.2.5a0 failure campaign report¶
Controlled candidate¶
The machine-readable evidence is stored in
results/vnv_0_2_5/g09_latest/summary.json and
results/vnv_0_2_5/g09_latest/evidence_manifest.json. The manifest records
the exact source SHA, dirty=false, UTC timestamp, Python/NumPy/SciPy
versions, command and SHA-256 digest. Generated evidence is deliberately
kept outside the source revision; the manifest's source_sha is the
provenance authority.
Result¶
| Field | Result |
|---|---|
| Gate | 025-G09 |
| Status | PASS |
| Evidence status | PASS_INTERNAL_FAILURE_CONTRACT |
| Cases | 22 |
| Passed | 22 |
| Failed | 0 |
| False convergence | 0 |
| Release claim | false |
Covered cases¶
| Family | Cases |
|---|---|
| Full Newton | MAX_ITERATIONS, SINGULAR_TANGENT, NAN_DETECTED, INF_DETECTED, LINE_SEARCH_FAILURE, INVALID_ELEMENT, MATERIAL_UPDATE_FAILURE, CONTACT_UPDATE_FAILURE, MIN_INCREMENT_REACHED |
| Sparse correction | NaN correction, +Inf correction, -Inf correction |
| Transactions/retry | contact retry rollback, multi-step retry after a committed increment, state corruption |
| Contact | excessive penetration, penetration cutback/retry |
| Path solvers | arc-length failure, buckling failure |
| Checkpoints/backend | sparse linear solver failure, checkpoint corruption, checkpoint model mismatch |
Every case records the expected and observed reason, converged=false and
structured diagnostics. The correction classification rule is deterministic:
NaN-only payloads produce NAN_DETECTED; positive or negative infinity
produces INF_DETECTED; a mixed payload containing either NaN and Inf gives
INF_DETECTED because the infinite value is the more specific failure.
Verification commands¶
The targeted replay on the candidate SHA passed:
python -m pytest tests/unit/test_nonlinear_failure_modes.py \
tests/unit/test_nonlinear_failure_campaign.py \
tests/unit/test_nonlinear_load_path.py \
tests/unit/test_nonlinear_state_transaction_contract.py \
tests/unit/test_nonlinear_checkpoint.py -q
56 passed
The controlled campaign replay reported 22 passed / 0 failed. Ruff passed
for all modified source and test files. No full regression, coverage run,
external solver campaign or other functional gate was rerun as part of this
G09-only lot.
Gate limitation¶
This report closes only the failure-mode contract. It does not close G01, G02, G03, G04, G05, G06, G08, G10, G11 or G12, and it does not qualify the underlying contact, arc-length or buckling algorithms. Those dependent functional gates retain their own evidence requirements.