# Solana Final Gate Post-Fix Closure — 2026-08-25

## Decision

The two Medium source/gate defects reported by the focused post-fix re-audit
are closed in the current filesystem. The clean committed-candidate release
condition remains open and correctly fail-closed. No native executable,
validator, deployment, wallet, signing, or RPC evidence is claimed.

## Exact closure map

| Finding | Status | Closure and regression evidence |
| --- | --- | --- |
| M-01 — generated IDL validation compared only PDA presence | Closed at source/gate layer | The Rust interface parser now preserves byte-string seed literals while removing comments, derives every ordered PDA seed from each `Accounts` constraint, and canonicalizes constant bytes, seed kind, account path, referenced account type, and optional program seed. IDL normalization accepts only the exact fields for each supported seed kind and compares the entire PDA object. Auditor-reproduction mutations of constant value, order, kind, path, account reference, and unexpected program metadata all fail. |
| M-02 — separator-free excluded aliases bypassed text claims | Closed | Text names and canonical manifest names are compared using both camel-boundary token sequences and exact separator-free identifier forms. Snake case, kebab case, spaced/title form, PascalCase, camelCase, and all-lower separator-free aliases are rejected for every one of the nine excluded programs. Near-substring controls remain accepted. |

## Source evidence

- `npm run test:rehearsal`: PASS — 64 tests, 0 failures, 0 skipped.
- Focused disposition/interface file: PASS — 38 tests, 0 failures.
- JavaScript syntax: PASS — 12 files.
- Shell syntax: PASS — 5 files.
- JSON parsing: PASS — 5 files.
- `npm pack --dry-run --json`: PASS — 44 allowlisted entries.
- `git diff --check -- .`: PASS.
- Release-scope baseline: PASS — six supported candidates and nine source-only
  excluded programs.
- Committed-candidate gate: EXPECTED BLOCK — exit 1 because the canonical
  manifest is not tracked in a clean committed candidate.
- Artifact verifier: EXPECTED BLOCK — exit 1 at the same committed-candidate
  prerequisite, before any native build.
- Deployment wrapper: EXPECTED BLOCK — exit 1 with no deployment action.
- Configured Prettier command: UNAVAILABLE — exit 127 because Prettier is not
  installed; no installation was attempted.

## Files changed for this post-fix closure

- `scripts/interface-policy.mjs`
- `scripts/verify-release-scope.mjs`
- `tests/v3-disposition-gates.test.mjs`
- `README.md`
- `PARTNER_LOCAL_REHEARSAL.md`
- `SOLANA_FINAL_GATE_POSTFIX_CLOSURE_2026-08-25.md`

## Remaining release and external evidence blockers

1. A reviewed atomic commit and a clean worktree at the exact candidate SHA are
   still mandatory. The current gate correctly refuses to treat this dirty,
   untracked state as a release candidate.
2. `cargo`, `rustc`, Solana CLI, Anchor CLI, `cargo-build-sbf`,
   `solana-test-validator`, Docker, and Podman are unavailable on this host and
   were not installed.
3. Compiler-resolved Cargo metadata, Rust tests, Anchor-generated production
   IDLs, two isolated SBF builds, binary reproducibility, artifact hashes and
   provenance, immutable local-validator preload, lifecycle execution, account
   ownership/rent observations, and null upgrade-authority observations remain
   external evidence.
4. Mainnet byte comparison and deployment evidence remain absent and were
   outside this source-only, no-wallet/no-RPC pass.
