From 08c7a2bd427327a4a0e5033e9f70feef15d77e25 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 18 Jun 2026 06:19:47 -0400 Subject: [PATCH] chore(plan): mark OpcUaClient ReadEventsAsync tasks complete + live /run results --- ...26-06-18-opcuaclient-read-events.md.tasks.json | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/plans/2026-06-18-opcuaclient-read-events.md.tasks.json b/docs/plans/2026-06-18-opcuaclient-read-events.md.tasks.json index 53f11724..5b0c2ac5 100644 --- a/docs/plans/2026-06-18-opcuaclient-read-events.md.tasks.json +++ b/docs/plans/2026-06-18-opcuaclient-read-events.md.tasks.json @@ -1,13 +1,20 @@ { "planPath": "docs/plans/2026-06-18-opcuaclient-read-events.md", "designPath": "docs/plans/2026-06-18-opcuaclient-read-events-design.md", - "branch": "feat/opcuaclient-read-events", + "branch": "feat/opcuaclient-read-events (merged to master, deleted)", "baseSha": "bd791e79", "designCommit": "400bef47", + "mergeHead": "7a3d2712", + "executionState": "COMPLETE", "tasks": [ - {"id": 534, "subject": "Task 1: Pure cores — BuildBaseEventFilter + MapHistoryEvents + unit tests", "classification": "standard", "status": "pending"}, - {"id": 535, "subject": "Task 2: ReadEventsAsync wire-in + remove stale comment + flip contract test", "classification": "standard", "status": "pending", "blockedBy": [534]}, - {"id": 536, "subject": "Task 3: Integration smoke + docs + build + live /run + finish", "classification": "small", "status": "pending", "blockedBy": [535]} + {"id": 534, "subject": "Task 1: Pure cores — BuildBaseEventFilter + MapHistoryEvents + unit tests", "classification": "standard", "status": "completed", "commits": ["e8599638", "d48674ba (review fix)"], "reviews": "spec ✅ compliant; code APPROVED (I2 UTC-kind sentinel + M4 ns-0 test applied)"}, + {"id": 535, "subject": "Task 2: ReadEventsAsync wire-in + remove stale comment + flip contract test", "classification": "standard", "status": "completed", "commits": ["045f9ca2", "68637396 (doc fix)"], "reviews": "spec ✅ 16/16; code APPROVED (IHistoryProvider DIM comment corrected; session-capture-before-gate race = pre-existing follow-up, not introduced)"}, + {"id": 536, "subject": "Task 3: Integration smoke + docs + build + live /run + finish", "classification": "small", "status": "completed", "commits": ["7a3d2712"], "reviews": "final integration review = SHIP (no Critical/Important)", "liveRun": "PASS — event smoke 1/1 + full integration suite 4/4 green against a live opc-plc on localhost:50000 (wire path proven; non-empty events infra-gated)"} + ], + "reviewFollowUps": [ + "Session-capture-before-gate race in the 4 history methods (ReadRaw/Processed/AtTime/Events): apply the ReadAsync re-read-inside-gate idiom to all four together (pre-existing ExecuteHistoryReadAsync pattern; not introduced by this branch; theoretical disposed-session race during a reconnect mid-gate-wait).", + "Bridging a driver IHistoryProvider into the OtOpcUa server HistoryRead path (the server currently dispatches only to the single IHistorianDataSource; the driver capability is not server-consumed) — larger, separate concern.", + "Non-empty event-history live proof is infra-gated: needs an upstream OPC UA server that historizes events (opc-plc is not a historian)." ], "lastUpdated": "2026-06-18" }