{ "planPath": "docs/plans/2026-09-02-inbound-api-key-shared-store.md", "tasks": [ { "id": 1, "subject": "Task 1: IApiKeyStoreMigrator abstraction + SQLite implements it (scadaproj)", "status": "completed", "model": "sonnet" }, { "id": 2, "subject": "Task 2: ZB.MOM.WW.Auth.ApiKeys.SqlServer skeleton + options + connection factory", "status": "completed", "blockedBy": [ 1 ], "model": "sonnet" }, { "id": 3, "subject": "Task 3: zbauth schema + concurrent-boot-safe migrator", "status": "completed", "blockedBy": [ 2 ], "model": "opus" }, { "id": 4, "subject": "Task 4: SqlServerApiKeyStore / AdminStore / AuditStore (contract tests live)", "status": "completed", "blockedBy": [ 3 ], "model": "opus" }, { "id": 5, "subject": "Task 5: SqliteApiKeyStoreImporter (idempotent union)", "status": "completed", "blockedBy": [ 4 ], "model": "opus" }, { "id": 6, "subject": "Task 6: AddZbApiKeyAuthSqlServer DI + README/changelog + version 0.3.0", "status": "completed", "blockedBy": [ 4 ], "model": "sonnet" }, { "id": 7, "subject": "Task 7: Publish 0.3.0 to the Gitea feed + umbrella index (user confirms push)", "status": "completed", "blockedBy": [ 5, 6 ], "model": "sonnet" }, { "id": 8, "subject": "Task 8: ScadaBridge pins 0.3.0 + InboundApiKeyStoreOptions (Provider)", "status": "completed", "blockedBy": [ 7 ], "model": "sonnet" }, { "id": 9, "subject": "Task 9: Program.cs provider composition + InboundApiKeyStoreImportService", "status": "completed", "blockedBy": [ 8 ], "model": "opus" }, { "id": 10, "subject": "Task 10: StartupValidator warning for clustered central on SQLite keys", "status": "completed", "blockedBy": [ 9 ], "model": "sonnet" }, { "id": 11, "subject": "Task 11: Docker rigs on the shared store; delete sync-inbound-api-keys.sh; drill without copying", "status": "completed", "blockedBy": [ 9 ], "model": "opus" }, { "id": 12, "subject": "Task 12: Docs, runbook, DBA SQL, env inventory, CLAUDE.md, register row 108, umbrella index", "status": "completed", "blockedBy": [ 9 ], "model": "sonnet" }, { "id": 13, "subject": "Task 13: Planned deployment record for QA vq03/vq04 and prod vd03", "status": "completed", "blockedBy": [ 12 ], "model": "sonnet" }, { "id": 14, "subject": "Task 14: Final cross-repo review (fable)", "status": "completed", "blockedBy": [ 10, 11, 12, 13 ], "model": "fable" } ], "lastUpdated": "2026-09-02T18:40:27Z" }