CogitaveLearn

The patterns catalog

The catalog lives in two forms that describe the same set of patterns: a human document and a machine-readable index. Both are read from patterns/README.md.

The five-section entry shape

Every pattern doc - service-scaffold.md, api-endpoint.md, caching.md, and the rest listed in the README's catalog table - has the same five sections, in this order:

SectionWhat it tells you
ProblemWhen you reach for this pattern.
The Cogitave wayThe one canonical solution, concretely.
Governing standard(s)The authority - the rules live there, not here.
Reusable artifactThe template, primitive, or snippet to start from.
Anti-patternWhat agents most often wrongly generate instead.

Read service-scaffold.md end to end and you can feel the shape: the Problem names the temptation to git init an empty repo; the Cogitave way says scaffold from templates/base plus a language template instead; the governing standards are product-architecture, product-core-baseline, technology-radar, and ci-cd-pipelines; the reusable artifact names templates/base composed with templates/service, templates/go-service, or templates/rust; the anti-pattern is hand-rolling a repo from a blank directory and re-picking a toolchain ad hoc.

The machine-readable index

catalog.yaml is the authoritative, MCP-consumable projection of the same catalog. Each entry carries uid, problem, governing_standard (a list of uid + path), reusable_artifact (kind + path), and anti_pattern - the same five ideas, structured for a query instead of a read. An entry may also carry an optional canonical_pattern field pointing back at a five-section doc: new-repo, new-service-rust, new-service-go, and new-library are four different task-level intents that all set canonical_pattern to service-scaffold.md, because they are variations on one canonical write-up, not four separate policies. When an entry has no canonical_pattern, its catalog.yaml fields are the pattern - there is no separate prose doc to open.

NOTE

Both forms are the same projection of Cogitave Core, queried the same way a human or an agent would: docs_search or query_graph over the query layer and the MCP interface. There is no second, private index - see ADR-0022 part D.

Whichever form you open, read the same way: get the Problem and the Cogitave way for orientation, then treat the Governing standard and the Reusable artifact as the two links that matter - everything else is a pointer to one of those two.