Schemas
SMALL schemas define the valid shape of each artifact.
Artifact schemas
- intent
- constraints
- plan
- progress
- handoff
Why schemas exist
- Prevent drift and "AI vibes"
- Enable validation in CI
- Make handoffs portable across tools
Where to find them
- Canonical source: github.com/justyn-clark/small-protocol under
spec/small/ - Vendored copy: This site maintains a pinned copy at
vendor/small-protocol/spec/ - Vendor lock file:
vendor/small-protocol/VERSIONrecords the source commit used for docs sync - Runtime schemas: Served at
/schemas/small/v1/*.schema.json(compiled from canonical source)
Enforcement Rules
The CLI enforces specific rules beyond schema validation:
Handoff: ReplayId Required
handoff.small.yml must include:
replayId.value- 64-character lowercase hex string (SHA-256)replayId.source- Eitherauto(deterministic hash of intent + plan + constraints) ormanual
Progress: Timestamp Rules
Progress entries must follow these rules:
- Timestamps must be RFC3339Nano format with fractional seconds (e.g.,
2025-01-15T10:00:00.123456789Z) - Timestamps must be strictly increasing across entries
- Completed tasks must have matching progress entries with
evidencepopulated
See How to Use SMALL for full enforcement documentation.