How SMALL Works for Humans and Agents

The easiest way to misunderstand SMALL is to treat it like a planning template.

It is closer to a contract for ownership and continuity.

Human-owned state

In SMALL, humans own the definition of the work:

  • intent.small.yml says what the work is
  • constraints.small.yml says what must not change

Those files are not suggestions. They are the authority boundary.

Agent-owned state

Agents work inside that boundary:

  • plan.small.yml proposes execution steps
  • progress.small.yml records verified evidence of what happened

This makes it easier to tell the difference between a proposed path and completed work.

System-owned state

handoff.small.yml is the resume surface.

It serializes the checkpoint needed to continue without pretending a chat transcript is the source of truth. That keeps resumes cleaner and makes interruptions less destructive.

Why the split matters

Without explicit ownership, projects blur together.

Constraints get rewritten accidentally. Plans get mistaken for facts. Progress updates become narrative instead of evidence. Resume points become informal and incomplete.

SMALL addresses that by making the boundaries visible on disk.

The operational payoff

This structure is useful for solo work, but it becomes even more important when multiple agents, multiple sessions, or longer timelines are involved.

A bounded protocol makes it possible to inspect the state, validate assumptions, and continue work without improvising the contract each time.

That is the real point of SMALL: less ambiguity, stronger continuity, and execution that can be resumed without guesswork.