Skip to content

Range Profiles

R2 supports three Ludus profiles. They all keep the same AIT artifact contract: transcripts, graph, paths, finding, reports, logs, cockpit manifest, and optional robustness output.

Profile VM Shape Use When
compact operator + combined target You need the cheapest Proxmox footprint or a quick range sanity check.
standard operator + support/planner + services + privileged sink You want the recommended professional default.
full-split operator + optional Seam intercept + one VM per service role You need workshop clarity, routed-intercept demos, or research isolation.

Standard Default

standard is the default because it keeps the important trust boundaries:

  • the operator host runs AIT, Seam, meshmapper, and Assay;
  • the support/planner host receives public A2A traffic and makes decisions;
  • the services host carries memory, MCP tool, and untrusted-source behavior;
  • the billing host remains a separate privileged sink.

This gives Seam meaningful flows to capture and gives meshmapper real host and trust boundaries without forcing every small service into a separate VM.

Profile Assets

lab/range/profiles/
  compact.yml
  standard.yml
  full-split.yml
lab/range/ludus/profiles/
  compact.yml
  standard.yml
  full-split.yml
lab/range/ansible/
  inventory.compact.ini
  inventory.standard.ini
  inventory.full-split.ini

lab/range/ludus/range-config.example.yml and lab/range/ansible/inventory.example.ini mirror the standard profile.

Commands

lab/range/scripts/check_range.sh --profile standard
lab/range/scripts/deploy_ludus.sh --profile standard
lab/range/scripts/collect_artifacts.sh --profile standard --out .ait/runs/range-standard
lab/range/scripts/collect_artifacts.sh --profile standard --out .ait/runs/range-standard --fetch
lab/range/scripts/reset_range.sh --yes

Use compact for small hosts and full-split for maximum separation.