# Tasks — Storage Abstraction Retrofit > Single-writer: orchestrator only. Workers read but never modify. > > **Mission:** Decouple gateway from hardcoded Postgres/Valkey backends. Introduce interface-driven middleware so the gateway is backend-agnostic. Default to local tier (SQLite + JSON) for zero-dependency installs. > > **`agent` column values:** `codex` | `sonnet` | `haiku` | `glm-5` | `opus` | `—` (auto/default) | id | status | agent | description | tokens | | --------- | ----------- | ------ | ---------------------------------------------------------------- | ------ | | SA-P1-001 | done | sonnet | Define QueueAdapter interface in packages/queue/src/types.ts | 3K | | SA-P1-002 | done | sonnet | Define StorageAdapter interface in packages/storage/src/types.ts | 3K | | SA-P1-003 | done | sonnet | Define MemoryAdapter interface in packages/memory/src/types.ts | 3K | | SA-P1-004 | done | sonnet | Create adapter factory pattern + config types | 3K | | SA-P2-001 | done | sonnet | Refactor @mosaicstack/queue: wrap ioredis as BullMQ adapter | 3K | | SA-P2-002 | done | sonnet | Create @mosaicstack/storage: wrap Drizzle as Postgres adapter | 6K | | SA-P2-003 | done | sonnet | Refactor @mosaicstack/memory: extract pgvector adapter | 4K | | SA-P2-004 | done | sonnet | Update gateway modules to use factories + DI tokens | 5K | | SA-P2-005 | done | opus | Verify Phase 2: all tests pass, typecheck clean | — | | SA-P3-001 | done | sonnet | Implement local queue adapter: JSON file persistence | 5K | | SA-P3-002 | done | sonnet | Implement SQLite storage adapter with better-sqlite3 | 8K | | SA-P3-003 | done | sonnet | Implement keyword memory adapter — no vector dependency | 4K | | SA-P3-004 | done | opus | Verify Phase 3: 42 new tests, 347 total passing | — | | SA-P4-001 | done | sonnet | MosaicConfig schema + loader with tier auto-detection | 6K | | SA-P4-002 | done | sonnet | CLI: mosaic gateway init — interactive wizard | 4K | | SA-P4-003 | done | sonnet | CLI: mosaic gateway start/stop/status lifecycle | 5K | | SA-P4-004 | done | opus | Verify Phase 4: 381 tests passing, 40/40 tasks clean | — | | SA-P5-001 | not-started | codex | Migration tooling: mosaic storage export/import | — | | SA-P5-002 | not-started | codex | Docker Compose profiles: local vs team | — | | SA-P5-003 | not-started | codex | Final verification + docs: README, architecture diagram | — |