Agentic Atlas patterns for agentic design
current field map

Manifest-selected Decision

Canonical id
0011-artifact-node-metadata-in-frontmatter
Status
accepted
Catalog order
5

Catalog revision 35263c4c415da742953d0462804fb14424e2244dae4c63efd27e468988de70ab

0011: Artifact-form node metadata lives in frontmatter

Status: accepted Date: 2026-07-20

Context

The hook hoist (interchange contract v1, D3 — atlas #20) gave every node the four-field header Kind:/Path:/Status:/Hook:. Artifact-form example nodes are real runnable SKILL.md files shipped in place; the first migration pass put the bold header fields into the skill body, which pollutes exactly the prose an agent loads when the skill is installed. Avery's review of scratchpad PR #38: corpus metadata does not belong in the skill body.

Decision

Artifact-form nodes carry the same four fields as lowercase kind: / path: / status: / hook: keys in their existing YAML frontmatter — the artifact's metadata block — never as body lines. Other frontmatter keys (name, description, …) remain the artifact's own, off-contract. Values may be double-quoted (the breadcrumb's bold final segment would otherwise read as a YAML alias). A **Field:** body line in an artifact is an audit --contract refusal (H2).

Amended into interchange contract v1 pre-adoption (the corpus pin does not exist yet — atlas #22), with the conforming fixture and an h2-artifact-body-field mutation updated in the atlas repo; cross-reference: atlas PR #26 / interchange/CONTRACT.md §2.

Consequences

  • Installed skills stay byte-honest: the runnable body is exactly what the corpus teaches with, per §3's "ship the true, installable thing".
  • The checker reads frontmatter for SKILL.md nodes and body fields for everything else; authors edit hooks in one place either way and corpus.py sync-hooks derives the README tail identically.

Browse all selected Decisions