Scenario Lab

Companion Sandbox

The local proving ground for live scenario runs. Connect the 20-service Companion Sandbox, import each service's OpenAPI as a sandbox environment, and let the outcome layer poll the sandbox to PROVE the downstream business state was reached.

sandbox offline 0 connectedLocal-only — localhost:8081
Connection
Wire the sandbox
Sandbox base URL

The local Companion Sandbox origin. Control-plane routes (/registry, /health, /scenario-state) live at the root; each service is mounted under http://localhost:8081/{service}.

API key (x-api-key)

The sandbox prints an all-scopes dev key on boot and writes it to sandbox/data/dev-key.txt. Paste that here, or mint a fresh scoped key (the mint call itself needs a key with the identity or * scope).

Paste or mint an API key to enable connect.
Live status
Sandbox health
Not checked

Enter a base URL and refresh to probe the sandbox.

Getting started
Bring the sandbox up
Start the Companion Sandbox
  1. $ cd sandbox
  2. $ npm install
  3. $ npm run seed
  4. $ npm run dev
  • cd sandboxthe Companion Sandbox lives in the repo's sandbox/ folder
  • npm installone-time: install the sandbox's own dependencies
  • npm run seedgenerate deterministic ground-truth data for the 20 services
  • npm run devstart Fastify on port 8081 (prints an all-scopes dev key)

Local-only. The sandbox is a proving ground on your own machine. The deployed (Lovable-hosted) Workbench runs in the cloud and cannot reach localhost:8081 — so live sandbox runs work when you run both the Workbench (npm run dev, port 8080) and the sandbox locally.

Services
Service registry
20 services
ServiceBase pathMilestonesStatusLinks
Audit Event
platformTMF688
/audit-event
ConsentPostingCompleted
not connectedmanifest
Billing Account
billingTMF666
/billing-account
AgreementUpdateCompleted
not connectedmanifest
Customer Account
customerTMF629
/customer-account
Promote2CustomerCompletedDUPActivateCompleted
not connectedmanifest
Document & Agreement
agreementTMF651
/document-agreement
DocumentGenerationCompletedAgreementUpdateCompleted
not connectedmanifest
Identity
platformAPI-Key Admin
/identity
not connectedmanifest
Logistics Inventory
logisticsSAP-COLA/GRIP
/logistics-inventory
StockReservedPickCompletedPackCompleted+2
not connectedmanifest
Manufacturing Execution
manufacturing
/manufacturing-execution
ProductionCompleted
not connectedmanifest
Notification
communicationTMF688
/notification
CustomerNotificationSuccess
not connectedmanifest
Order Management
orderTMF622
/order-management
OrderCaptured
not connectedmanifest
Payment
billingTMF676
/payment
PaymentAuthorisedPaymentCaptured
not connectedmanifest
Pricing Rules
pricing
/pricing-rules
PriceCalculated
not connectedmanifest
Procurement
procurement
/procurement
PurchaseOrderApprovedGoodsReceived
not connectedmanifest
Product Catalog (EPC)
catalogTMF620
/product-catalog
EpcDataEnrichmentCompleted
not connectedmanifest
Product Inventory
inventoryTMF637
/product-inventory
ProductInventoryCompletedProductInventoryActivateCompleted
not connectedmanifest
Resource Inventory
inventoryTMF639
/resource-inventory
ResourceInventoryGetDataCompletedResourceInventoryActivateCompleted
not connectedmanifest
Return Authorization
logistics
/return-authorization
ReturnAuthorisedReturnReceivedReturnResolved+3
not connectedmanifest
Service Inventory
inventoryTMF638
/service-inventory
ServiceOrderManagementCallCompletedServiceOrderManagementActivationCompleted
not connectedmanifest
Shipment Tracking
logistics
/shipment-tracking
ShipmentCreatedShipmentDispatchedShipmentDelivered+2
not connectedmanifest
Time Tracking
staffing
/time-tracking
TimeBooked
not connectedmanifest
Work Order
field-service
/work-order
WorkOrderScheduledWorkOrderCompleted
not connectedmanifest

After connecting, open the Scenario Builder, point a step's environment at a sandbox service, and run it from the Run Monitor — the outcome column proves the other side reached the expected milestone.