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

# formation.recommendation_request/v0.1

Frontmatter fields of a `recommendation_request` 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.recommendation_request/v0.1`
- `kind` (required): exactly `recommendation_request`
- `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`
- `workload_profile` (required): workload profile reference, pattern `^(?:sha256:[0-9a-f]{64}|[A-Za-z0-9][A-Za-z0-9_-]{0,127})$`, at most 128 characters
- `baseline_execution_lock` (required): sha256 digest, pattern `^sha256:[0-9a-f]{64}$`, at most 71 characters
- `constraints` (required): map (fields listed below)
- `constraints.minimum_success_rate` (required): number from 0 to 1
- `constraints.maximum_p95_latency_seconds` (required): integer from 1 to 2678400
- `constraints.maximum_episode_cost_usd_micros` (required): integer from 0 to 1000000000000000
- `objective` (required): one of `minimize_mean_total_episode_cost`
- `evidence_policy` (required): map (fields listed below)
- `evidence_policy.allow_public_exploration` (required): boolean
- `evidence_policy.require_private_confirmation` (required): boolean
- `available_models` (optional): array of 0 to 64 items, each model identifier, pattern `^[A-Za-z0-9][A-Za-z0-9._:/@-]{0,127}$`, at most 128 characters
- `runtime_capabilities` (optional): array of 0 to 32 items, each identifier, pattern `^[a-z][a-z0-9_]{0,63}$`, at most 64 characters
