Brief-linting asserts every required brief snippet is present.

Mandatory snippet-table enforcement

Intent — A registry of mandatory agent-brief snippets (PATH export, commit-cadence, worktree discovery, submodule check, …) whose presence is asserted at dispatch by brief-linting, so every dispatched brief carries the safety and context boilerplate it needs.

SummaryBrief-linting asserts every required brief snippet is present.
TargetAgent · Governance-doc mechanisms
Formvalidation
EnforcementHard (deterministic) · blocking via brief-linting — a brief missing a required snippet marker fails the pre-dispatch lint

Motivation — the failure it kills

Every dispatch needs certain boilerplate to be safe: the PATH export (or 65+ PDF tests fail for lack of a binary), the commit-cadence discipline, worktree discovery via $(pwd), the submodule check. An author who forgets one ships an agent that trips exactly that sharp edge 20 minutes in. Without a registry of what's mandatory, "which snippets does this brief need" is tribal knowledge that drifts as snippets are added, and the failure recurs on every hand-authored brief.

Why it's not just "tell authors to include the snippets" (a checklist in the docs)

A docs checklist is advisory and unenforced: authors skim it and forget, and nothing catches the omission until the agent fails. The mandatory-snippet table is a registry that brief-linting reads and asserts: each required snippet's marker string must be present in the brief, or the pre-dispatch lint fails. What makes a checklist fail where the table holds? The checklist has no reader; the table has one, a lint that greps for every required marker and refuses the dispatch on any absence. It is the universal-snippet analogue of what dynamic context injection does for file-scoped rules: the table answers "which snippets every brief must carry," DCI answers "which rules these files need."

Mechanism

The include-table lists each snippet with its include-when condition and its grep-able marker string; verbatim snippet blocks live in the snippets directory. The Brief lint greps the brief for the required markers and exits non-zero on any absence. Some snippets are always-include (worktree-path, rebase-first); others are conditional on the brief's shape (touches tests, brings up a stack, …).

Prerequisites

Consequences & costs

Known uses

Related mechanisms