| .. | ||
| .gitignore | ||
| __init__.py | ||
| README.md | ||
| run_demo.py | ||
| scenarios.jsonl | ||
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:
ChatRuntimeCognitiveTurnPipeline.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, orREFUSE
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:
UV_PROJECT_ENVIRONMENT=/tmp/core-amr-decision-uv uv run python demos/amr_decision_substrate/run_demo.py
Artifacts are written to:
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.