88ce8df099
Bookkeeping: 13 .tasks.json files closed — the 8 the audit named, plus
mesh-phase4 (Task 9 landed 3a590a0c), the 4th stillpending phase file, and
historian-tcp-transport closed as OBSOLETE (it targets the retired Wonderware
sidecar; there is no Wonderware backend in the tree). Each carries a
closureNote naming the evidence rather than just a status flip.
11 archreview live gates written back from STATUS.md, which had recorded them
passed since 2026-07-13/15 without ever updating the task files: R2-01 #11,
R2-02 #15/#18, R2-05 T15, R2-06 T12, R2-07 T5/T6/T12/T14, R2-11 T22/T24.
R2-03 and R2-10 were deliberately NOT closed. STATUS.md's headline says "every
Round-2 live gate is now GREEN", but its own per-item detail says R2-03 is
"live-blocked on this data-less rig" and R2-10 verified the pipeline with
"breaker-OPEN state not forced". Both now carry an openNote recording the
actual blocker.
The point of the sweep: ~140 phantom pending tasks are gone, so the genuinely
unexecuted 19-task AdminUI follow-ups plan is now the largest open item in
docs/plans/ instead of being buried under work that shipped months ago.
Tier truth: docs/v2/driver-stability.md now states that its tier table is
aspirational — every driver runs Tier A because no factory passes a tier, so
MemoryRecycle and ScheduledRecycleScheduler have never engaged, and the config
parser validates a RecycleIntervalSeconds that does nothing. It also corrects a
staleness the audit missed: the separate-Windows-service hosting it describes
for Tier C no longer exists (Galaxy moved to the mxaccessgw sidecar in PR 7.2,
FOCAS went in-process with its managed wire client). docs/drivers/README.md
already said Tier A for both, so the two no longer contradict.
No runtime change — enabling recycle on two live drivers wants its own live
gate, not a docs-pass side effect. Keep-or-delete tracked as Gitea #522.
82 lines
2.2 KiB
JSON
82 lines
2.2 KiB
JSON
{
|
|
"planPath": "docs/plans/2026-06-15-stillpending-phase-3-opcua-standards.md",
|
|
"branch": "feat/stillpending-phase-3-opcua-standards",
|
|
"tasks": [
|
|
{
|
|
"id": 423,
|
|
"subject": "P3 Task 1: H2-bit \u2014 NodePermissions.HistoryUpdate + evaluator mapping",
|
|
"status": "completed"
|
|
},
|
|
{
|
|
"id": 424,
|
|
"subject": "P3 Task 2: H6a \u2014 mark native conditions (isNative through the sink)",
|
|
"status": "completed"
|
|
},
|
|
{
|
|
"id": 425,
|
|
"subject": "P3 Task 3: H4 \u2014 wire OnEnableDisable over OPC UA",
|
|
"status": "completed",
|
|
"blockedBy": [
|
|
424
|
|
]
|
|
},
|
|
{
|
|
"id": 426,
|
|
"subject": "P3 Task 4: H6b \u2014 AlarmAcknowledgeRequest.OperatorUser + Galaxy/ScriptedAlarmSource",
|
|
"status": "completed"
|
|
},
|
|
{
|
|
"id": 427,
|
|
"subject": "P3 Task 5: H6c \u2014 NativeAlarmAckRouter seam + native OnAcknowledge routing",
|
|
"status": "completed",
|
|
"blockedBy": [
|
|
424
|
|
]
|
|
},
|
|
{
|
|
"id": 428,
|
|
"subject": "P3 Task 6: H6d \u2014 DriverHostActor inverse map + native-ack route to driver",
|
|
"status": "completed",
|
|
"blockedBy": [
|
|
426,
|
|
427
|
|
]
|
|
},
|
|
{
|
|
"id": 429,
|
|
"subject": "P3 Task 7: H6e \u2014 wire NativeAlarmAckRouter in host DI",
|
|
"status": "completed",
|
|
"blockedBy": [
|
|
427,
|
|
428
|
|
]
|
|
},
|
|
{
|
|
"id": 430,
|
|
"subject": "P3 Task 8: Docs \u2014 Enable/Disable + native-ack\u2192AVEVA + HistoryUpdate bit",
|
|
"status": "completed"
|
|
},
|
|
{
|
|
"id": 431,
|
|
"subject": "P3 Task 9: Full build + test + final integration review",
|
|
"status": "completed",
|
|
"blockedBy": [
|
|
423,
|
|
425,
|
|
429,
|
|
430
|
|
]
|
|
},
|
|
{
|
|
"id": 432,
|
|
"subject": "P3 Task 10: Live /run \u2014 H4 Enable/Disable + H6 native-ack route",
|
|
"status": "completed",
|
|
"blockedBy": [
|
|
431
|
|
]
|
|
}
|
|
],
|
|
"lastUpdated": "2026-07-27",
|
|
"closureNote": "Shipped \u2014 the stillpending backlog audit cites the landing commits (1e95856b, ada01e1a, fc8121cb, 3e609a2b, 70e6d3d2, c236263e, bd8fee61, 5e27b5f7, fcb38014). Marked complete 2026-07-27 (deferment.md \u00a78.5)."
|
|
}
|