Manifest reference¶
MAS Lab is configured through YAML manifests: declarative files for agents, multi-agent systems, experiments, datasets, overlays, and pipelines.
This folder documents YAML kinds (kind: Agent, MAS, Overlay, …) and
field companions that are not kinds of their own (spec.governance lives
next to Agent). Runtime behaviour that spans several fields (retries, circuit
breaker, logging) lives under references/ —
start at reliability.md.
New to the vocabulary? Read glossary.md first (scenario, overlay, pipeline, run, flavour).
Hands-on: start with Tutorial 1 (agent) → Tutorial 2 (MAS) → Tutorial 3 (experiments).
How manifests fit together¶
experiment.yaml ← what to run (scenarios × dataset × n_runs + pipelines)
│
├── application → mas.yaml / registered app
├── scenarios[] → overlay stacks per variant
├── dataset → run-input envelope items
└── run/item/scenario/post → pipeline steps (metrics, plots)
mas.yaml ← team topology, workflow, transport
└── agents/*.yaml ← design pattern, tools, skills, observability
config.yaml ← project defaults (flavour, infra_refs, .env path)
| Layer | Manifest kinds | Reference |
|---|---|---|
| Agent | Agent |
agent.md · governance.md · checkpoint.md · subagents.md |
| MAS | MAS, Workflow |
mas.md |
| Override | Overlay |
overlay.md |
| Environment | Flavour, InfraBundle, LLMProxy |
flavour.md, infra.md |
| Experiment | experiment: |
experiment.md |
| Inputs | Dataset |
dataset.md |
| Processing | pipeline: / kind: Pipeline |
pipeline.md |
| Interactive demo | lab: |
lab.md |
Runtime execution manifests (Agent, MAS, overlays, infra) are documented under
runtime.md. Failure handling:
reliability.md.
Resolution: ref vs id¶
| Form | Example | Meaning |
|---|---|---|
| File path | ref: ./agents/broker.yaml |
Relative to the referring manifest |
| Catalog name | dataset.name: arborian-network |
Resolved under the lab or library |
| Library ref | standard:openai |
Bundled infra from library-standard |
| CLI override | --infra-ref, -o overlay.yaml |
One-shot for mas-ctl |
Schema files¶
YAML schemas live under docs/schemas/. The bench UI and
mas-ctl validate compile them at runtime.
| Area | Schema directory |
|---|---|
| Lab (experiment, dataset, pipeline) | docs/schemas/lab/ |
| Runtime (agent, mas, overlay, infra) | docs/schemas/runtime/ |
| Workspace | config.schema.yaml |
Application binding (tutorials vs paper labs)¶
The canonical MAS binding is experiment.application. The plural
applications: form is deprecated but remains accepted during migration.
| Style | Example | When to use |
|---|---|---|
| Inline manifest | application: {manifest: ./mas.yaml, configs_dir: ./overlays} |
Tutorials, self-contained experiments |
| Registered app | application: {app: trip-planner, configs_dir: ./overlays} |
Paper labs, shared apps under library-samples/apps/ |
Scenarios reference overlay ids from configs_dir (e.g. tutorial cot vs lab pattern-cot). Dataset: path: ./dataset.yaml (tutorial) or name + locator: samples (catalogued benchmarks).
See Topology, workflow, and routing for workflow vs routing overlays.
See also¶
- user-config.md — XDG user config and project
config.yaml - cli/observability.md —
events.jsonland CLI flags - paper/index.md — sample labs that ship with the repo