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

# formation.suite/v0.1

Frontmatter fields of a `suite` 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.suite/v0.1`
- `kind` (required): exactly `suite`
- `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`
- `suite_handle` (required): resource identifier, pattern `^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$`, at most 128 characters
- `suite_version` (required): pinned version, pattern `^[0-9A-Za-z][0-9A-Za-z._+-]{0,63}$`, at most 64 characters
- `task_count` (required): integer from 1 to 100000
- `splits` (required): array of 1 to 3 items, each map (fields listed below)
- `splits[].name` (required): one of `development`, `selection`, `final_holdout`
- `splits[].task_count` (required): integer from 0 to 100000
- `selection_method` (required): one of `customer_curated`, `random_sample`, `stratified_sample`, `chronological`, `unknown`
- `validator` (required): map (fields listed below)
- `validator.digest` (required): sha256 digest, pattern `^sha256:[0-9a-f]{64}$`, at most 71 characters
- `validator.version` (required): pinned version, pattern `^[0-9A-Za-z][0-9A-Za-z._+-]{0,63}$`, at most 64 characters
- `validator.kind` (required): one of `deterministic_checks`, `registered_rubric`
- `feature_schema_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `known_limitations` (required): array of 0 to 32 items, each identifier, pattern `^[a-z][a-z0-9_]{0,63}$`, at most 64 characters
- `permitted_costed_tools` (required): array of 0 to 32 items, each tool identifier, pattern `^[a-z][a-z0-9_]{0,31}\.[a-z][a-z0-9_]{0,31}$`, at most 64 characters
- `synthetic` (optional): boolean
