{ "planPath": "docs/plans/2026-06-26-otopcua-fixedtree-followups.md", "tasks": [ { "id": 1, "subject": "Task 1: Injectable discovery timeout (A)", "status": "completed", "nativeId": 38, "commits": [ "c2c368dc" ] }, { "id": 2, "subject": "Task 2: RediscoverPolicy enum + driver overrides (B1)", "status": "completed", "nativeId": 39, "commits": [ "a378b572", "efbdaf85" ] }, { "id": 3, "subject": "Task 3: DriverInstanceActor honors policy (B2)", "status": "completed", "blockedBy": [ 1, 2 ], "nativeId": 40, "commits": [ "ce34816a", "a1a655e6" ] }, { "id": 4, "subject": "Task 4: TriggerRediscovery message + handler (C1)", "status": "completed", "blockedBy": [ 3 ], "nativeId": 41, "commits": [ "f7358bf4", "e7d5ebe9" ] }, { "id": 5, "subject": "Task 5: EquipmentNode DriverInstanceId/DeviceId/DeviceHost (E projection)", "status": "completed", "nativeId": 42, "commits": [ "cb7ce7f1", "915492a7" ] }, { "id": 6, "subject": "Task 6: DriverHostActor cache-as-dict + driver-level resolution (E1)", "status": "completed", "blockedBy": [ 5 ], "nativeId": 43, "commits": [ "adcd7b57" ] }, { "id": 7, "subject": "Task 7: Re-trigger discovery on rebind drop (C2)", "status": "completed", "blockedBy": [ 4, 6 ], "nativeId": 44, "commits": [ "53367148", "cde16063" ] }, { "id": 8, "subject": "Task 8: Single SetDesiredSubscriptions per redeploy (D)", "status": "completed", "blockedBy": [ 7 ], "nativeId": 45, "commits": [ "05c82079", "51721df5" ] }, { "id": 9, "subject": "Task 9: Multi-device-per-driver partition (E2)", "status": "completed", "blockedBy": [ 5, 8 ], "nativeId": 46, "commits": [ "50f08635", "0074f37a" ] }, { "id": 10, "subject": "Task 10: Docs \u2014 follow-up notes + statuses", "status": "completed", "blockedBy": [ 9 ], "nativeId": 47 }, { "id": 11, "subject": "Task 11: Build + offline suite + regression gate", "status": "obsolete", "blockedBy": [ 2, 4, 9, 10 ], "nativeId": 48, "note": "Closed 2026-08-10 as obsolete: the FixedTree-under-Equipment injection feature this gate verified was deleted wholesale when #507 closed as superseded (DiscoveredNodesReady, DiscoveredNodeMapper, HandleDiscoveredNodes, the connect-time discovery loop, and the 18 DiscoveryInjectionDormantV3 tests are all gone in v3). A verification gate for deleted code verifies nothing. ITagDiscovery itself lives on via the /raw browse picker (DiscoveryDriverBrowser), which has its own coverage." } ], "nativeTaskIds": { "1": 38, "2": 39, "3": 40, "4": 41, "5": 42, "6": 43, "7": 44, "8": 45, "9": 46, "10": 47, "11": 48 }, "lastUpdated": "2026-06-26T00:00:00Z", "status": "code+docs complete; final build/suite gate pending", "branch": "feat/focas-fixedtree-equipment-injection" }