Registry stack documentation: machine-readable Markdown.
Index of all pages: https://docs.registrystack.org/dev/llms.txt
Full corpus: https://docs.registrystack.org/dev/llms-full.txt

# Registry Scheduling configuration reference

> Generated fields, accepted values, defaults, and constraints for Registry Scheduling projects, records, fixtures, and runtime configuration.

import ConfigurationFormatChecks from '../../../components/ConfigurationFormatChecks.astro';
import ConfigurationReference from '../../../components/ConfigurationReference.astro';
import reference from '../../../data/generated/scheduling-configuration.json';

Look up configuration keys for `scheduling.yaml`, `records.yaml`, the files under `fixtures/`, and
the operator's `runtime.yaml`.

## Scope

These keys are not a frozen contract.

`scheduling.yaml` is the authored policy: services, openings, holiday sets, offerings, the hold
policy, and hooks. `records.yaml` holds the runtime records the policy names by identifier:
locations, resource pools and their members, published windows, and dated exceptions. Files under `fixtures/` drive local checks. `runtime.yaml` is the operator's
deployment file: listener, database, package, identity, task-grant status, audit, retention, and hook
destinations.

A schema-valid document can still fail the checks `schedulingctl` runs, because some rules span
fields or files.
[Configuration files](../configuration-files/) describes the YAML rules and environment
substitution that apply when the runtime reads `runtime.yaml`.

{/* Evidence: crates/registry-scheduling/src/config.rs, SchedulingRuntimeConfig;
    crates/registry-schedulingctl/src/project.rs, check() and check_runtime_config();
    docs/site/scripts/generate-scheduling-configuration.mjs. */}

## Read the tables

`fields[]` means an array item; `destinations.hooks.*` means a map entry whose name you choose.
Required fields inside an optional object apply when that object is present.
Conditional fields depend on the selected variant or another configuration value.
Accepted values list the union across variants; constraints separated by `or` are alternatives.
A schema default applies only where that variant declares it. `Not specified` does not mean
that every value is accepted.

<ConfigurationReference contracts={reference.contracts} prefix="scheduling" />

{/* Generated from src/data/generated/scheduling-configuration.json by
    docs/site/scripts/generate-scheduling-configuration.mjs. Run npm run generate from docs/site. */}

## Check commands

Every file Registry Scheduling reads has a command that checks it offline, with no service running. Each prints
the diagnostics, JSON output, and exit codes that
[Check a file before you deploy it](../configuration-files/#check-a-file-before-you-deploy-it) describes.

<ConfigurationFormatChecks product="scheduling" />

## Next

- [Deploy and operate Registry Scheduling](../../operate/scheduling/) for the runtime file in command order.
- [Registry Scheduling API contract](../apis/registry-scheduling/) for routes, task grants, and problem codes.
- [Audit upgrades and retention](../../operate/retention-and-persistent-state/) for the audit and retention keys.