# AMR Decision Substrate Demo This demo is robotics-adjacent, not a robotics stack. It uses simulated abstract situation records to show CORE as a decision and accountability substrate around a bounded AMR-style proceed / stop / refuse choice. The inputs are not camera, LiDAR, odometry, SLAM, localization, motor, or fleet-control data. Claims-ledger framing: this is a preparation artifact over simulated records. It is not deployment readiness, not perception, not motion planning, and not motor control. The demo proves only its local trace/refusal/replay surface over these fixtures. It does not imply a CORE expert domain, a robotics capability claim, or working vision/motor. Per the ledger, text is the active capability; audio is substrate with the gate CLOSED; vision and motor are proposed only. What is real CORE here: - `ChatRuntime` - `CognitiveTurnPipeline.run(...)` - recognition-side typed refusal propagation - `CognitiveTurnResult.trace_hash` - CORE Trace Protocol canonical JSONL events - `verify_chain(...)` replay validation What is simulated: - the AMR situation record - the tiny policy reducer that maps already-abstracted facts to `PROCEED`, `STOP`, or `REFUSE` The demo refuses under-determined input instead of guessing. It also runs the same scenarios twice through fresh runtime instances and asserts byte-identical trace JSONL. Run from the repository root: ```bash UV_PROJECT_ENVIRONMENT=/tmp/core-amr-decision-uv uv run python demos/amr_decision_substrate/run_demo.py ``` Artifacts are written to: ```text demos/amr_decision_substrate/out/ ``` The important artifact is `summary.json`; `trace_a.jsonl` and `trace_b.jsonl` are the two replay runs that must match byte-for-byte.