intent.yaml
.maestro/intent.yaml defines product intent and delivery tier. The Outcome Compiler and agent use it to scope work and select which gates apply.
Location
Place intent.yaml in the .maestro/ directory at the root of your project. Create the file with midcore init or manually.
Key fields
Typical structure (schema may evolve with releases):
yaml
# Product intent and delivery tier
target: "One-sentence outcome goal for this product or release"
# Delivery tier: determines how many gates are required and how strict proof is
tier: pilot # one of: prototype | pilot | production
# Optional: constraints or scope notes for the compiler
# constraints: []
# scope: "e.g. backend only"
target — A single sentence describing the outcome the product or release is aiming for. Used by the compiler and agent to stay aligned with goals.
tier — Controls rigor and gate requirements. Higher tiers require more gates to pass and stricter evidence.
Delivery tiers
| Tier | Use case | Rigor |
|---|---|---|
| prototype | Demos, experiments, internal tools | Fewer gates; some proof can be deferred |
| pilot | Customer-visible or pilot deployments | Standard gate set; most proof required |
| production | Full production release | All applicable gates; full evidence and hardening |
Changing tier
Edit intent.yaml and re-run the compiler or gates. The agent and CLI read the file at runtime, so no restart is needed.
Key takeaways
- intent.yaml defines product target and delivery tier (prototype / pilot / production).
- Tier controls how many gates are required and how strict evidence is.
- The Outcome Compiler and agent read intent.yaml to scope work and select gates.