Declare the boundary from the engine inputs

Type: types/instruction.md

Write the boundary that fixes this run's target, disposition and frozen evidence for every later job.

blocked and out-of-scope are valid dispositions, not failures. Use problem only when you cannot write the boundary under these inputs: a missing required input, a changed source pin, a needed identity change or prior-analysis exposure. Use the prompt's source-identity, the normalized identity, unchanged; do not derive it from caller text.

Select the target

Confirm that the target is an agent runtime, orchestration framework, agent operating layer, memory/knowledge/context-engineering system, or a narrower mechanism whose operation depends on model calls it issues or serves. An MCP server, tool or returning computation may qualify without owning the enclosing runtime. A target outside this scope gets out-of-scope. If no coherent boundary or reachable source can be established, use blocked.

Classify an in-scope target with the target class and boundary kind member-type defines. Before classifying, inspect the repository tree and trace shipped entry points and their consumers as far as member-type requires for the boundary kind you claim.

Establish frozen evidence

  1. Record the repositories, commits, captures, documents and time boundary that may supply evidence.
  2. When acquire contains a Git object, code has already frozen that checkout. Inspect its path read-only. Do not clone, fetch, pull, check out, reset, clean or copy it elsewhere. Copy the whole object unchanged into source, even for blocked or out-of-scope. Another source or revision requires problem.
  3. When acquire is JSON null, freeze any non-Git source set as an immutable capture or bundle in the prompt's capture-directory, with a stable identity, capture label, absolute path and exact-byte SHA-256. Create that directory when needed. Do not analyse a moving live page as frozen. On repair, preserve a previous boundary's established capture; if its pin cannot be verified, write problem, not a replacement source. If no source was established, use source: null and a non-complete disposition.
  4. Build the SRC-* register as member-type defines it.