Claims admission vacancy witness — 2026-09-09

Change and boundary

ProtocolPosition Admit keeps the canonical Position and Admission PDA seeds and bumps returned by vacancy authentication, then uses them in the existing System allocation/assignment CPIs. It no longer repeats the same two PDA searches in allocate_pair.

The private witness binds the exact program id, common account references, allocation width, both seed objects and both canonical bumps. Between witness creation and use, the route only builds candidate bytes and receipt bytes; there is no account mutation or CPI. Account keys and the executing program id cannot change during this frame. System still validates the supplied signer seeds for every allocation/assignment. Existing privilege checks, both exact PDA address checks, both System-owner checks, empty-data checks and prepaid lamport floors remain in place. No wire or persisted layout changes.

Controls

An isolated current Registry V2 source archive at /tank/dregg-build/dclutch-claims-admit-cu-v2-20260909/source carries this Claims-only change over 7eb4d69ada25fc8386110e666a511b8c6b27fb51, using its own workspace-root target. cargo check --locked -p dclutch-claims-sbf --lib passed (check-v2-vacancy.log).

The filtered native run protocol_position_v2::tests::admit_vacancy_ passes two tests (native-v2-vacancy.log):

For the red control, only the Position address comparison was omitted in the isolated source. The hostile control failed at mutation 0: Ok(()) instead of ProtocolPositionSbfErrorV2::Position (exit 101, native-v2-vacancy-red.log). After restoring the accepted source, both tests passed again (native-v2-vacancy-restored.log).

Real SBF diagnostic artifacts

General owns the full transaction continuation. Its warm source remains on Registry V1; this lane applied only its exact Claims module diff, leaving that cohort intact. These artifacts are diagnostic SBF ProgramTest evidence, not devnet or current Registry V2 cohort evidence.

Evidence root on hbox: /tank/dregg-build/dclutch-general-delegated-56904d11-20260908/.

The baseline was rebuilt before applying the witness against the same warm dependency closure. Its ELF is byte-identical to the accepted preceding cache optimization profile ELF. Native check completed before SBF builds; both the instrumented and production witness builds completed successfully.

The paired real-SBF runs use the same terminal-only Trading profiler: program-test-delegated-v30-claims-vacancy-baseline.log and program-test-delegated-v31-claims-vacancy-witness.log.

PhaseBaselineWitness
Allocation, candidates checkpoint to allocated checkpoint16,165 CU7,944 CU
Release authentication15,074 CU15,074 CU
Product/Core authentication34,685 CU34,682 CU
Complete instrumented Claims Admit CPI99,242 CU89,640 CU

Allocation saves 8,221 CU. The checkpoints are 124,381 to 108,216 CU remaining for the baseline and 126,457 to 118,513 for the witness. Both pairs of System allocation/assignment CPIs and the complete Claims admission succeed. The whole-CPI difference includes generated-identity/PDA-search variation in other phases; only the allocation phase directly measures the removed repeated searches. This evidence does not claim the complete General lifecycle passes; General owns the production continuation with this ELF.

ELF SHA-256:

Exact warm module snapshot SHA-256:

No frame baseline was captured by this lane; the implementation commit leaves the frame ratchet red for convergence.