Files
scadaproj/docs/plans/2026-08-07-secrets-central-shared-sql-store.md.tasks.json
Joseph Doherty 46523db2bd docs(secrets): close scadaproj#4 — central shared SQL store + failover shipped
Program closeout: scadaproj#4 CLOSED (comment issuecomment-5751) — ScadaBridge's
central pair now runs ONE shared SQL-Server store in Grpc mode (0.5.0
FallbackEndpoints, 0.5.1 virgin-DB migrator race fix; ScadaBridge @ e697477c),
live-gated PASS 5/5 + re-drill. The pre-Serilog container-wedge defect the gate
reproduced twice is filed as ScadaBridge#34 (pre-existing, out of program scope).

- clustered-secrets.md: central pair = one shared SQL store (connstr literal/env,
  never ${secret:}); rewrap = ONE central run + both nodes of each site pair;
  FallbackEndpoints same-store-only rule; 0.5.1 minimum for central pairs
- components/secrets/GAPS.md: resolution section appended; stale wait-on-#4 struck
- CLAUDE.md Secrets row: #4 CLOSED, family 0.5.1, gate + residual recorded
- tasks.json: all 6 tasks completed

Claude-Session: https://claude.ai/code/session_014WNM4vjoVksyyBraTXSZE1
2026-08-07 11:43:53 -04:00

13 lines
2.0 KiB
JSON

{
"planPath": "docs/plans/2026-08-07-secrets-central-shared-sql-store.md",
"tasks": [
{"id": 1, "subject": "Task 1: Library — FallbackEndpoints + failover hub reader", "status": "completed", "classification": "high-risk", "parallelizableWith": [2], "note": "FailoverSecretsHubReader + FallbackEndpoints validation + DI composition, zero-fallback shape byte-identical; scadaproj main @ 7a2980e."},
{"id": 2, "subject": "Task 2: ScadaBridge — central shared SQL store + Layer-A expander", "status": "completed", "classification": "high-risk", "parallelizableWith": [1], "note": "AddZbSecretsSqlServerStore on central + EnsureCentralSharedStoreConnectionString fail-closed pre-checks + expander swap; 472 offline tests; ScadaBridge main @ 68f812ea."},
{"id": 3, "subject": "Task 3: Publish family 0.5.0", "status": "completed", "classification": "small", "blockedBy": [1], "note": "0.5.0 published (6 pkgs, restore-verified) @ e62b4a5; 0.5.1 followed @ 31ca940 (virgin-DB concurrent migrator race fix found by the live gate)."},
{"id": 4, "subject": "Task 4: ScadaBridge — pin bump 0.5.0 + fallback endpoint wiring", "status": "completed", "classification": "standard", "blockedBy": [2, 3], "note": "Pins + FallbackEndpoints wiring in 68f812ea; bumped to 0.5.1 @ e697477c after the gate. All pushed."},
{"id": 5, "subject": "Task 5: Live gate on the docker cluster", "status": "completed", "classification": "high-risk", "blockedBy": [4], "note": "PASS 5/5 + 0.5.1 virgin-DB re-drill (ScadaBridge/docs/plans/2026-08-07-secrets-central-shared-store-live-gate.md, @ 4d7f09d5/e697477c); found the 0.5.1 migrator race + the pre-Serilog wedge (ScadaBridge#34)."},
{"id": 6, "subject": "Task 6: Closeout — #4 close, runbook, GAPS, index", "status": "completed", "classification": "small", "blockedBy": [5], "note": "scadaproj#4 CLOSED (issuecomment-5751); wedge filed as ScadaBridge#34; clustered-secrets.md rewrap/topology rewrite; GAPS.md + CLAUDE.md Secrets row updated."}
],
"lastUpdated": "2026-08-07"
}