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.
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}.
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).
Enter a base URL and refresh to probe the sandbox.
$ cd sandbox$ npm install$ npm run seed$ npm run dev
cd sandboxthe Companion Sandbox lives in the repo's sandbox/ foldernpm installone-time: install the sandbox's own dependenciesnpm run seedgenerate deterministic ground-truth data for the 20 servicesnpm 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.
| Service | Base path | Milestones | Status | Links |
|---|---|---|---|---|
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.