Land design doc §12 P1 + P2: ops business tables plus station/segment
configuration endpoints. The engine (P3) consumes these as its inputs.
- Migration: six ops tables (station, station_signal, process_segment,
segment_step, segment_interlock, segment_resource) plus event attribution
columns (subject_type, subject_id).
- model.rs: FromRow structs and string-backed enum helpers
(StationType, StationSignalRole, SegmentMode, ActionKind, OnTimeout,
InterlockAppliesTo, RuleKind).
- service: station CRUD with signal-binding upsert; segment CRUD with
nested step/interlock CRUD and transactional resource replacement.
- handler: 13 endpoints covering design doc §9.1 config routes with
validator-based input checks and enum allowlists.
- router: wires the new routes; smoke tests cover station and segment
collection routes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Prevents accidentally binding two points with the same role to the
same equipment at the database level.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>