Alvance Company Simulator is a deterministic, resettable enterprise digital world for model and agent interaction. It simulates state, permissions, policies, business side effects, and audit history; it does not select a model, plan tasks, or contain an autonomous agent loop.
Any client can interact through HTTP, MCP, the Python API, or the CLI.
The built-in incident scenario composes seven optional components:
| Component | Application surfaces | Current fidelity |
|---|---|---|
identity |
organization, employees, RBAC | stateful roles and capabilities |
collaboration |
documents, chat | classified reads and auditable writes |
work_management |
projects, issues | assignments, labels, workflow state |
source_control |
repository | versioned files and commits |
service_management |
ITSM, approvals, policy | causal change and incident gates |
customer |
CRM | accounts, restricted contacts, notes, tags |
analytics |
warehouse | column-restricted read-only SQL telemetry |
Scenarios load only the components they need. Component dependencies are resolved automatically and tables for unloaded components are not created.
Any model, agent, or program
│
├── HTTP JSON
├── MCP stdio
├── CLI
└── Python API
│
Composable world kernel
├── scenario manifest + component registry
├── SQLite state + deterministic logical clock
├── RBAC, policy gates, and side effects
└── optional read/write audit trace
│
Optional evaluation layer
├── state / trace / summary artifact bundle
├── one-way handoff to a trusted verifier
├── reward.json + CTRF diagnostics
└── Harbor with Docker or E2B
python3 scripts/company_sim.py --db runtime/company.db reset \
--scenario scenarios/incident-response-v1
python3 scripts/company_sim.py --db runtime/company.db components
python3 scripts/company_sim.py --db runtime/company.db search \
--actor EMP-ALICE timeoutLoad the small collaboration-only world:
python3 scripts/company_sim.py --db runtime/minimal.db reset \
--scenario scenarios/minimal-collaboration-v1The scenario manifest chooses components, durability, read auditing, request
budgets, and component-specific limits. See
docs/composable-worlds.md.
- HTTP:
python3 -m company_simulation.server --db runtime/company.db - MCP:
python3 scripts/mcp_server.py - MCP example config:
examples/mcp/stdio.json - CLI:
python3 scripts/company_sim.py --help - Python:
CompanyWorld.reset(...), thensearch,read,warehouse_query, andaction
MCP is an interface protocol, not a dependency on a particular model vendor.
python3 scripts/company_sim.py --db runtime/company.db export-artifact \
runtime/submission --replace
python3 scripts/company_sim.py verify-artifact runtime/submissionThe bundle contains:
submission/
├── manifest.json
├── checksums.json
└── payload/
├── world.db
├── events.jsonl
└── summary.json
The optional Harbor runner kills remaining agent processes, captures this
bundle as root, and uploads hidden tests only afterward. Verifiers emit
reward.json, reward.txt, ctrf.json, and a domain report.
python3 scripts/harbor_secure.py run \
-p harbor/tasks/incident-response-cross-system -a oracle -e dockerFor E2B:
export E2B_API_KEY="..."
python3 scripts/harbor_secure.py run \
-p harbor/tasks/incident-response-cross-system -a oracle -e e2b --force-buildHarbor and E2B are optional evaluation infrastructure, not part of the world
kernel. The secure remote path has been verified with Oracle 1.000 and nop
0.000.
docs/simulation-audit.md: what is and is not simulateddocs/composable-worlds.md: component and scenario contractdocs/performance.md: storage, latency, and scale limitsdocs/evaluation-contract.md: artifact and reward protocoldocs/open-source-landscape.md: projects reviewed and adoption decisionsdocs/threat-model.md: trust boundaries and residual risks
MIT