.ready.yml file — plain YAML with a distinct extension so importers know exactly how to parse it. You, your agents, and your tools read compiled views in the Ready Room app or docs; the raw file is optimized for parsing, validation, diffing, and merge review. Every value an app, compiler, validator, search index, or agent must read lives in YAML. Reader-friendly summaries, PM briefs, designer views, and customer-facing docs are compiled from these records.
Common structure
Every primitive shares a base template. The fields below appear in all five types:Core file rules
Follow these rules for every primitive record you create or edit:- One primitive per file. Never combine multiple records in a single
.ready.yml. - Keep IDs stable. Paths and titles are refactorable; the
idfield is the durable identity. - Store relationships in
refs, not prose. Use directed edges:intent --serves--> premise,intent --contains_premise--> premise,intent --requires--> service,intent --governed_by--> standard. - Do not store inverse tree edges. Compiled views derive inverse labels automatically. Do not write
premise --serves--> intentorservice --serves--> intent. - Use compact refs only for outgoing edges. Compact refs infer
fromas the current primitive’s ID. - Reference bulky material, don’t embed it. Store samples, mockups, screenshots, snippets, and generated outputs as artifacts referenced by ID or path.
Primitive types
- Premise
- Intent
- Standard
- Service
- Question Card
Premises explain why the product should exist. Every premise needs evidence confidence and provenance in its
fields so reviewers can assess how well-founded the reasoning is. A premise inferred only from documents should be marked inferred or low-confidence until the product lead confirms it.