# HPT2 graph-reconstruction remediation software gate — 2026-08-27

Status: PASS; exact clean target candidate frozen
Type: evidence
Updated: 2026-08-27
Campaign: hpt2-graph-reconstruction-performance-remediation
Frozen predecessor commit: `d0f2af8b`
Frozen predecessor Release S-record SHA-256: `9bcaff9cad193eb7e6bdfc64d5fbd8e7f448978a54f9dac83ea91066954595af`

## Result

The graph-only validated-primary iterator reduces the healthy projection from
approximately six blocks per record to exactly two in the host model. Any
failed optimistic window is discarded and reread through the unchanged
three-lane quorum resolver. Generic reads, export, diagnostics, and scrubs do
not use the fast path.

The full-recovery scope decision is recorded in
`docs/hpt2-graph-reconstruction-remediation.md`: full recovery is formally
excluded from this candidate's product/operator claim. Existing checkpointed
normal open and bounded interruption recovery are not weakened.

## Focused verification

- triple-circular model: PASS;
- customer-export model: PASS;
- graph-cache model: PASS;
- endurance model: 18 tests PASS;
- commissioning checks: 108/108 PASS;
- customer-export checks: 41/41 PASS;
- graph-cache checks: 15/15 PASS; and
- endurance-baseline checks: PASS.

The modeled 142,560-record healthy path is 8,910 read commands, 285,120 read
blocks, and 2.00 blocks per record. The invalid-primary fixture triggers one
full-quorum fallback and restores a three-lane observed mask for that entire
window.

## Canonical builds

Both commands completed with exit 0 after the remediation's local shadowing
warning was removed:

- `.\script\vscode-e2-build.ps1 -Action Rebuild -Configuration Debug -Jobs 8`
- `.\script\vscode-e2-build.ps1 -Action Rebuild -Configuration Release -Jobs 8`

| Artifact | Bytes | SHA-256 |
| --- | ---: | --- |
| `Debug/7520553_SMI_FW.elf` | 14,779,692 | `92e70bdbc0ba504dfc9d0a7c26301b39db4ed44ec5afc560ec00b7633ec5ece7` |
| `Debug/7520553_SMI_FW.srec` | 8,689,642 | `1b4cf6036eac8f71b94e407b098714cfb6e37ba51e5ced6065f66e332ba8ef9c` |
| `Release/7520553_SMI_FW.elf` | 11,443,820 | `afa49d5d8cc2921ed1c47c2b6b956b232024b7bff04ef4460793c2dc9f4784f0` |
| `Release/7520553_SMI_FW.srec` | 8,689,642 | `fa874d68bfbd16bdc4891ed9c18ed87695cc4ee0b113ef2756b54e675f95e0fc` |

## Exact candidate freeze

- source commit: `2e8144587c6855bf32f4c30d4f16269a72122476`;
- source snapshot: `5175c940fc1583732dfe9942fba78250b5fe9678c1904ffb2054872090bde1f2`;
- bundle: `work/evidence/generated/hpt2-graph-remediation-bundles/smi-00-05-00-5175c940fc15-fa874d68bfbd-release`; and
- Release S-record SHA-256: `fa874d68bfbd16bdc4891ed9c18ed87695cc4ee0b113ef2756b54e675f95e0fc`.

The earlier `fba35c91`/`9faf7bda...` bundle remains preserved as superseded
evidence; it is not the full-ceiling candidate.

## Exact continuation boundary

The CID-linked 56,160-record fail-fast gate passed on both controllers before
the ceiling campaign continued: Controller A completed in 20.74 seconds with
112,998 blocks and 3,879 commands; Controller B completed in 21.82 seconds
with 112,998 blocks and 3,880 commands. Both reported zero optimistic-window
fallbacks, mirror mismatches, and lost records. The full 142,560-record A/B
ceiling gate remains the final physical completion gate.

No controller, J-Link endpoint, SD card, USB drive, power control, external
bundle store, ECO, or rollout operation was used by this software gate.
