Pick an engagement to open its console, browse its schema, or scaffold a new one. Every POC is authored in metadata that maps 1:1 to a Salesforce DX project, so when the client signs off, the build starts from real ground.
Two guided flows. New engagement names a client, records what you already know about them, and picks the standard Salesforce objects to start from — scaffolding a workspace that composes with zero blockers and boots. Schema Picker adds objects to a workspace that already exists. Both record a choice; the composer and the gated kernel do the writing.
Scaffolds a whole workspace under client/, the authoring truth:
?engagement= key, and is permanent.TODO
rather than being marked done.compose --variant <id>; expect
0 blockers.One-click creation needs the server started as
python tools/poc.py dev --allow-create <parent dir>. Without it the
page still does everything except write — it hands you the spec and the exact
command. Creation is opt-in because it writes to disk on request: the
directory named there is the only place it can ever write, and a per-run token is
required.
The Schema Picker is for a workspace that already exists. It emits a selection and one command; the plan is built by the generator, not the browser:
python tools/poc.py plan add-standard-object --selection <file> --apply
engagements/<slug>/ directly — which the next compose
destroys, and which git ignores. That path was removed; authoring truth is
client/base/engagement/ + client/variants/<id>/.file:// cannot load them. Use poc dev.manifest.json +
engagements/_index.json and rename the folder. No picker path.POC-CLIENT.md by
design: they are build-time discoveries (shared-field risks, managed-package choices,
demo gates). release.py --tier release blocks until they are answered,
and the form deliberately does not offer to prefill them — that would clear the
gate without answering anything.Browse every object, field, relationship, and validation rule in an engagement. The Setup → Object Manager equivalent.
/runtime/adminAdds objects to a workspace that already exists — it does not create one (use New engagement for that). Pick objects by Salesforce package, then Export selection: it writes nothing itself and hands you the selection plus the one poc plan add-standard-object command that applies it through the gated kernel.
Linter rules 1–10. Every metadata key maps to a Salesforce Metadata API element. Read this before you write JSON.
/reviewThe Cowork → Design write-up: architecture, what's worth keeping, the three-step plan, open questions.