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

# formation.workload_profile/v0.1

Frontmatter fields of a `workload_profile` 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.workload_profile/v0.1`
- `kind` (required): exactly `workload_profile`
- `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`
- `task_class` (required): task class, pattern `^[a-z][a-z0-9_]{0,31}(?:\.[a-z][a-z0-9_]{0,31}){1,3}$`, at most 128 characters
- `language` (required): identifier, pattern `^[a-z][a-z0-9_]{0,63}$`, at most 64 characters
- `features` (required): map (fields listed below)
- `features.repository_size_bucket` (required): map (fields listed below)
- `features.repository_size_bucket.value` (required): one of `xs`, `s`, `m`, `l`, `xl`, `unknown`
- `features.repository_size_bucket.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.repository_size_bucket.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.public_checks` (required): map (fields listed below)
- `features.public_checks.value` (required): one of `available`, `unavailable`, `unknown`
- `features.public_checks.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.public_checks.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.dependency_depth_bucket` (required): map (fields listed below)
- `features.dependency_depth_bucket.value` (required): one of `shallow`, `moderate`, `deep`, `unknown`
- `features.dependency_depth_bucket.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.dependency_depth_bucket.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.decomposability` (required): map (fields listed below)
- `features.decomposability.value` (required): one of `low`, `medium`, `high`, `unknown`
- `features.decomposability.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.decomposability.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.parallelizability` (required): map (fields listed below)
- `features.parallelizability.value` (required): one of `low`, `medium`, `high`, `unknown`
- `features.parallelizability.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.parallelizability.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.latency_sensitivity` (required): map (fields listed below)
- `features.latency_sensitivity.value` (required): one of `interactive`, `batch`, `unknown`
- `features.latency_sensitivity.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.latency_sensitivity.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.tool_requirements` (required): map (fields listed below)
- `features.tool_requirements.value` (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
- `features.tool_requirements.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.tool_requirements.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
- `features.environment_constraints` (required): map (fields listed below)
- `features.environment_constraints.value` (required): array of 0 to 32 items, each identifier, pattern `^[a-z][a-z0-9_]{0,63}$`, at most 64 characters
- `features.environment_constraints.source` (required): one of `measured_local`, `customer_declared`, `agent_estimated`
- `features.environment_constraints.extraction_version` (required): version label, pattern `^[a-z0-9][a-z0-9._/-]{0,63}$`, at most 64 characters
