Skip to content

Repository files navigation

GOVERNED SIMULATION SUPPLY

ScenarioForge

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

ScenarioForge v2 production workbench at 1440 by 900 showing the approved task, real nuScenes seed, synthetic deltas, six browser prechecks, and the MetaDrive capability gap

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.

The product decision

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

Simulation supply line

01 · INTAKE
Approved task
data-supply-task/1.0
Human-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.

Evidence ladder

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

The real open-data seed

Real nuScenes v1.0-mini scene-0061 CAM_FRONT frame used as the traceable ScenarioForge seed

nuScenes v1.0-mini · scene-0061

CAM_FRONT frame 14
1280 × 720

Sample token
2afb9d32310e4546a71cbe432911eca2

Integrity
SHA-256 is recorded in DATA_LICENSE.md.

Boundary
The image is a seed—not temporary-lane-control ground truth and not target-PNC evidence.

Honest current state

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.

AI, tools, and human authority

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.

Try the guided path

  1. Open the live workbench and review the approved inbound task and dependencies.
  2. Inspect the nuScenes REAL SEED, then compare it with the separately declared SYNTHETIC DELTA parameters.
  3. Review the six concrete scenarios and their deterministic browser-precheck traces.
  4. Continue to the runner stage: the verified public environment reports MetaDrive CAPABILITY_GAP for all six.
  5. Acknowledge the gap and inspect the returned DataSupplyResult: zero authoritative executions and no published asset.

Contract surface

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.

Run and verify

Local deterministic showcase

Requires Node.js 20 or newer. The browser build has no runtime dependency.

npm install
npm run dev

Open 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 preview

The 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:llm

The 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.

Capability boundaries

  • The browser 2D engine is a product-loop prechecker—not MetaDrive, a production vehicle-dynamics model, or a safety-certification tool.
  • PRECHECK_PASSED means four assertions passed under the simplified contract; it does not mean the target PNC passed.
  • The in-house ScenarioSpec DSL 1.0 does not claim compatibility with ASAM OpenSCENARIO or CARLA.
  • Without an agentRef, ScenarioForge can produce only reference-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.

About

Constrained test-intent compilation and deterministic driving scenario simulation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages