{ "planPath": "archreview/plans/PLAN-05-templates-deployment-transport.md", "tasks": [ { "id": 1, "subject": "Task 1: Wire template inheritance edges in the import apply path", "status": "completed", "blockedBy": [] }, { "id": 2, "subject": "Task 2: Import-time acyclicity check over the merged template graph", "status": "completed", "blockedBy": [1] }, { "id": 3, "subject": "Task 3: Carry MinTimeBetweenRuns/ExecutionTimeoutSeconds through import", "status": "completed", "blockedBy": [2] }, { "id": 4, "subject": "Task 4: Add LockedInDerived to template child DTOs and apply paths", "status": "completed", "blockedBy": [3] }, { "id": 5, "subject": "Task 5: Transport template NativeAlarmSources end-to-end", "status": "pending", "blockedBy": [4] }, { "id": 6, "subject": "Task 6: Single-source per-entity field comparers for diff + sync", "status": "pending", "blockedBy": [5] }, { "id": 7, "subject": "Task 7: Export real AreaName (finish half-shipped Area transport)", "status": "completed", "blockedBy": [] }, { "id": 8, "subject": "Task 8: Round-trip export→import equivalence test suite", "status": "pending", "blockedBy": [5, 6, 7] }, { "id": 9, "subject": "Task 9: Fix repeated-composition member loss in FlatteningService", "status": "completed", "blockedBy": [] }, { "id": 10, "subject": "Task 10: Fix CollisionDetector blindness under repeated composition", "status": "completed", "blockedBy": [9] }, { "id": 11, "subject": "Task 11: Add NativeAlarmSources to RevisionHashService (planned hash migration)", "status": "completed", "blockedBy": [13] }, { "id": 12, "subject": "Task 12: Add NativeAlarmSources to DiffService", "status": "completed", "blockedBy": [13] }, { "id": 13, "subject": "Task 13: Enforce locks on native alarm source overrides", "status": "completed", "blockedBy": [] }, { "id": 14, "subject": "Task 14: Script-artifact invalidation contract — Commons seam + Transport publisher (plan-06 handoff)", "status": "pending", "blockedBy": [] }, { "id": 15, "subject": "Task 15: Cache script compile verdicts by code hash", "status": "completed", "blockedBy": [] }, { "id": 16, "subject": "Task 16: Skip script compilation on read-only staleness/comparison paths", "status": "completed", "blockedBy": [] }, { "id": 17, "subject": "Task 17: Isolate the post-success deployment audit write", "status": "completed", "blockedBy": [16] }, { "id": 18, "subject": "Task 18: Delete NotDeployed instances without a site round-trip", "status": "completed", "blockedBy": [17] }, { "id": 19, "subject": "Task 19: Import blocker heuristic — local-declaration exclusion, denylist additions, warning severity", "status": "pending", "blockedBy": [6] }, { "id": 20, "subject": "Task 20: Run the script trust gate on bundle import", "status": "pending", "blockedBy": [19] }, { "id": 21, "subject": "Task 21: Harden the ScriptTrustPolicy deny-list", "status": "completed", "blockedBy": [] }, { "id": 22, "subject": "Task 22: Bound LineDiffer input size", "status": "completed", "blockedBy": [] }, { "id": 23, "subject": "Task 23: Fix ArtifactDiff placeholder-identity comparisons", "status": "pending", "blockedBy": [20] }, { "id": 24, "subject": "Task 24: Low-severity cleanup batch (session cap, full error lists, semantic-validator warning)", "status": "pending", "blockedBy": [15, 19] }, { "id": 25, "subject": "Task 25: Design-doc + CLAUDE.md sync sweep and deferred-decision ledger", "status": "pending", "blockedBy": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] } ], "lastUpdated": "2026-07-09 (Wave 4 COMPLETE: T4, T11, T12 done — 16/25. T4 (LockedInDerived on template child DTOs: EntityDtos+EntitySerializer+BundleImporter, additive trailing bool) done in-plan-worktree (opens the serial BundleImporter chain, high-risk); T11 (RevisionHashService NativeAlarmSources, null-when-empty surgical hash, pinned baseline) + T12 (DiffService+ConfigurationDiff NativeAlarmSources, generic DiffEntry) via off-main isolated agents — BOTH had to cherry-pick T13 (57f7f657) into their off-main base first since ResolvedNativeAlarmSource.IsLocked is absent on main; grafted their fix commits (0cd01772→0302694f, cbc70c4d→d8332199) onto the plan branch which already has T13. Combined build 0/0 + suites green: Transport 130 unit/69 integ, TemplateEngine 463, DeploymentManager 112. HEAD d8332199. Ready set now: {5 (BundleImporter chain, in-worktree serial after T4✓), 14 (Commons+Host+BundleImporter publish hook — serialize w/ T5 chain), 24 (blockedBy 15✓,19-pending → still blocked)}. Chain remaining: T5→T6→T19→T20→T23 all in-plan-worktree serial through BundleImporter.cs; T8 (round-trip test suite) after 5,6,7✓. T14 also edits BundleImporter → serialize with the chain, NOT parallel.)" }