From 0319cf5de247808eb980871f0833983634177839 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 10 Aug 2026 05:45:49 -0400 Subject: [PATCH] =?UTF-8?q?docs(plans):=20trim=20device-gated=20proofs=20b?= =?UTF-8?q?undle=20=E2=80=94=20Phase=20C=20T7=20+=20Phase=20B=20T9=20remov?= =?UTF-8?q?ed=20as=20covered=20(historian=20cutover=20gate=20/=20dcb0be65)?= =?UTF-8?q?;=20branch=20cleanup=20left=20master=20only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deferment.md | 7 +++++-- docs/plans/2026-06-19-followups-batch.md | 4 +++- docs/plans/2026-06-19-followups-batch.md.tasks.json | 5 +++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/deferment.md b/deferment.md index ddcb85e5..221f174a 100644 --- a/deferment.md +++ b/deferment.md @@ -1316,8 +1316,11 @@ against the current tree, then one Opus agent ran the two runnable verifies. No **Open plan tasks are now 3**, all deliberate: F10b surgical DataType/IsArray + alarm-severity `SetSeverity` (reconsider gates — premises re-verified still true on the current tree: `TagDeltaIsSurgicalEligible` still rebuild-forces DataType/IsArray; the node manager still projects -engine-computed severity) and the device-gated proofs (hardware-blocked; two sub-items possibly -part-covered by the 2026-06-27 historian gate and `dcb0be65`, worth trimming when next touched). +engine-computed severity) and the device-gated proofs (hardware-blocked; ~~two sub-items possibly +part-covered by the 2026-06-27 historian gate and `dcb0be65`, worth trimming when next touched~~ +*trimmed 2026-08-10: Phase C T7 (backend retired; HistoryRead-vs-AVEVA proven by the cutover gate + +#491 read-back) and Phase B T9 (equivalent proof live via `dcb0be65`) both removed — the bundle is +now H6 native-ack→AVEVA + the AbLegacy/TwinCAT/FOCAS probe happy-paths, all genuinely gated*). Side effect worth knowing: **the docker-dev rig now runs current master** (`6e7028e0856f`). --- diff --git a/docs/plans/2026-06-19-followups-batch.md b/docs/plans/2026-06-19-followups-batch.md index ad8bc56e..11710985 100644 --- a/docs/plans/2026-06-19-followups-batch.md +++ b/docs/plans/2026-06-19-followups-batch.md @@ -89,4 +89,6 @@ build/test/rig. Finish a batch = ff-merge to master + push. **Classification:** verify · `lmxopcua-fix up s7 s7_1500` / `up abcip controllogix` from the Windows VM, then run the skip-gated probe E2E green path (`DriverProbeHandshakeE2eTests`). ### Task 11 (C3): Device-gated proofs — **BLOCKED (hardware)** -**Classification:** blocked · H6 native-ack→AVEVA, Galaxy Phase C historian T7, Phase B T9, AbLegacy/TwinCAT/FOCAS probe happy-paths — need Wonderware+AVEVA (`10.100.0.48`), a Galaxy native alarm, PLC5/SLC sim, ADS target, CNC+FWLIB. Captured; not executable here. +**Classification:** blocked · H6 native-ack→AVEVA + AbLegacy/TwinCAT/FOCAS probe happy-paths — need a Galaxy native alarm + AVEVA (`10.100.0.48`), PLC5/SLC sim, ADS target, CNC+FWLIB. Captured; not executable here. + +**Trimmed 2026-08-10 (audit):** two sub-items removed as covered by later work — **Galaxy Phase C historian T7** (its target backend, the Wonderware sidecar + `ServerHistorian:Host/Port/SharedSecret`, was retired in the HistorianGateway cutover; the substantive proof — OPC UA HistoryRead returning real-AVEVA samples — was delivered by the cutover live gate (read ✅, `docs/plans/2026-06-27-otopcua-historian-followups.md`) and the #491 read-back leg; historization is driver-agnostic, so no Galaxy-specific leg remains) and **Phase B T9** (equivalent proof achieved live via `dcb0be65`: the full native-alarm chain verified end-to-end — Part 9 condition materialized, `/alerts` row rendered — as `docs/plans/2026-06-18-stillpending-backlog-audit.md` §C already ruled). H6's live leg remains genuinely gated: it needs an *ack of a real Galaxy native alarm* flowing to AVEVA event history — the cutover gate proved the SendEvent transport but not this composition. diff --git a/docs/plans/2026-06-19-followups-batch.md.tasks.json b/docs/plans/2026-06-19-followups-batch.md.tasks.json index 6e611397..f566051c 100644 --- a/docs/plans/2026-06-19-followups-batch.md.tasks.json +++ b/docs/plans/2026-06-19-followups-batch.md.tasks.json @@ -167,11 +167,12 @@ { "id": 11, "ref": "C3", - "subject": "Device-gated proofs (H6 ack\u2192AVEVA, Phase C T7, Phase B T9, AbLegacy/TwinCAT/FOCAS probe)", + "subject": "Device-gated proofs (H6 ack->AVEVA, AbLegacy/TwinCAT/FOCAS probe) - trimmed 2026-08-10", "classification": "blocked", "status": "partial", "note": "Live-assessed 2026-06-19 (gateway 10.100.0.48:5120 reachable from this Mac, so the 'all blocked' label was partly stale). OUTCOMES: (Phase B T9) DONE \u2014 native-alarm PIPELINE proven end-to-end live on docker-dev: authored a Galaxy alarm tag (FullName=Galaxy!TestArea.TestMachine_001.TestAlarm001, alarm{alarmType:OffNormalAlarm,severity:750}) -> Galaxy driver opened the native-alarm subscription (previously-gated path) -> gateway transition materialised Part 9 condition GalaxyNativeAlarm (ns=2;s=EQ-55297329838d/GalaxyNativeAlarm) carrying the EXACT gateway raise time 2026-05-24T16:04:10.856Z, surfaced via ConditionRefresh. KEY FINDING: ConditionId match REQUIRES the 'Galaxy!' source prefix on the authored FullName (without it every transition is silently dropped). Severity 700 = MapSeverity(750) (MediumHigh bucket), not a bug. Net state Inactive/Unacked because the gateway replays weeks-old historical raises -> a fresh Active-state + live /alerts row needs an alarm triggered on the AVEVA side. (Phase C T7) DEFERRED config+data-gated \u2014 confirmed the historized Galaxy node materialises + server HistoryRead path returns GoodNoData/0-values with ServerHistorian.Enabled=false (correct NullHistorianDataSource degrade); live data needs enabling ServerHistorian + Wonderware sidecar on 10.100.0.48 + actual stored history (synthetic ref has none). (H6 ack->AVEVA) DEFERRED \u2014 ack SEND reachable but Galaxy AckMsg is write-only/fire-and-forget; confirming it LANDED needs AVEVA-side observation on 10.100.0.48. (AbLegacy/FOCAS/TwinCAT probe) DEFERRED \u2014 no local sims running + no live-target probe harness; TwinCAT(ADS) genuinely has no rig target. Rig restored (alarm tag removed, Galaxy back to value-only).", - "group": "C-blocked" + "group": "C-blocked", + "notes": "Trimmed 2026-08-10: Phase C T7 removed (Wonderware sidecar target retired in the HistorianGateway cutover; HistoryRead-vs-real-AVEVA proven by the cutover live gate read leg + #491 read-back; historization is driver-agnostic so no Galaxy-specific leg remains). Phase B T9 removed (equivalent proof live via dcb0be65 - Part 9 condition + /alerts row end-to-end; already ruled by the 2026-06-18 backlog audit sC). Remaining, genuinely gated: H6 native-ack->AVEVA (needs an ack of a REAL Galaxy native alarm reaching AVEVA event history - the cutover gate proved SendEvent transport, not this composition) and the AbLegacy/TwinCAT/FOCAS probe happy-paths (PLC5/SLC sim, ADS target, CNC+FWLIB)." } ], "lastUpdated": "2026-06-19"