From d77124b191ab129eed0adfdca1a47e67e5dc749a Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 11 Jun 2026 15:24:30 -0400 Subject: [PATCH] =?UTF-8?q?chore(uns):=20mark=20plan=20tasks=20T0=E2=80=93?= =?UTF-8?q?T10=20complete=20(resume=20snapshot)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-06-11-equipment-page.md.tasks.json | 148 ++++++++++++++++-- 1 file changed, 135 insertions(+), 13 deletions(-) diff --git a/docs/plans/2026-06-11-equipment-page.md.tasks.json b/docs/plans/2026-06-11-equipment-page.md.tasks.json index e00a74d7..50f2ab76 100644 --- a/docs/plans/2026-06-11-equipment-page.md.tasks.json +++ b/docs/plans/2026-06-11-equipment-page.md.tasks.json @@ -4,21 +4,143 @@ "branch": "feat/uns-equipment-page", "baseBranch": "master", "baseSha": "df2a488b", - "status": "pending", + "status": "in_progress", "note": "Tabbed Equipment detail page for UNS. Reuse TagModal+VirtualTagModal UNCHANGED; only the Alarms editor is new. NO Configuration entity/EF migration. Same-file contention: UnsTreeService.cs+IUnsTreeService.cs serialize T1->T2->T3->(T4 picker-context if added)->T8; EquipmentPage.razor serializes T4->T5->T6. Build-green invariant: LoadEquipmentChildrenAsync removed (T8) only after its last caller GlobalUns is rewired (T7). EquipmentModal.razor deleted in T7 (TagModal/VirtualTagModal KEPT). UnsMutationResult gains a defaulted CreatedId so ~50 call sites stay compiling.", "tasks": [ - {"id": 267, "planTask": 0, "subject": "T0: Create feature branch", "classification": "trivial", "status": "pending", "blockedBy": []}, - {"id": 268, "planTask": 1, "subject": "T1: UnsMutationResult.CreatedId + equipment create", "classification": "small", "status": "pending", "blockedBy": [267]}, - {"id": 269, "planTask": 2, "subject": "T2: Per-equipment Tag/VirtualTag list methods", "classification": "standard", "status": "pending", "blockedBy": [268]}, - {"id": 270, "planTask": 3, "subject": "T3: Scripted-alarm CRUD in IUnsTreeService", "classification": "standard", "status": "pending", "blockedBy": [269]}, - {"id": 271, "planTask": 4, "subject": "T4: EquipmentPage shell + Details tab + create-redirect", "classification": "high-risk", "status": "pending", "blockedBy": [268, 270]}, - {"id": 272, "planTask": 5, "subject": "T5: Tags + Virtual Tags tabs (reuse modals)", "classification": "standard", "status": "pending", "blockedBy": [269, 271]}, - {"id": 273, "planTask": 6, "subject": "T6: Alarms tab + ScriptedAlarmModal", "classification": "standard", "status": "pending", "blockedBy": [270, 272]}, - {"id": 274, "planTask": 7, "subject": "T7: /uns tree surgery; remove EquipmentModal", "classification": "high-risk", "status": "pending", "blockedBy": [271], "parallelizableWith": [276]}, - {"id": 275, "planTask": 8, "subject": "T8: Remove dead LoadEquipmentChildrenAsync", "classification": "small", "status": "pending", "blockedBy": [269, 274], "parallelizableWith": [276]}, - {"id": 276, "planTask": 9, "subject": "T9: Delete standalone scripted-alarm pages + nav link", "classification": "small", "status": "pending", "blockedBy": [273], "parallelizableWith": [274, 275]}, - {"id": 277, "planTask": 10, "subject": "T10: Docs", "classification": "small", "status": "pending", "blockedBy": []}, - {"id": 278, "planTask": 11, "subject": "T11: Full-suite gate + live /run verify + finish", "classification": "standard", "status": "pending", "blockedBy": [273, 274, 275, 276, 277]} + { + "id": 267, + "planTask": 0, + "subject": "T0: Create feature branch", + "classification": "trivial", + "status": "completed", + "blockedBy": [] + }, + { + "id": 268, + "planTask": 1, + "subject": "T1: UnsMutationResult.CreatedId + equipment create", + "classification": "small", + "status": "completed", + "blockedBy": [ + 267 + ] + }, + { + "id": 269, + "planTask": 2, + "subject": "T2: Per-equipment Tag/VirtualTag list methods", + "classification": "standard", + "status": "completed", + "blockedBy": [ + 268 + ] + }, + { + "id": 270, + "planTask": 3, + "subject": "T3: Scripted-alarm CRUD in IUnsTreeService", + "classification": "standard", + "status": "completed", + "blockedBy": [ + 269 + ] + }, + { + "id": 271, + "planTask": 4, + "subject": "T4: EquipmentPage shell + Details tab + create-redirect", + "classification": "high-risk", + "status": "completed", + "blockedBy": [ + 268, + 270 + ] + }, + { + "id": 272, + "planTask": 5, + "subject": "T5: Tags + Virtual Tags tabs (reuse modals)", + "classification": "standard", + "status": "completed", + "blockedBy": [ + 269, + 271 + ] + }, + { + "id": 273, + "planTask": 6, + "subject": "T6: Alarms tab + ScriptedAlarmModal", + "classification": "standard", + "status": "completed", + "blockedBy": [ + 270, + 272 + ] + }, + { + "id": 274, + "planTask": 7, + "subject": "T7: /uns tree surgery; remove EquipmentModal", + "classification": "high-risk", + "status": "completed", + "blockedBy": [ + 271 + ], + "parallelizableWith": [ + 276 + ] + }, + { + "id": 275, + "planTask": 8, + "subject": "T8: Remove dead LoadEquipmentChildrenAsync", + "classification": "small", + "status": "completed", + "blockedBy": [ + 269, + 274 + ], + "parallelizableWith": [ + 276 + ] + }, + { + "id": 276, + "planTask": 9, + "subject": "T9: Delete standalone scripted-alarm pages + nav link", + "classification": "small", + "status": "completed", + "blockedBy": [ + 273 + ], + "parallelizableWith": [ + 274, + 275 + ] + }, + { + "id": 277, + "planTask": 10, + "subject": "T10: Docs", + "classification": "small", + "status": "completed", + "blockedBy": [] + }, + { + "id": 278, + "planTask": 11, + "subject": "T11: Full-suite gate + live /run verify + finish", + "classification": "standard", + "status": "in_progress", + "blockedBy": [ + 273, + 274, + 275, + 276, + 277 + ] + } ], "lastUpdated": "2026-06-11" }