{"path":"/pattern","meta":{"title":"Patterns","hint":"How to build things on Morphcloud, by problem shape","description":"For AI agents: one entry per problem shape — turn one row into many, move work on only when it passes — with the primitive that solves it, the neighbours it is confused with, the constraints that cost an iteration, and a worked example. When the user's problem matches a question here, read that pattern before you design. The guide explains what each building block is; a pattern explains which blocks solve a shape."},"control":{"resource":{},"action":{"get":{"authorized":true}},"downloadable":false,"hasNext":true,"connectable":false,"dataBearing":false,"publicContent":true,"egress":false,"billable":false,"accessGrant":false},"data":[{"slug":"fan-out-one-to-many","question":"How do I turn one row into many rows?","title":"Fan out one row into many","linkTo":"/pattern/fan-out-one-to-many"},{"slug":"gate-phase-progression","question":"How do I move work to the next stage only when it passes its checks?","title":"Move work to the next phase only when it passes","linkTo":"/pattern/gate-phase-progression"},{"slug":"import-file-on-arrival","question":"How do I import a file's rows every time a new file arrives, with nobody running the import?","title":"Import a file every time one arrives","linkTo":"/pattern/import-file-on-arrival"},{"slug":"resolve-code-to-list","question":"How do I link an incoming code to a list, and flag the codes that do not match, when nobody watches?","title":"Resolve an incoming code to a list, with nobody watching","linkTo":"/pattern/resolve-code-to-list"},{"slug":"constraints","question":"What will bite me — which action type do I need, and what cannot be changed later?","title":"Platform constraints","linkTo":"/pattern/constraints"}],"version":"4.7.1"}