v1
1Layer 1 · Principles · Explainer 05

Composable definitions over one-off, siloed tools.

Every document kind shares one grammar, so a tool written once works on all of them, and a capability added once applies everywhere.

One grammar, twenty-one kinds.

A charter, a risk register, and a test-case document look different to a reader, and identical to the machine: frontmatter, required sections, typed items, link clauses. The validator, the consistency checker, the traceability matrix, and the dashboards each get written once against that shape.

Adding a kind starts with data, a trio of files, and the shared machinery applies to it from day one: validation, audit, links, the matrix. When the operations kind shipped, only its genuinely new behavior needed engine work (a review date that ambers the project when it lapses); everything the other twenty kinds already had came free.

a kind is three files
schema/operations.schema.json      # what the frontmatter must declare
criteria/operations.criteria.yaml  # what the audit checks
templates/operations.template.md  # what an author starts from

Profiles compose kinds into expectations.

A profile is a named bundle: which kinds a project of this type is expected to carry. Lean-startup expects a lighter set than regulated-industry, and operations expects a service catalog with a review date. Because profiles are definitions rather than tooling, adopting one, forking one, or publishing your own is an edit, and the same audit enforces whichever set you name.

The four shipped profiles →

Composition at the boundaries.

The definitions compose outward as well. The standard is a versioned specification with a conformance suite, so an implementation other than docassert can exist and prove itself against the same cases. The execution bridge maps each project to a delivery repo through its anchor document, so one portfolio can fan out across many codebases. Checks stack in two tiers, a deterministic gate that blocks and an AI advisory layer that flags, and either runs without the other.

One-off tools at the edges
Teams will always write private glue, and that is fine. The line this principle draws: glue may consume the documents, and it may not become the place where a definition lives that the shared tooling can't see.