---
schema: formation.doc/v0.1
kind: doc
visibility: public
canonical_url: https://topologyindex.com/docs/schemas/adoption/v0.1.md
document_kind: adoption
document_schema: formation.adoption/v0.1
max_document_bytes: 262144
path: /docs/schemas/adoption/v0.1.md
product_api_version: v1
schema_version: v0.1
title: formation.adoption/v0.1
---

# formation.adoption/v0.1

Frontmatter fields of a `adoption` document. Every security-, cost- and execution-relevant
value is a typed field; prose in the body can explain a rule but never override it. Undeclared
fields are rejected.

## Fields

- `schema` (required): exactly `formation.adoption/v0.1`
- `kind` (required): exactly `adoption`
- `created_at` (optional): ISO 8601 UTC timestamp, pattern `^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))?Z$`, at most 30 characters
- `visibility` (optional): one of `private`, `public`
- `decision` (required): sha256 digest, pattern `^sha256:[0-9a-f]{64}$`, at most 71 characters
- `prior_execution_lock` (required): sha256 digest, pattern `^sha256:[0-9a-f]{64}$`, at most 71 characters
- `proposed_execution_lock` (required): null or sha256 digest, pattern `^sha256:[0-9a-f]{64}$`, at most 71 characters
- `outcome` (required): one of `adopted`, `rejected`, `deferred`
- `decided_at` (required): ISO 8601 UTC timestamp, pattern `^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))?Z$`, at most 30 characters
- `receipt_source` (required): one of `customer_runtime`, `customer_agent`, `owner_reported`
- `reason_code` (required): null or identifier, pattern `^[a-z][a-z0-9_]{0,63}$`, at most 64 characters
