Agentic system boundary

Type: types/type-spec.md

The first member of an analysis set. It fixes what the run analyses and from which frozen evidence; every other member works within it. The overview repeats its boundary fields in its frontmatter and links to it without copying its sections.

Frontmatter

Field Required Use
type Yes agentic-system-analyses/types/agentic-system-boundary.md
description Yes The target and its frozen boundary in one sentence
run-id Yes The run's ID
result-disposition Yes complete, blocked or out-of-scope
target-class Yes enclosing runtime, embedded inner runtime, runtime client, returning computation, workflow, extension or tool mechanism, builder or improvement plane, host integration, memory/knowledge/context-engineering system, or another explicitly defined class
boundary-kind Yes whole-system, subsystem-only, or complete artifact, partial loop
reviewed-boundary Yes The immutable revision or capture identity shared by the run
analysis-cutoff Yes The applicability cutoff for the frozen evidence
evidence-tier Yes code-grounded or doc-grounded
source Yes null when no source was frozen; otherwise a mapping of kind (git or capture), identity, revision (a full commit, or a capture label), path (the absolute frozen checkout or capture file) and sha256 (null for Git, the capture's digest otherwise)

The five fields from target-class to evidence-tier are non-null for a complete disposition, which also has a source. A field is null when the work stopped before establishing it. reviewed-boundary is the source's revision, and source.identity is the run's source identity.

Boundary and evidence

## Boundary and evidence states the intended use, functional inclusions and exclusions, external dependencies, target class, boundary kind, frozen revision or capture, analysis cutoff and overall evidence tier. Each exclusion or access gap names the conclusion it prevents. An available file that was not inspected is not an access gap.

A caller in the same repository is not an excluded enclosing application merely because it calls a library API, and a shipped driver is not external merely because it supplies state to an API; whether either belongs to the target follows from its shipped usage and responsibilities. An excluded host's responsibilities are not attributed to the target.

A whole-system boundary covers the material shipped paths that produce, maintain, admit and consume the system's state, and carries a coverage table classifying every top-level tracked file or directory as included or excluded, with its role and the conclusion any exclusion prevents. Directory rows name the material paths within them; a top-level label alone does not show coverage of the system's loop. For a memory or knowledge system, the table accounts for shipped prompts and maintenance instructions, callers that persist, reload or later consume retained content, and evaluators. The table distinguishes unavailable evidence, a deliberate exclusion and material not yet inspected. Coverage is judged on substance, not by the table's presence.

A target that is only a library API or another subsystem is named as that narrower target with the matching boundary kind. A material shipped path that could not be inspected gives a boundary kind describing the partial loop, never whole-system merely because the repository was cloned.

Source register

## Source register declares each source once, in a row whose first cell is its SRC-* ID, as | SRC-1 | ... |:

source ID | kind | identity/location | revision or capture | evidence layer | inspected scope | citation anchors | access gaps and conclusion prevented

A frozen source has a row. That row's kind, identity and revision cells hold the frontmatter source values unchanged. Each stable source identity is in a code span, including a non-URL capture identity. A Git row gives the canonical repository, the full reviewed commit, the initially inspected commit-relative paths and commit-pinned anchors; an access root such as related-systems/<owner>--<repo>/ belongs in inspected scope, not the identity cell, because a mutable worktree is not the evidence identity.

Source IDs belong to this register alone. A source's durable evidence identity is its registered repository and reviewed commit, or its capture; a worktree path is only the access root. The registered Git source is the repository at that commit: listed paths record initial inspection, not an allowlist. A capture is limited to its frozen contents. Supplied execution traces and experimental results are registered like any other source, and their scope and conditions bound what they support.

Each row names the evidence layers its source supplies:

Evidence layer What it supports
implementation Inspected executable behavior
doctrine/design Declared intent or contract
reported operation Attributed operation without inspectable run evidence
observed run An inspectable execution trace or artifact
causal experiment An observed intervention and comparison with evidence about the design; design and confounding limits bound attribution

A source with several evidence layers keeps one row, listing its layers and labelling each layer's inspected scope, anchors and limits within that row, never a second ID for a layer.

Not reached

A blocked or out-of-scope disposition adds ## Not reached: what was not reached, why, and which conclusion that prevents. A complete disposition has no such section.

Template

---
type: agentic-system-analyses/types/agentic-system-boundary.md
description: "{target} at {frozen boundary}"
run-id: AAS-YYYY-MM-DD-system-slug-token-nn
result-disposition: complete
target-class: "{value}"
boundary-kind: whole-system
reviewed-boundary: "{full commit or capture identity}"
analysis-cutoff: "YYYY-MM-DD"
evidence-tier: code-grounded
source:
  kind: git
  identity: https://github.com/owner/repository
  revision: "{full commit}"
  path: /absolute/path/to/checkout
  sha256: null
---

# {System} boundary

## Boundary and evidence

## Source register