instantiate_contract
Execute a registered contract: validates inputs against schema, resolves source/sink overrides, runs assembly steps, returns output or structured error envelope.
Instructions
Execute a registered contract end-to-end. Zod-validates inputs against the contract's inputZodSchema (additionalProperties:false rejects typos). Resolves source/sink overrides per D-A4b default chain (explicit → config → contract literal → error if required); sinks are MemorySink-only per D-A4c (MEM-05 invariant un-bypassable). Runs each assembly step through verbDispatcher with template resolution + named-binding accumulation. write_back routes through DeliveryAdapter.write() (MEM-05 chokepoint). Returns the Q-OUTPUT bundle {steps, write_back} on success OR a structured InstantiateError envelope (12 sealed reasons per ADR-006 §Decision 7). Omit vault on single-vault setups; multi-vault setups require it (returns ambiguous_vault otherwise).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Registered contract name | |
| inputs | No | Contract inputs; validated against the contract's inputZodSchema | |
| source_overrides | No | Override declared source handles by handle name | |
| sink_overrides | No | Override declared sink handles by handle name. Targets MUST resolve through MemorySinkRegistry (D-A4c). | |
| vault | No | Vault name; omit on single-vault setups |