]> git.giacomolli.uk - onehouse/commit
Apply M31 commands through the shared ledger
authorAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 23:11:05 +0000 (20:11 -0300)
committerAnderson A. Giacomolli <redacted>
Tue, 10 Nov 2026 23:29:35 +0000 (20:29 -0300)
commit920de226fe0914003a350a93e311039a02b684d7
treee4e6d950997801c66e3a7abf3bf4a2ba40d6a603
parentf9e4f329fbb3381ad8f16ade26a62560e3c2b951
Apply M31 commands through the shared ledger

The assembly consumes its router queue and validates physical targets
before single or grouped output writes. Contiguous steady coils share
one write and a complete readback. Transport failures fail the batch,
while feedback mismatches fail only the affected members. Pulses avoid
transient feedback, and analog commands enforce exact voltage bounds.

The shared ledger stores outcomes before any feedback or result send.
Duplicate deliveries replay those outcomes without another physical
action, including after a publication failure or device reconnect.

Issue: 8fdc39a
doc/m31.rst
driver/m31/command_handler.go [new file with mode: 0644]
driver/m31/command_handler_test.go [new file with mode: 0644]
driver/m31/connection_test.go
driver/m31/driver.go
driver/m31/driver_test.go
driver/m31/fake_helper_test.go
driver/m31/output_request.go [new file with mode: 0644]
driver/m31/output_request_test.go [new file with mode: 0644]