🤖️ Prompt
End-to-end migration of the legacy compose/ tree onto the puzzle.puzzle5d@1 artifact schema, pinned to commit 5904ebe.
Scope:
- Establish a canonical test-directory contract for every atomic and semantic mutation:
<mutation>/🧪️tests/<test>/{mutation,diff,snapshot/{before,after},outcome} with text/binary/JSON encodings for each artifact class (snapshot: .dsl.semio/.pack.semio/.json; mutation: .op.semio/.spr.semio/.json; diff: .patch.semio/.patch.spr.semio/.json) plus a typed component.rs fixture descriptor.
- Complete the missing binary-diff protocol wiring (
IoDeclaration.native.diff.binary is currently None).
- Cover all 28 current atomic Puzzle5d mutations with fixtures, plus port every compose algorithm family (flatten, flatten-merkle, copy/paste, delete, move, diff/apply/invert, hash, validation, quality, filter-kit, find-replaceable-types, architect, representation export, kit-store) as either semantic mutations, inferences, or IO operations.
- Delete the parallel untyped document model:
Puzzle5dDocument, Puzzle5dPlaySnapshot, the serde_json::Value mutation bridge, before/after document comparison as the primary mutation producer, and legacy embedded-catalog normalization.
- Translate all compose fixtures/assets to new terminology (kit->kind catalogs, design->puzzle snapshot, type->part kind, piece->part, connector->grip template, port->grip kind, connection->fastener) via a ticket-scoped one-time translator that is deleted afterwards.
- Enforce coverage mechanically via permanent script.ts targets, then delete compose/ entirely.
Execution uses an Opus coordinator + Sonnet execution fleet + Haiku read-only census fleet across 10 gated waves.
🤖️ Prompt
End-to-end migration of the legacy
compose/tree onto thepuzzle.puzzle5d@1artifact schema, pinned to commit 5904ebe.Scope:
<mutation>/🧪️tests/<test>/{mutation,diff,snapshot/{before,after},outcome}with text/binary/JSON encodings for each artifact class (snapshot: .dsl.semio/.pack.semio/.json; mutation: .op.semio/.spr.semio/.json; diff: .patch.semio/.patch.spr.semio/.json) plus a typedcomponent.rsfixture descriptor.IoDeclaration.native.diff.binaryis currentlyNone).Puzzle5dDocument,Puzzle5dPlaySnapshot, theserde_json::Valuemutation bridge, before/after document comparison as the primary mutation producer, and legacy embedded-catalog normalization.Execution uses an Opus coordinator + Sonnet execution fleet + Haiku read-only census fleet across 10 gated waves.