Manifest reference (unibench.toml)

Auto-generated from unibench-manifest type definitions. Regenerate with cargo run -p unibench-manifest --bin manifest-reference-gen.

  • Schema version this build supports: 1 (decision 2.26)
  • Catalog version this build supports: 1 (decision 2.47)

Manifest (top level)

FieldTypeRequiredDescription
projectProjectyes
runtimemap<string, Runtime>no
seedanyno[seed] block — scripts the orchestrator runs after a Seed-mode start to load test fixtures into the now-empty data dirs. Source: §3.3, §8.6.1, decision 2.21.
servicesmap<string, Service>no
tasksmap<string, Task>no

AutoPortMarker

Captures the literal string "auto" for the PortSpec::Auto variant. Serde's untagged enums need a concrete representative for each branch.

Variants:

  • "auto"

Dependency

FieldTypeRequiredDescription
conditionDependencyConditionyes
servicestringyes

DependencyCondition

One of:

  • healthy — Wait until the upstream service's healthcheck passes.
  • completed — Wait until a task_service exits cleanly (decision 2.16, 2.43).
  • model_loaded — Wait until an ollama service finishes loading the declared model.

IsolationKind

One of:

  • per-project — Per-project instance (default for most services per decision 2.2).
  • shared — Single shared instance per (type, major version) — see decision 2.46.

PackageManagerSpec

Variants:

  • "auto"
  • "bun"
  • "pnpm"
  • "yarn"
  • "npm"
  • "uv"
  • "poetry"
  • "pip"
  • "bundler"
  • "cargo"
  • "composer"
  • "go"

PortSpec

One of:

  • anyport = "auto" — orchestrator allocates from a free range.
  • integerport = 5432 — manual pin.

Project

FieldTypeRequiredDescription
catalog`ProjectCatalognull`no
namestringyes
schemaProjectSchemayes

ProjectCatalog

FieldTypeRequiredDescription
minimum_versionintegeryes

ProjectSchema

FieldTypeRequiredDescription
versionintegeryes

Runtime

[runtime.<name>] declaration — the orchestrator provisions the runtime and detects the package manager from a lockfile (decision 2.13).

FieldTypeRequiredDescription
manageranyno
versionstringyes

Sandbox

[seed] table — list of scripts to run after start_all in Seed sandbox mode. Each path is resolved relative to the project root unless absolute. The scripts are spawned via bash -c with the same env shape services see: mise-resolved PATH + every service's $<NAME>_PORT and $<NAME>_HOST.

FieldTypeRequiredDescription
scriptsarray<string>no

Service

FieldTypeRequiredDescription
depends_onarray<Dependency>no
healthcheck_retries`integernull`no
isolation`IsolationKindnull`no
on_unhealthyarray<string>no
port`PortSpecnull`no
post_startarray<string>no
pre_startarray<string>no
pre_stoparray<string>no
typestringyes
version`stringnull`no

Task

[tasks.<name>] — named commands surfaced as one-click buttons in the project UI and runnable from CLI (decision 2.10).

FieldTypeRequiredDescription
descriptionstringyes
runTaskRunyes

TaskRun

One of:

  • stringrun = "do-the-thing"
  • array<string>run = ["step-one", "step-two"]