GOVERNED SIMULATION SUPPLY
Turn an approved simulation demand into traceable scenarios, executable evidence, and a governed return receipt.
Keep the real seed, synthetic change, browser precheck, and authoritative run visibly separate—at every step.
▶ OPEN THE LIVE WORKBENCH · 中文文档 · Product brief · Test evidence
REAL SEED + SYNTHETIC DELTA → 2D PRECHECK → AUTHORITATIVE RUN
| 1 approved route SIMULATION only |
6 bounded scenarios one governed family |
6 / 6 prechecks deterministic browser runs |
0 false assets fail closed on runner gaps |
Actual product capture · 1440 × 900 · click the image to open the live Cloudflare Pages demo
Public-demo boundary. The hosted build is an explicitly labelled deterministic Mock. It contains no API key, does not call MiniMax-M3, and never presents a browser precheck as authoritative PNC evidence.
Simulation supply is not “generate a scene and call it done.” A data team must prove which demand was approved, where a seed came from, what was synthesized, what actually ran, which agent version was evaluated, and who accepted the result. ScenarioForge makes that chain inspectable before an asset can enter a regression set.
| For | Decision supported | Product control |
|---|---|---|
| Simulation engineer | Is this job executable on the qualified runner? | Template bounds, preflight, six concrete plans, runner capability |
| PNC owner | Does this evidence apply to my exact model version? | agentRef, acceptance criteria, report lineage, human decision |
| Data platform owner | May this result be published and reused? | Demand/route gate, provenance, receipt, optional asset reference |
|
01 · INTAKE Approved task data-supply-task/1.0Human-approved SIMULATION route |
➜ |
02 · PREFLIGHT Qualify dependencies Seed · label · model · budget Any unresolved gate blocks execution |
➜ |
03 · PLAN Expand six scenarios Approved template + bounded axes Unique IDs and explicit provenance |
| ▼ | ||||
|
06 · RETURN Issue governed receipt Result + limitations + optional asset No authoritative run, no assetRef |
◀ |
05 · DECIDE Human acceptance gate ACCEPT or acknowledge the gap Decision is bound to the exact report |
◀ |
04 · EXECUTE Precheck, then runner Browser 2D → MetaDrive Capability and execution states stay distinct |
The implemented family is a right-lane closure with a left merge in a temporary work zone on an urban arterial. The demonstration binds DEM-WZ-001@1.0, TASK-SF-WZ-001, and nuScenes v1.0-mini scene-0061.
PROVENANCE IS ADDITIVE; CLAIMS ARE NOT INTERCHANGEABLE
| 01 REAL SEED Observed source context |
+ | 02 SYNTHETIC DELTA Declared scenario change |
➜ | 03 2D PRECHECK Cheap deterministic filter |
➜ | 04 AUTHORITATIVE RUN Qualified runner + exact agent |
| Layer | What ScenarioForge records | What it may support | What it must not claim |
|---|---|---|---|
| REAL SEED | nuScenes source, scene/sample identity, file digest and licence | Traceable visual context | That a lane closure or target-PNC event existed in the source |
| SYNTHETIC DELTA | Lane closure, cone spacing, target gap and bounded parameter source | A reproducible scenario specification | Ground truth observed by the collection vehicle |
| 2D PRECHECK | Collision, TTC, lateral acceleration, merge completion and trace digest | Whether the simplified contract is worth sending to a runner | MetaDrive success, safety certification or a PNC pass |
| AUTHORITATIVE RUN | MetaDrive/adapter/map versions, agentRef, six run IDs, metrics and traces |
Human review against the approved acceptance criteria | Any result when the adapter, report or agent binding is incomplete |
|
nuScenes v1.0-mini · scene-0061
Sample token Integrity Boundary |
| Stage | Actual result | Interpretation |
|---|---|---|
| Browser 2D precheck | 6 / 6 PRECHECK_PASSED |
Four simplified assertions passed for each bounded instance. |
| Authoritative MetaDrive run | 0 / 6 · CAPABILITY_GAP |
MetaDrive is unavailable in the verified environment; no authoritative run occurred. |
| Published scenario asset | 0 · NOT PUBLISHED | The product fails closed and returns a limitation-bearing receipt without assetRef. |
This is intentional product behaviour—not a cosmetic fallback. A complete authoritative report fixture tests the state machine, but is explicitly excluded from real-run evidence.
| Actor | Allowed responsibility | Hard boundary |
|---|---|---|
| MiniMax-M3 | Map an approved demand to a registered template, propose bounded parameters, cluster deterministic failure codes, draft reproduction steps | Cannot create map, trajectory, collision, TTC, coverage, runner-state, PASS/FAIL, or publication facts |
| Deterministic tools | Schema, map and physics checks; fixed-step 2D precheck; report validation; metric recomputation; capability probe | Browser 2D remains a precheck and cannot impersonate MetaDrive |
| Human owner | Approve the upstream route, own acceptance criteria, accept a complete authoritative report, acknowledge gaps | Cannot accept when agentRef, criteria, lineage, or runner qualification does not match |
The public site never calls the model. The optional server-side MiniMax-M3 track accepts closed-set JSON only and fails closed on unknown fields, out-of-range values, timeouts, or request failures. ScenarioForge does not use visual-language output to create simulation truth.
- Open the live workbench and review the approved inbound task and dependencies.
- Inspect the nuScenes
REAL SEED, then compare it with the separately declaredSYNTHETIC DELTAparameters. - Review the six concrete scenarios and their deterministic browser-precheck traces.
- Continue to the runner stage: the verified public environment reports MetaDrive
CAPABILITY_GAPfor all six. - Acknowledge the gap and inspect the returned
DataSupplyResult: zero authoritative executions and no published asset.
| Boundary object | Fixed version | ScenarioForge responsibility |
|---|---|---|
| Inbound task | data-supply-task/1.0 |
Validate task, route, dependencies, and budget |
| Provider spec | simulation-supply-task/1.0 |
Bind seed, synthetic deltas, coverage axes, and evaluation target |
| Runner report | runner-execution-report/1.0 |
Verify MetaDrive identity, agentRef, and all six runs |
| Provider result | simulation-supply-result/1.0 |
Report planned, executed, and blocked totals plus limitations |
| Return receipt | data-supply-result/1.0 |
Return to SceneQL; publish no asset while a capability gap exists |
| Asset | simulation-scenario-asset/1.0 |
Bind seed/delta, runner, agent, run, and human decision |
SceneQL can pass the public demonstration task through a URL fragment or JSON file. The fragment is not sent to the static server. An enterprise deployment should replace it with an authenticated, signed Task Reference.
Local deterministic showcase
Requires Node.js 20 or newer. The browser build has no runtime dependency.
npm install
npm run devOpen http://127.0.0.1:4173. The default experience is explicitly labelled Deterministic Mock and automatically runs all six browser prechecks.
npm run check
npm run runner:probe
npm run previewThe current suite reports 36 passed / 0 failed and creates dist/. npm run runner:probe returning CAPABILITY_GAP is an auditable business terminal state: it means no authoritative MetaDrive run occurred on that machine.
Optional MiniMax-M3 server track
SCENARIOFORGE_ENV_FILE=/absolute/path/to/private/.env \
SCENARIOFORGE_AI_MODE=remote \
npm run dev
SCENARIOFORGE_ENV_FILE=/absolute/path/to/private/.env npm run test:llmThe server accepts the OPENAI_API_KEY, OPENAI_BASE_URL, and OPENAI_MODEL aliases, while the allowlist is fixed to MiniMax-M3 (case-insensitive). A live smoke test verifies endpoint connectivity, closed-set output, and tool-chain integration only; it does not establish visual or production robustness. The key never enters the browser bundle.
Cloudflare Pages
npm run build writes the static artifact to dist/ and marks the runtime as static. The hosted browser remains on the deterministic path, records the authoritative runner as disconnected, and makes no failing /api/* request. src/_headers supplies production security headers.
| Setting | Value |
|---|---|
| Build command | npm run build |
| Build output directory | dist |
| Node.js | 20 or newer |
| Runtime secrets | None |
Do not configure OPENAI_*, SCENARIOFORGE_LLM_*, or private environment files in the public Pages project. Remote-model and authoritative-runner adapters belong behind an authenticated server boundary.
- The browser 2D engine is a product-loop prechecker—not MetaDrive, a production vehicle-dynamics model, or a safety-certification tool.
PRECHECK_PASSEDmeans four assertions passed under the simplified contract; it does not mean the target PNC passed.- The in-house
ScenarioSpec DSL 1.0does not claim compatibility with ASAM OpenSCENARIO or CARLA. - Without an
agentRef, ScenarioForge can produce onlyreference-controller execution sanity, not an algorithm-regression claim. - The nuScenes seed has neither temporary-lane-control ground truth nor target-PNC logs. Those conditions must be supplied through simulation, not inferred from the image.
Inspect the demand. Preserve provenance. Publish only earned evidence.
Live demo · Product solution · Verification report · Open-data notice
Source code and original public documentation are licensed under the MIT License.
