You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: wire state backends into all squad operations, not just watch #1003
The state backend feature (git-notes, orphan-branch, worktree) is currently only wired into the \watch\ command. The
esolveStateBackend()\ function exists in the SDK but is only consumed by \watch/config.ts. All other squad operations (init, agent history reads/writes, decisions, skills) use \FSStorageProvider\ directly.
This means setting \stateBackend: 'git-notes'\ in config.json only affects watch — not the broader squad lifecycle.
Solution (phased)
Phase 1 (this issue) ✅
Extend \StateBackend\ interface with \delete()\ and \�ppend()\
Add \SquadStateContext\ and
esolveSquadState()\ factory to resolution module
Migrate \squad init\ to use \SquadStateContext\ when writing initial state files
Migrate agent history reads/writes to go through the backend
Migrate decisions inbox merge (Scribe) to use the backend
Phase 3 (follow-up)
Migrate skills, casting, and remaining modules
Add caching layer for git-notes (currently loads full JSON blob on every read)
Address concurrency (optimistic retry for git-notes, locking for orphan)
Design decisions
Boundary: Bootstrap artifacts (config.json, team.md structure checks) stay on local filesystem. Only mutable squad state flows through the backend.
No adapter pattern: We do NOT wrap \StateBackend\ as a \StorageProvider. The interfaces have different semantics (5 vs 24 methods). Instead, commands resolve the backend once and use it directly.
Incremental migration: Commands adopt \SquadStateContext\ one at a time in follow-up PRs.
Activity
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: add delete/append to StateBackend and resolveSquadState entry p…
feat: wire state backends into all squad operations
feat: wire state backends into all squad operations
feat: wire state backends into all squad operations
feat: wire state backends into all squad operations
feat: wire state backends into all squad operations
feat: wire state backends into all squad operations (worktree, git-no…
feat: wire state backends into all squad operations (worktree, git-no…