Skip to content

feat(sdk): StorageProvider Phases 0-2 — interface, providers, SquadSt…#609

Closed
diberry wants to merge 1 commit intobradygaster:devfrom
diberry:diberry/storage-abstraction-squashed
Closed

feat(sdk): StorageProvider Phases 0-2 — interface, providers, SquadSt…#609
diberry wants to merge 1 commit intobradygaster:devfrom
diberry:diberry/storage-abstraction-squashed

Conversation

@diberry
Copy link
Copy Markdown
Collaborator

@diberry diberry commented Mar 24, 2026

…ate facade (#481)

  • StorageProvider interface (11 methods: 7 async + 4 sync deprecated)
  • FSStorageProvider with path-traversal protection and rootDir sandboxing
  • InMemoryStorageProvider (Map-backed, cross-platform path normalization)
  • SQLiteStorageProvider (sql.js WASM, atomic persistence)
  • SquadState typed facade with 8 collections (agents, config, decisions, routing, team, skills, templates, log)
  • AgentHandle pattern: state.agents.get(name).charter()/history()/appendHistory()
  • 5 IO modules: charter-io, history-io, decisions-io, routing-io, team-io (parse + serialize)
  • 5 SDK modules wired: CharterCompiler, LocalAgentSource, onboardAgent, ToolRegistry, readHistory
  • Conformance test suite: runStorageProviderContractTests() validates all 3 providers
  • 351 state/storage tests passing (199ms state execution, 10x under 2s budget)
  • CLI Phase 2 migration: 8 files using StorageProvider (cast, spawn, coordinator, lifecycle, export, import, build, cli-entry)

Team approved: Flight (architecture), FIDO (quality gate), EECOM (implementation).

…ate facade (bradygaster#481)

- StorageProvider interface (11 methods: 7 async + 4 sync deprecated)
- FSStorageProvider with path-traversal protection and rootDir sandboxing
- InMemoryStorageProvider (Map-backed, cross-platform path normalization)
- SQLiteStorageProvider (sql.js WASM, atomic persistence)
- SquadState typed facade with 8 collections (agents, config, decisions, routing, team, skills, templates, log)
- AgentHandle pattern: state.agents.get(name).charter()/history()/appendHistory()
- 5 IO modules: charter-io, history-io, decisions-io, routing-io, team-io (parse + serialize)
- 5 SDK modules wired: CharterCompiler, LocalAgentSource, onboardAgent, ToolRegistry, readHistory
- Conformance test suite: runStorageProviderContractTests() validates all 3 providers
- 351 state/storage tests passing (199ms state execution, 10x under 2s budget)
- CLI Phase 2 migration: 8 files using StorageProvider (cast, spawn, coordinator, lifecycle, export, import, build, cli-entry)

Team approved: Flight (architecture), FIDO (quality gate), EECOM (implementation).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@diberry diberry closed this Mar 24, 2026
@diberry diberry deleted the diberry/storage-abstraction-squashed branch March 24, 2026 23:12
@diberry diberry restored the diberry/storage-abstraction-squashed branch March 24, 2026 23:13
@diberry
Copy link
Copy Markdown
Collaborator Author

diberry commented Mar 28, 2026

Closing -- this PR has committed .tgz build artifacts (bradygaster-squad-cli-0.9.1-build.4.tgz, bradygaster-squad-sdk-0.9.1.tgz) and template skill bleed. The clean version of this same StorageProvider work is in #640.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants