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

# formation.domain/v0.1

Frontmatter fields of a `domain` page. This service publishes these pages and never
accepts one, so the schema is a promise about what it serves: its tests check every page
against it. Prose in the body explains; the frontmatter is what to read.

## Fields

- `schema` (required): exactly `formation.domain/v0.1`
- `kind` (required): exactly `domain`
- `visibility` (required): exactly `public`
- `path` (required): resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters
- `canonical_url` (required): https URL, pattern `^https:\/\/[A-Za-z0-9.-]+(?:\/\S*)?$`, at most 512 characters
- `product_api_version` (required): API version, pattern `^v\d{1,4}$`, at most 5 characters
- `schema_version` (required): schema version, pattern `^v\d{1,4}\.\d{1,4}$`, at most 11 characters
- `title` (required): title, pattern `^[^\p{Cc}]+$`, at most 200 characters
- `description` (required): description, pattern `^[^\p{Cc}]+$`, at most 400 characters
- `domain` (required): one of `coding`, `research`, `documents`, `reasoning`, `evaluation`, `operations`, `security`
- `task_class_prefix` (required): task class prefix, pattern `^[a-z]+\.$`, at most 33 characters. Task classes in the domain start with this prefix (`coding.` for `coding.bugfix`).
- `shapes` (required): array of 0 to 9 items, each map (fields listed below). Task shapes of the decision guide (`/patterns/index.md`, `choosing`) common in the domain, in guide order. A hypothesis to test, never a result.
- `shapes[].shape` (required): one of `small_or_single_owner`, `easier_to_check_than_do`, `needs_rounds_of_criticism`, `splits_into_independent_parts`, `fails_often_attempts_vary`, `needs_plan_before_editing`, `subtasks_unknown_until_started`, `specialist_per_input`, `outlasts_one_context`
- `shapes[].example` (required): example, pattern `^[^\p{Cc}]+$`, at most 200 characters. Work in the domain that plausibly has this shape.
- `findings` (required): array of 0 to 128 items, each map (fields listed below). Published studies whose findings are tagged with the domain, one entry per source, in pattern vocabulary order of the first pattern page that cites it. Never ordered by direction, and never a count of evidence.
- `findings[].source_id` (required): source identifier, pattern `^(?:arxiv:\d{4}\.\d{4,5}|web:[a-z0-9.-]+(?:\/[A-Za-z0-9._~-]+)+)$`, at most 256 characters. Canonical identifier of the source, as on the pattern pages (`published_findings[].source_id`).
- `findings[].url` (required): https URL, pattern `^https:\/\/[A-Za-z0-9.-]+(?:\/\S*)?$`, at most 512 characters
- `findings[].citations` (required): array of 1 to 24 items, each map (fields listed below). Each pattern page that cites the source with a finding tagged with the domain.
- `findings[].citations[].pattern` (required): null or one of `single_agent`, `fan_out`, `map_reduce`, `independent_workers`, `lane_swarm`, `supervisor`, `planner_worker`, `role_pipeline`, `hierarchical_delegation`, `blackboard`, `shared_ledger`, `mailbox_network`, `implement_review`, `critic_loop`, `council`, `debate`, `dynamic_spawning`, `coordinator_election`, `adaptive_routing`, `tree_search`, `architecture_search`, `successor_handoff`, `signed_coordination`. The pattern page the finding is filed under; null for a general finding about multi-agent systems on `/patterns/index.md`.
- `findings[].citations[].direction` (required): one of `helped`, `no_clear_gain`, `hurt`, `mixed`, `not_tested`. How that pattern fared against `compared_against`, as the source reports it: `helped`, `no_clear_gain`, `hurt`, `mixed`, `not_tested`, defined at `/docs/schemas/pattern/v0.1.md`.
- `findings[].citations[].compared_against` (required): comparison, pattern `^[^\p{Cc}]+$`, at most 200 characters
- `hostile_input` (optional): array of 0 to 128 items, each map (fields listed below). On the security pages only: studies of attacks on multi-agent systems through the content agents read. A risk to weigh, not a finding about a pattern doing security work.
- `hostile_input[].source_id` (required): source identifier, pattern `^(?:arxiv:\d{4}\.\d{4,5}|web:[a-z0-9.-]+(?:\/[A-Za-z0-9._~-]+)+)$`, at most 256 characters
- `hostile_input[].url` (required): https URL, pattern `^https:\/\/[A-Za-z0-9.-]+(?:\/\S*)?$`, at most 512 characters
- `hostile_input[].citations` (required): array of 1 to 24 items, each map (fields listed below)
- `hostile_input[].citations[].pattern` (required): null or one of `single_agent`, `fan_out`, `map_reduce`, `independent_workers`, `lane_swarm`, `supervisor`, `planner_worker`, `role_pipeline`, `hierarchical_delegation`, `blackboard`, `shared_ledger`, `mailbox_network`, `implement_review`, `critic_loop`, `council`, `debate`, `dynamic_spawning`, `coordinator_election`, `adaptive_routing`, `tree_search`, `architecture_search`, `successor_handoff`, `signed_coordination`
- `hostile_input[].citations[].direction` (required): one of `helped`, `no_clear_gain`, `hurt`, `mixed`, `not_tested`
- `hostile_input[].citations[].compared_against` (required): comparison, pattern `^[^\p{Cc}]+$`, at most 200 characters
- `findings_page` (required): resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters. The findings of this page in words (`/domains/{domain}/findings.md`): each source once, with every finding tagged with the domain, its comparison, caveat and source.
- `starters` (required): array of 0 to 256 items, each map (fields listed below). Starter formations that declare a task class in the domain. Unvalidated.
- `starters[].name` (required): artifact name, pattern `^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$`, at most 64 characters
- `starters[].version` (required): semantic version, pattern `^(?:0|[1-9]\d{0,8})\.(?:0|[1-9]\d{0,8})\.(?:0|[1-9]\d{0,8})(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$`, at most 64 characters
- `starters[].path` (required): resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters
- `starters[].task_classes` (required): array of 1 to 32 items, each public task class, pattern `^(?:coding|research|documents|reasoning|evaluation|operations|security)(?:\.[a-z][a-z0-9_]{0,31}){1,3}$`, at most 128 characters
- `evaluable_here` (required): array of 0 to 32 items, each task class, pattern `^[a-z][a-z0-9_]{0,31}(?:\.[a-z][a-z0-9_]{0,31}){1,3}$`, at most 128 characters. The task classes of the domain this deployment can evaluate; empty when it can evaluate none.
- `pattern_index` (required): resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters
- `domain_index` (required): resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters
- `community_ranking` (required): null or resource path, pattern `^\/[A-Za-z0-9._~/-]{0,255}$`, at most 256 characters. Null until the community-reported ranking exists; then the path of its separately labeled page. Never mixed with findings.
