Skip to content

Bind a session to an agent server with safe snapshots and cancellation wiring #62

Description

@ben-ranford

Outcome

Synthetic persona: Remote application integrator. Job: Expose an existing session without hand-assembling snapshot metadata or cancellation callbacks.

This is a repository-grounded improvement hypothesis from a synthetic workflow exercise, not validated customer demand.

Evidence

Baseline: 64b0d0d96954 / v1.0.0-rc.2.

Bounded scope

Agent Options requires SnapshotEnvelope and CancelSession while Session already owns Snapshot, Cancel, diagnostics, and lifecycle; add an opt-in bridge that preserves host authorization and action ownership.

Acceptance checks

  • A bound session serves full and patch snapshots with valid hashes and revision metadata.
  • stave.session.cancel maps to Session.Cancel exactly once.
  • Authorization, confirmation, and custom application policy remain explicit inputs.
  • Contract tests reject a stale or mismatched envelope.
  • Use the documented config/limit ownership map; include redacted diagnostics and deterministic session-close/cancel behavior without replacing app authorization.

Non-goals: No new network transport. No adapter graduation.

Compatibility and dependencies

Additive, opt-in API or separately negotiated extension. Preserve existing root v1 signatures, strict wire decoders, canonical encodings, redaction, limits and application action authority. No root dependency or Go-floor increase is assumed.

Dependencies: #46

Milestone plan and shared release prerequisites: #38. Priority: P1. Required verification must preserve existing gates; completing this issue does not itself authorize a release.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:agentSemantic snapshots, JSONL/JSON-RPC, automation, and accessibilitypriority:p1Foundational or high-impact milestone worktype:featureAdditive user-facing library capability or workflow

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions