docs: inbound API key store — shared SQL Server provider on central pairs (spec, runbook + central-pairs procedure, DBA DDL copy, topology, env inventory, CLAUDE.md, register row 108 closed with rig proof, row 109 Secrets backoff follow-up, Delmia spec §8)
Claude-Session: https://claude.ai/code/session_013L3XdmVii9i5sY4FChU8pB
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"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": "in_progress",
|
||||
"blockedBy": [
|
||||
9
|
||||
],
|
||||
"model": "opus"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"subject": "Task 12: Docs, runbook, DBA SQL, env inventory, CLAUDE.md, register row 108, umbrella index",
|
||||
"status": "in_progress",
|
||||
"blockedBy": [
|
||||
9
|
||||
],
|
||||
"model": "sonnet"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"subject": "Task 13: Planned deployment record for QA vq03/vq04 and prod vd03",
|
||||
"status": "pending",
|
||||
"blockedBy": [
|
||||
12
|
||||
],
|
||||
"model": "sonnet"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"subject": "Task 14: Final cross-repo review (fable)",
|
||||
"status": "pending",
|
||||
"blockedBy": [
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13
|
||||
],
|
||||
"model": "fable"
|
||||
}
|
||||
],
|
||||
"lastUpdated": "2026-09-02T18:40:27Z"
|
||||
}
|
||||
Reference in New Issue
Block a user