diff --git a/docs/plans/2026-06-13-alarm-subtag-fallback.md.tasks.json b/docs/plans/2026-06-13-alarm-subtag-fallback.md.tasks.json index c1378c9..0d62168 100644 --- a/docs/plans/2026-06-13-alarm-subtag-fallback.md.tasks.json +++ b/docs/plans/2026-06-13-alarm-subtag-fallback.md.tasks.json @@ -1,24 +1,147 @@ { "planPath": "docs/plans/2026-06-13-alarm-subtag-fallback.md", "tasks": [ - {"id": 54, "subject": "Task 1: Worker proto — watch-list, failover config, AlarmProviderMode", "status": "pending"}, - {"id": 55, "subject": "Task 2: Gateway proto — provider status, degraded provenance, mode-changed event", "status": "pending", "blockedBy": [54]}, - {"id": 56, "subject": "Task 3: Proto round-trip tests for new alarm fields", "status": "pending", "blockedBy": [54, 55]}, - {"id": 57, "subject": "Task 4: Subtag value-source abstraction + synthesis state machine", "status": "pending", "blockedBy": [54]}, - {"id": 58, "subject": "Task 5: SubtagAlarmConsumer over the source seam", "status": "pending", "blockedBy": [57]}, - {"id": 59, "subject": "Task 6: COM-backed LmxSubtagAlarmSource", "status": "pending", "blockedBy": [57]}, - {"id": 60, "subject": "Task 7: FailoverAlarmConsumer state machine", "status": "pending", "blockedBy": [58]}, - {"id": 61, "subject": "Task 8: Synthetic GUID + degraded flag on event sink path", "status": "pending", "blockedBy": [55]}, - {"id": 62, "subject": "Task 9: Wire watch-list/failover through AlarmCommandHandler; emit mode-changed", "status": "pending", "blockedBy": [58, 60, 61]}, - {"id": 63, "subject": "Task 10: AlarmsOptions.Fallback + validation", "status": "pending"}, - {"id": 64, "subject": "Task 11: Galaxy Repository alarm-attributes discovery query", "status": "pending"}, - {"id": 65, "subject": "Task 12: Watch-list resolver (GR SQL + config override)", "status": "pending", "blockedBy": [54, 63, 64]}, - {"id": 66, "subject": "Task 13: Metrics — provider-mode gauge + switch counter", "status": "pending"}, - {"id": 67, "subject": "Task 14: GatewayAlarmMonitor — arm watch-list, reflect mode, reconcile on switch", "status": "pending", "blockedBy": [55, 62, 65, 66]}, - {"id": 68, "subject": "Task 15: Dashboard — push provider status + UI badge", "status": "pending", "blockedBy": [67]}, - {"id": 69, "subject": "Task 16: End-to-end fake-worker failover test", "status": "pending", "blockedBy": [67]}, - {"id": 70, "subject": "Task 17: Live subtag smoke test (opt-in)", "status": "pending", "blockedBy": [59, 62]}, - {"id": 71, "subject": "Task 18: Documentation", "status": "pending", "blockedBy": [67]} + { + "id": 54, + "subject": "Task 1: Worker proto \u2014 watch-list, failover config, AlarmProviderMode", + "status": "completed" + }, + { + "id": 55, + "subject": "Task 2: Gateway proto \u2014 provider status, degraded provenance, mode-changed event", + "status": "completed", + "blockedBy": [ + 54 + ] + }, + { + "id": 56, + "subject": "Task 3: Proto round-trip tests for new alarm fields", + "status": "completed", + "blockedBy": [ + 54, + 55 + ] + }, + { + "id": 57, + "subject": "Task 4: Subtag value-source abstraction + synthesis state machine", + "status": "completed", + "blockedBy": [ + 54 + ] + }, + { + "id": 58, + "subject": "Task 5: SubtagAlarmConsumer over the source seam", + "status": "completed", + "blockedBy": [ + 57 + ] + }, + { + "id": 59, + "subject": "Task 6: COM-backed LmxSubtagAlarmSource", + "status": "completed", + "blockedBy": [ + 57 + ] + }, + { + "id": 60, + "subject": "Task 7: FailoverAlarmConsumer state machine", + "status": "completed", + "blockedBy": [ + 58 + ] + }, + { + "id": 61, + "subject": "Task 8: Synthetic GUID + degraded flag on event sink path", + "status": "completed", + "blockedBy": [ + 55 + ] + }, + { + "id": 62, + "subject": "Task 9: Wire watch-list/failover through AlarmCommandHandler; emit mode-changed", + "status": "completed", + "blockedBy": [ + 58, + 60, + 61 + ] + }, + { + "id": 63, + "subject": "Task 10: AlarmsOptions.Fallback + validation", + "status": "completed" + }, + { + "id": 64, + "subject": "Task 11: Galaxy Repository alarm-attributes discovery query", + "status": "completed" + }, + { + "id": 65, + "subject": "Task 12: Watch-list resolver (GR SQL + config override)", + "status": "completed", + "blockedBy": [ + 54, + 63, + 64 + ] + }, + { + "id": 66, + "subject": "Task 13: Metrics \u2014 provider-mode gauge + switch counter", + "status": "completed" + }, + { + "id": 67, + "subject": "Task 14: GatewayAlarmMonitor \u2014 arm watch-list, reflect mode, reconcile on switch", + "status": "completed", + "blockedBy": [ + 55, + 62, + 65, + 66 + ] + }, + { + "id": 68, + "subject": "Task 15: Dashboard \u2014 push provider status + UI badge", + "status": "completed", + "blockedBy": [ + 67 + ] + }, + { + "id": 69, + "subject": "Task 16: End-to-end fake-worker failover test", + "status": "completed", + "blockedBy": [ + 67 + ] + }, + { + "id": 70, + "subject": "Task 17: Live subtag smoke test (opt-in)", + "status": "completed", + "blockedBy": [ + 59, + 62 + ] + }, + { + "id": 71, + "subject": "Task 18: Documentation", + "status": "completed", + "blockedBy": [ + 67 + ] + } ], - "lastUpdated": "2026-06-13T12:40:00Z" -} + "lastUpdated": "2026-06-13T13:30:00Z" +} \ No newline at end of file