Conventions
EIDOS.md closes with twenty-two rules. Here they are grouped by what they govern, each with a pointer to the page that explains it. Cite what a rule says, not its number; the numbering moves between versions.
What is enforced, and how
Section titled “What is enforced, and how”- The frontmatter is the agreement; the body is guidance. Properties are checked. Sections are recommended.
- Validation is framework-defined. A check enforces that framework’s Properties table, nothing hardcoded.
- Surface, never refuse. A missing property is added with a note; a missing section is offered. Never refuse the file. A validator that refuses files gets bypassed. →
Where the form lives
Section titled “Where the form lives”- The root owns its framework. A tool reads the framework from the root it is in, never from a copy of its own. →
- Everything at the root is declared. Every folder and every file has an entry, and nothing is declared that isn’t there. →
- A folder is its owner’s. The standard’s rules reach
@eidos/collectionsand no further; a tool’s folder is that tool’s, and an unowned one is the person’s. → - A region is a tool’s, by name. Inside is the tool’s; outside is the person’s. →
- The Eidos version is a framework fact, in
eidos_version, never on a blueprint. →
Templates and collections
Section titled “Templates and collections”- One template family per collection, as variants. What flexes is which sections appear; never their order or names. →
- A template names its own stable part. If it changes substantially, ask whether this is a different blueprint. →
- Non-goals carry the most weight. Where a template has a section for what a blueprint will not do, that section is its strongest. →
- A template documents its own conventions. The standard governs folders, templates, variants, and properties; never a section.
- A collection’s grouping is its own. Every sub-folder is a declared group; a group holds blueprints and nothing deeper. →
Properties
Section titled “Properties”- Every property has a type, a meaning, and an owner. Frontmatter is generated from the required ones, so a new blueprint is born conforming. →
- Soft labels are views, not structure. A category property drives filtering, never structure.
variantcarries the structural choice. - No work-tracking fields. No sprint, estimate, or assignee; bridge to a tracker with a link. Intent, never progress. →
Writing
Section titled “Writing”- Write it like a human would read it. If it reads like filled-in boilerplate, reshape it.
- Reference blueprints with links, not bare names, in prose and properties alike. →
- Loose prose is revised in place. That is revision, not work status.
- A declared term is the word. A near-miss is flagged, never swapped silently. →