{ "planPath": "docs/plans/2026-06-12-historian-tcp-transport.md", "tasks": [ { "id": 0, "nativeTaskId": 296, "subject": "Task 0: Create feature branch", "status": "completed" }, { "id": 1, "nativeTaskId": 297, "subject": "Task 1: Add TCP/TLS fields to client options", "status": "completed", "blockedBy": [ 0 ] }, { "id": 2, "nativeTaskId": 298, "subject": "Task 2: Client TCP connect factory + FrameChannel rename", "status": "completed", "blockedBy": [ 1 ] }, { "id": 3, "nativeTaskId": 299, "subject": "Task 3: Switch client default ctor to TCP", "status": "completed", "blockedBy": [ 2 ] }, { "id": 4, "nativeTaskId": 300, "subject": "Task 4: Host config binding (Host/Port/TLS)", "status": "completed", "blockedBy": [ 1 ] }, { "id": 5, "nativeTaskId": 301, "subject": "Task 5: Sidecar TcpFrameServer", "status": "completed", "blockedBy": [ 0 ] }, { "id": 6, "nativeTaskId": 302, "subject": "Task 6: Sidecar Program.cs \u2014 TCP bootstrap + env", "status": "completed", "blockedBy": [ 5 ] }, { "id": 7, "nativeTaskId": 303, "subject": "Task 7: Remove dead pipe code + finalize options shape", "status": "completed", "blockedBy": [ 3, 4, 6 ] }, { "id": 8, "nativeTaskId": 304, "subject": "Task 8: Deploy scripts \u2014 env block + firewall + cert", "status": "completed", "blockedBy": [ 7 ] }, { "id": 9, "nativeTaskId": 305, "subject": "Task 9: AdminUI Test-Connect probe to host/port/TLS", "status": "completed", "blockedBy": [ 7 ] }, { "id": 10, "nativeTaskId": 306, "subject": "Task 10: Docs \u2014 TCP transport", "status": "completed", "blockedBy": [ 7 ] }, { "id": 11, "nativeTaskId": 307, "subject": "Task 11: Verification (build + test + live)", "status": "completed", "blockedBy": [ 8, 9, 10 ] } ], "lastUpdated": "2026-07-27", "closureNote": "OBSOLETE \u2014 targets the bespoke Wonderware TCP/ArchestrA historian sidecar, retired when HistorianGateway became the sole historian backend. There is no Wonderware backend in the tree. Closed as obsolete 2026-07-27 (deferment.md \u00a78.5)." }