Task · SKT-0182.02

Migrate shipped blueprints to declared causes, one family per lane

Description

Following the sweep’s table, convert each family’s scenarios to declared resources and faults. Prove each by inventory diff and by reading the cause in the failing node’s logs and traces under -once -dump with the scenario active.

Acceptance Criteria

Definition of Done

Implementation Notes

loop58: internal/blueprint/causal_resources_test.go TestShippedBlueprintsHaveNoResourceTargets pins that no shipped blueprint declares resources; the first migration lane replaces it with an allow-list of blueprints permitted to declare resources (an intended behaviour change, named in the return).

loop58 closeout (2026-10-25): parked unlanded; see /Users/rob/repos/synthkit/codex/closeout-2026-10-25-loop58.md. F1+F2 superseded by the combined acme migration under SKT-0182.

Owner closeout: Family migration held for reference migration and realism decision.

Loop60 closeout: Family ledger remains partial and the reference parent is owner-parked after its second stop. Resume only after explicit parent reopening and accepted engine/cost contracts; retain full family inventory and counterfactual attribution, no broad golden refresh.

Final loop closeout: retained unlanded causal candidateaf34 has native/component review and final CodeRabbit passes, but the exact integrated full gate fails app-race600.139s. No candidate source was pushed or deployed. Preserve task-specific earlier evidence/limits; resume only after the aggregate owner stop and relevant dependency/owner decisions are resolved, with no timeout/assertion/case/isolation reduction or unchanged full-gate retry.

View the source file on GitHub