propose_composition
Propose a composition — a sequenced DAG of capability instances to satisfy a multi-step outcome under a budget + assurance tier. Accepts either a flat steps list or an outcome chain. Returns a candidate plan ranked by optimizeFor (price | speed | quality) with per-step assignments. The composition is persisted for ~30 minutes (proposed status) and can be executed once via execute_composition.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | Ordered list of capability types this composition needs (1..20). Use this OR `outcomeChain`. | |
| location | No | Geographic constraint (lat/lng + radius, or country, etc). | |
| budgetUSD | Yes | Total budget the user is willing to spend across all steps. | |
| requester | No | {agentId, did?} — the agent submitting the request. | |
| description | No | Free-form natural-language description (≤4000 chars). | |
| optimizeFor | No | Ranking objective (default `price`). | |
| outcomeType | Yes | High-level outcome label, ≤120 chars. Example: 'desk-robot-prototype'. | |
| outcomeChain | No | Alternative to `steps`: chain of named sub-outcomes. The planner expands each into capability types. | |
| minAssuranceTier | Yes | Minimum acceptable assurance tier on every step. |