# Review Closure Ledger

Status: current alpha closure notes after narrowing the shipped native surface.

This ledger records the current disposition of previously identified review
themes. It intentionally tracks the package surface that remains shipped:
`exact` and `batch-settlement`.

| Finding theme                                                                         | Status                                                | Closure evidence                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Public surface must only advertise implemented native profiles                        | Fixed for current alpha                               | Schemas, package types, examples, specs, vectors, and runtime offer selection accept only `exact` and `batch-settlement`.                                                                                                                                                                                                                                                                          |
| Batch covenant authority must be reproducible                                         | Fixed for Alpha.10 source; mainnet audit still required | Escrow fixture checks and transaction-v1 vectors cover singleton genesis, two partial claims against one voucher, same-ID top-up, and timeout refund. The batch interop vector preserves one stable covenant ID and reconciles A/S/T/V/R with the transaction sequence.                                                                                                                             |
| Transaction-v1 vectors must not be self-referential                                   | Fixed for current vectors                             | `npm run validate:tx-v1-consensus` cross-checks the complete batch genesis, repeated-claim, top-up, and refund chain against the configured Kaspa consensus checkout.                                                                                                                                                                                                                                |
| Exact replay and batch idempotency must prevent duplicate protected execution         | Fixed for current direct-mode tests                   | Server and client tests cover exact replay, batch corrective state, same-id conflicts, and concurrent retries.                                                                                                                                                                                                                                                                                     |
| Exact evidence must match x402 and Kaspa-native transaction reality                   | Fixed in alpha.9 source and TN10 live proof           | `kaspa-exact-v2` makes ordinary standard-native transfer the default and retains optional corrected additive heads. The 2026-07-19 TN10 run proved tiny and normal native payments, exact additive successor-delta economics with no second merchant output, replay/idempotency, conflict/retry, recovery, expiry rejection, and trusted external reconciliation.                                 |
| Hosted exact must not advertise before Worker settlement exists                       | Fixed and paid-canary-proven for alpha.9              | Worker version `d28e6b35-54c6-459f-b8cd-02084a769593` advertises standard-native without inventory and gates optional additive on durable head availability. The 2026-07-20 hosted canary settled `2fa08f26792721ea2b2f3e791affc6bafe7d36878d660a39dae826473cca38d7`, confirmed idempotent replay, and rejected cross-resource reuse.                                                              |
| Live proof harness must be reproducible from committed code                           | Proven for Alpha.10 on funded TN10                    | The committed proof runner and reference adapter reproduced all 18 required flows in the 2026-08-10 funded TN10 run, including singleton batch genesis, stable-ID vouchers, repeated partial claims, same-ID top-up, refund, A/S/T/V/R reconciliation, and restart reload. Sanitized evidence is in `docs/live-testnet-report.md`; secrets and raw operational artifacts remain ignored. |
| HTTP and MCP transports must not release protected results before settlement succeeds | Fixed for current direct-mode tests                   | Server tests cover handler failure, failed persistence, and protected-content withholding on settlement failure.                                                                                                                                                                                                                                                                                   |
| Facilitator support must not widen server capability                                  | Fixed for current facilitator tests                   | Facilitator tests assert supported-kind intersection and explicit claim/refund settler requirements.                                                                                                                                                                                                                                                                                               |
| Mainnet readiness must not be implied by testnet success                              | Open gate                                             | Mainnet remains blocked by `docs/mainnet-readiness.md`; `kaspa:mainnet` is a reserved profile name only.                                                                                                                                                                                                                                                                                           |

## Remaining Gates

- independent audit of exact, batch covenant, state-store, and adapter behavior;
- production durable store implementation and operational recovery playbooks;
- fresh live `kaspa:testnet-10` evidence after each release-candidate change;
- hosted gateway redeploy and paid TN10 canary evidence after each hosted exact
  Worker change;
- upstream/community discussion before any stable registry or mainnet claims.
