Add passive tabletop lab protocol
This commit is contained in:
parent
b5f892bd95
commit
c5da00107e
3 changed files with 58 additions and 0 deletions
|
|
@ -133,6 +133,7 @@ _TEST_SUITES: dict[str, tuple[str, ...]] = {
|
|||
"tests/test_environment_falsification.py",
|
||||
"tests/test_environment_falsification_eval_cli.py",
|
||||
"tests/test_witness_log_importer.py",
|
||||
"tests/test_tabletop_lab_protocol.py",
|
||||
"tests/test_sensorium_eval_cli.py",
|
||||
"tests/test_efferent_gate.py",
|
||||
),
|
||||
|
|
|
|||
43
docs/lab/tabletop_falsification_lab.md
Normal file
43
docs/lab/tabletop_falsification_lab.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# Passive Tabletop Falsification Lab Protocol
|
||||
|
||||
## Purpose
|
||||
|
||||
The tabletop lab is an offline evidence source for ADR-0211 falsification. It is
|
||||
not a live robotics stack and it does not authorize CORE-controlled actuation.
|
||||
|
||||
## Hardware Target
|
||||
|
||||
- Event camera for sparse brightness-change deltas.
|
||||
- RGB/depth camera for reference visual frames.
|
||||
- AprilTag calibration board and object tags for pose witness evidence.
|
||||
- IMU/contact/proprioception logger for afferent sensorimotor evidence.
|
||||
|
||||
## First Lab Mode
|
||||
|
||||
Only passive, human-moved objects are allowed. The lab records logs, imports
|
||||
them offline, compiles afferent units, builds `ObservationFrame`s, and runs
|
||||
falsification scenarios.
|
||||
|
||||
```text
|
||||
passive environment movement
|
||||
-> offline witness logs
|
||||
-> deterministic import
|
||||
-> afferent compilers
|
||||
-> ObservationFrame sequence
|
||||
-> FalsificationScenario report
|
||||
```
|
||||
|
||||
## Acceptance Gates
|
||||
|
||||
- The same captured log imports to the same frame-sequence hash.
|
||||
- AprilTag/GTSAM-style pose outputs remain witness evidence only.
|
||||
- Event-vision and sensorimotor deltas remain compiler-native.
|
||||
- No raw camera frame, event stream, PCM, trajectory, or actuator trace enters
|
||||
`ObservationFrame` or falsification traces.
|
||||
- No CORE motor command path is mounted.
|
||||
|
||||
## Deferred
|
||||
|
||||
Repeated capture statistics, hardware-noise envelopes, live device readers,
|
||||
robot actuation, and motor decoder work require later ADRs. Exact replay remains
|
||||
the first gate.
|
||||
14
tests/test_tabletop_lab_protocol.py
Normal file
14
tests/test_tabletop_lab_protocol.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def test_tabletop_lab_protocol_is_passive_and_trace_safe():
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
doc = root / "docs" / "lab" / "tabletop_falsification_lab.md"
|
||||
assert doc.exists()
|
||||
text = doc.read_text(encoding="utf-8")
|
||||
assert "Only passive, human-moved objects are allowed" in text
|
||||
assert "No CORE motor command path is mounted" in text
|
||||
assert "No raw camera frame, event stream, PCM, trajectory, or actuator trace enters" in text
|
||||
assert "Exact replay remains" in text
|
||||
Loading…
Reference in a new issue