From f13a89dbc349eabb218948a7eb29d2ad20bbe8f6 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Wed, 5 Aug 2026 07:12:59 -0400 Subject: [PATCH] =?UTF-8?q?docs(mtconnect):=20final-review=20nits=20?= =?UTF-8?q?=E2=80=94=20two=20stale=20read-only=20comments;=20task=20status?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-08-05-mtconnect-writeback.md.tasks.json | 12 ++++++------ .../DriverTypeNames.cs | 3 ++- .../Uns/TagEditors/MTConnectTagConfigModel.cs | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/plans/2026-08-05-mtconnect-writeback.md.tasks.json b/docs/plans/2026-08-05-mtconnect-writeback.md.tasks.json index cf23733a..17c9832a 100644 --- a/docs/plans/2026-08-05-mtconnect-writeback.md.tasks.json +++ b/docs/plans/2026-08-05-mtconnect-writeback.md.tasks.json @@ -1,12 +1,12 @@ { "planPath": "docs/plans/2026-08-05-mtconnect-writeback.md", "tasks": [ - { "id": 0, "subject": "Task 0: Write options block (config + parse)", "status": "pending" }, - { "id": 1, "subject": "Task 1: Agent-client write seam", "status": "pending" }, - { "id": 2, "subject": "Task 2: MTConnectDriver IWritable + discovery stamping", "status": "pending", "blockedBy": [0, 1] }, - { "id": 3, "subject": "Task 3: Integration fixture + write legs", "status": "pending", "blockedBy": [2] }, - { "id": 4, "subject": "Task 4: Docs reconciliation (MTConnect + stale MQTT records)", "status": "pending", "blockedBy": [2] }, - { "id": 5, "subject": "Task 5: Full-suite verification", "status": "pending", "blockedBy": [3, 4] }, + { "id": 0, "subject": "Task 0: Write options block (config + parse)", "status": "completed" }, + { "id": 1, "subject": "Task 1: Agent-client write seam", "status": "completed" }, + { "id": 2, "subject": "Task 2: MTConnectDriver IWritable + discovery stamping", "status": "completed", "blockedBy": [0, 1] }, + { "id": 3, "subject": "Task 3: Integration fixture + write legs", "status": "completed", "blockedBy": [2] }, + { "id": 4, "subject": "Task 4: Docs reconciliation (MTConnect + stale MQTT records)", "status": "completed", "blockedBy": [2] }, + { "id": 5, "subject": "Task 5: Full-suite verification", "status": "completed", "blockedBy": [3, 4] }, { "id": 6, "subject": "Task 6: Live gate (main session, headless)", "status": "pending", "blockedBy": [5] } ], "lastUpdated": "2026-08-05T00:00:00Z" diff --git a/src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverTypeNames.cs b/src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverTypeNames.cs index b08039a4..5c03e45e 100644 --- a/src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverTypeNames.cs +++ b/src/Core/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverTypeNames.cs @@ -58,7 +58,8 @@ public static class DriverTypeNames /// MQTT / Sparkplug B broker-subscription driver. public const string Mqtt = "Mqtt"; - /// MTConnect Agent driver — read-only HTTP/XML over an Agent's probe/current/sample surface. + /// MTConnect Agent driver — HTTP/XML over an Agent's probe/current/sample surface, plus + /// opt-in observation write-back via the Agent's AllowPut POST surface. public const string MTConnect = "MTConnect"; /// diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/MTConnectTagConfigModel.cs b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/MTConnectTagConfigModel.cs index 6f6d8096..30898795 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/MTConnectTagConfigModel.cs +++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Uns/TagEditors/MTConnectTagConfigModel.cs @@ -4,8 +4,8 @@ using ZB.MOM.WW.OtOpcUa.Core.Abstractions; namespace ZB.MOM.WW.OtOpcUa.AdminUI.Uns.TagEditors; /// Typed working model for an MTConnect tag's TagConfig JSON. The tag binds a single Agent -/// DataItem by its id attribute ( — MTConnect is read-only, so -/// there is no address encoding beyond the id); the remaining fields are probe-sourced display +/// DataItem by its id attribute ( — reads and writes both address +/// the DataItem by id, so there is no address encoding beyond it); the remaining fields are probe-sourced display /// metadata plus an author-settable type override. Preserves unrecognised JSON keys across a /// load→save. ///