Interfaces
Interfaces
Wire contracts between the EIGSEP packages — Redis keys, sensor
schemas, bus roles, producer contracts — are authored in
eigsep-field/docs/interface/. Tables there are generated from the
sibling Python modules at the manifest-pinned versions and
CI-drift-checked, so reading them at the pinned tag below is reading
the authoritative source.
Tracking
eigsep-field@main.
Canonical documents
- Interface index — overview, regeneration procedure, drift enforcement.
- Redis key registry — every key, stream, and set the stack touches.
- Sensor schemas — fields each sensor producer emits.
- Bus roles — writer/reader-per-bus pattern.
- Producer contracts
— conformance suite shipped inside the
eigsep_observingwheel.
Why no copy lives here
These tables drift the moment they are duplicated. The generator in
eigsep-field/scripts/gen_interface_docs.py imports the sibling
modules and rewrites the tables on each release; CI fails the release
PR if the committed docs do not match the generator output. Reading
them at the pinned tag is the same as reading the source code.