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

Status: PASS
Type: evidence
Updated: 2026-08-27
Campaign: hpt2-graph-reconstruction-performance-remediation

## Result

The graph-only validated-primary iterator passed the required fail-fast target
sequence on Controller A and Controller B. The 56,160-record gate passed first.
The final full-ceiling candidate then scanned exactly 142,560 records in less
than 60 seconds on both controllers with no optimistic-window fallback, mirror
mismatch, or lost-record indication.

The frozen predecessor remains commit `d0f2af8b` with Release S-record SHA-256
`9bcaff9cad193eb7e6bdfc64d5fbd8e7f448978a54f9dac83ea91066954595af`.
It was not modified.

## Exact final candidate

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

The `fba35c91` stage-one candidate contained the identical validated-primary
iterator but still used the old 56,160-record product scan cap. The first A/B
gate exposed that cap after it passed. Commit `2e814458` changes that cap to the
existing supported 142,560-record per-lane ceiling; no iterator, mirror,
fallback, or record-validation logic changed between the two target stages.

## Controller and card identity

| Controller | Assembly | J-Link | Protocol card status | CID valid | Representative read | Raw CID |
| --- | ---: | ---: | ---: | ---: | ---: | --- |
| A | 1751136 | 69664082 | 6 | 1 | 0 (success) | `05000C61736466672200001C8901A34F` |
| B | 1751219 | 69660123 | 6 | 1 | 0 (success) | `05000C61736466672200001C8201A379` |

Both identity captures decode MID `0x05`, product `asdfg`, revision `2.2`, and
manufacturing date `2026-03`. Controller A reports serial 7305; Controller B
reports serial 7298. CID identity is evidence of the tested media, not proof of
authenticity.

## Fail-fast A/B results

| Gate | Controller | Exact S-record | Records scanned | Elapsed | Read commands | Read blocks | Fallbacks | Mismatch/lost |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: | --- |
| predecessor baseline | A | `9bcaff9c...54595af` | 56,160 | 61.82 s | 10,923 | 337,824 | 0 | 0 / 0 |
| predecessor baseline | B | `9bcaff9c...54595af` | 56,160 | 62.59 s | 10,923 | 337,902 | 0 | 0 / 0 |
| stage-one remediation | A | `9faf7bda...eda43` | 56,160 | 20.74 s | 3,879 | 112,998 | 0 | 0 / 0 |
| stage-one remediation | B | `9faf7bda...eda43` | 56,160 | 21.82 s | 3,880 | 112,998 | 0 | 0 / 0 |
| final full ceiling | A | `fa874d68...e0fc` | 142,560 | **52.94 s** | 9,798 | 286,418 | 0 | 0 / 0 |
| final full ceiling | B | `fa874d68...e0fc` | 142,560 | **53.79 s** | 9,798 | 286,406 | 0 | 0 / 0 |

The full-ceiling physical results are approximately 2.009 read blocks per
record, including bounded metadata and partial-window overhead. Both chart
caches reached terminal ready state and returned the expected 720 display
records.

Primary exact-candidate evidence:

- `work/evidence/hpt-log-store-circular-mirror/controller-a/graph-remediation-20260827/postrestore-142560-v2/sd-card-identity.json`;
- `work/evidence/hpt-log-store-circular-mirror/controller-a/graph-remediation-20260827/postrestore-142560-v2/chart-cache-status.json`;
- `work/evidence/hpt-log-store-circular-mirror/controller-b/graph-remediation-20260827/postrestore-142560-v2/sd-card-identity.json`; and
- `work/evidence/hpt-log-store-circular-mirror/controller-b/graph-remediation-20260827/postrestore-142560-v2/chart-cache-status.json`.

## Ceiling-fixture provenance

The pre-existing 400,000-record fixture had been produced by an older
pre-checkpoint engineering image. A temporary, separately committed fixture
branch recovered that legacy media without formatting or reinitializing it,
then appended a current-format summarized window through sequence 560,000.
Both terminal fixture results report state 2, status 0, progress 1000, gaps 0,
and `NextSequence=560001`:

- `work/evidence/hpt-log-store-circular-mirror/controller-a/graph-remediation-20260827/fixture-560000/history-fixture-current-status.json`; and
- `work/evidence/hpt-log-store-circular-mirror/controller-b/graph-remediation-20260827/fixture-560000/history-fixture-current-status.json`.

That bridge is not present in commit `2e814458`, the exact Release bundle, or
the supported product claim. It is fixture-generation evidence only.

## Scope decision and continuation boundary

`docs/hpt2-graph-reconstruction-remediation.md` formally excludes full media
recovery from this candidate's supported product/operator claim. Normal
checkpoint open and bounded interruption recovery remain supported and fail
closed on unsafe state. Generic reads, export, diagnostics, scrub, writes, and
mirror quorum semantics remain unchanged.

This narrowly scoped remediation campaign is complete. Wrap/reclaim, export,
retail-card qualification, ECO, and rollout remain deferred to their existing
downstream gates. App Server was not used for implementation, bench control,
evidence capture, or campaign completion.
