Skip to content
Spice Framework on GitHub

Phase 4 Prepared Local Resume Evidence

agentMaturity: experimentalSource: spice-agent@4726fb8Exact reviewed source

This slice gives the daemon a local kernel-resume transaction without adding transport, persistence, authentication, or run-authority policy to the kernel.

Contract Executable evidence
Inert reservation Run.PrepareLocalResume captures the run identity and exact next sequence without a context, I/O, event, goroutine, provider call, tool call, or interaction.
Explicit decision PreparedLocalResume.Commit, Abort, and Close form one synchronized decision. Commit and abort contention has one winner; duplicate and conflicting decisions are deterministic.
Cancellation handshake Run cancellation and engine shutdown latch behind a pending decision. Commit after cancellation and abort after cancellation both release exactly one terminal finalization without post-boundary work.
Safe rollback Aborting a live reservation restores a byte-identical suspended snapshot and preserves the original event boundary.
Boundary isolation Snapshot export, another suspend/resume reservation, and interactions fail while the reservation is pending. No event sequence is consumed until the decision releases execution.
Compatibility Run.Resume is a prepare-plus-commit wrapper. Cancellation of an in-flight Suspend still auto-resumes a boundary established after that request was cancelled.

The agent tests cover live commit and abort, cancellation before each decision, shutdown timeout and drain, exact event sequences, nil and invalid states, duplicate decisions, and high-contention commit/abort races. Focused shuffled, race, vet, lint, NilAway, and coverage gates are required before integration.