Files
lmxopcua/docs/plans/2026-06-11-alarm-followups-round2.md.tasks.json
T

19 lines
2.2 KiB
JSON

{
"planPath": "docs/plans/2026-06-11-alarm-followups-round2.md",
"designPath": "docs/plans/2026-06-11-alarm-followups-round2-design.md",
"branch": "feat/alarm-followups-r2",
"baseBranch": "master",
"baseSha": "3ad7960d",
"status": "completed",
"note": "Round-2 follow-ups. B (historian feeder): HistorianAdapterActor subscribes to the `alerts` DPS topic + translates AlarmTransitionEvent→AlarmHistorianEvent through the existing T2 Primary gate (kept — DPS fans the Primary's single publish to BOTH nodes' historians); AlarmTransitionEvent extended with AlarmTypeName + Comment (incl. a Core.ScriptedAlarms engine change to carry Comment through the emission); config-gated SqliteStoreAndForwardSink→Wonderware sink with Null fallback. Scripted alarms only. A (Galaxy alarm reconnect): verify+document only (gRPC keepalive unreachable — NuGet package). T1/T3/T4 mutually parallel by files; T2 after T1; T5 after T2/T3/T4. Same-assembly (Runtime) tasks serialise build/test even if files disjoint. NO bUnit, NO Configuration/EF change.",
"tasks": [
{"id": 249, "planTask": 0, "subject": "R2-T0: Branch + baseline", "classification": "trivial", "status": "completed", "blockedBy": []},
{"id": 250, "planTask": 1, "subject": "R2-T1: Extend AlarmTransitionEvent + carry Comment through engine emission (B1)", "classification": "standard", "status": "completed", "blockedBy": [249], "parallelizableWith": [252, 253]},
{"id": 251, "planTask": 2, "subject": "R2-T2: HistorianAdapterActor subscribes to alerts + translates (B2)", "classification": "high-risk", "status": "completed", "blockedBy": [249, 250]},
{"id": 252, "planTask": 3, "subject": "R2-T3: Config-gated durable sink (AddAlarmHistorian) + Host wiring (B3)", "classification": "standard", "status": "completed", "blockedBy": [249], "parallelizableWith": [250, 253]},
{"id": 253, "planTask": 4, "subject": "R2-T4: Galaxy alarm-reconnect acknowledger-recovery test + doc (A)", "classification": "small", "status": "completed", "blockedBy": [249], "parallelizableWith": [250, 252]},
{"id": 254, "planTask": 5, "subject": "R2-T5: Full-suite gate + docs + finish branch", "classification": "small", "status": "completed", "blockedBy": [251, 252, 253]}
],
"lastUpdated": "2026-06-15"
}