Blocked by:
Completed dependency:
Outcome
Extend the released read-only foundation with restart-safe, bounded offline reads and polished developer tooling without creating a second canonical database or an offline mutation authority.
Scope
Offline reads
- native AES-256-GCM replaceable cache keyed from OS-keychain-held material;
- cache scoped by Cave instance ID and resource revision;
- bounded familiars/projects/conversations/transcripts only;
- explicit stale/cache versus live/Cave source state;
- canonical supersession and stale-response rejection;
- purge on Cave instance replacement;
- visible corruption/undecryptable diagnostics and explicit reset.
SDK/CLI tooling
- stable shell completions after CLI grammar is frozen;
- fixed TypeScript scaffolds for supported read-only journeys;
- scaffold compile/run tests from packed public packages;
- browser-limitations and native-boundary documentation;
- richer but still redacted diagnostic bundles;
- deterministic examples for Cave read, Coven observer, and unified status.
Architectural invariants
- Offline state is a replaceable cache, not canonical authority.
- No bearer, secret-store metadata, draft, pending mutation, idempotency key, full event stream, attachment byte, action payload, or diagnostic archive enters the cache.
- Offline mode is read-only; reconnect and fresh canonical refresh are required before any mutation.
- Scaffolds use fixed reviewed templates, never arbitrary remote code.
- Existing non-empty or symlinked scaffold destinations fail closed unless an explicit safe policy is approved.
Dependencies and blockers
Acceptance criteria
Validation
Rust/native encryption tests, plaintext scans, cache ordering/fault tests, reconnect journeys, scaffold destination attacks, packed-template builds, completion golden tests, and a dedicated security review of native storage.
Non-goals
No offline send queue, conflict-free replicated canonical store, cloud sync, bearer cache, arbitrary template download, shell execution, or privileged action while offline.
Blocked by:
Completed dependency:
Outcome
Extend the released read-only foundation with restart-safe, bounded offline reads and polished developer tooling without creating a second canonical database or an offline mutation authority.
Scope
Offline reads
SDK/CLI tooling
Architectural invariants
Dependencies and blockers
Acceptance criteria
Validation
Rust/native encryption tests, plaintext scans, cache ordering/fault tests, reconnect journeys, scaffold destination attacks, packed-template builds, completion golden tests, and a dedicated security review of native storage.
Non-goals
No offline send queue, conflict-free replicated canonical store, cloud sync, bearer cache, arbitrary template download, shell execution, or privileged action while offline.