docs: describe hardware approval gateway
This commit is contained in:
+14
-6
@@ -59,9 +59,17 @@ The workstation service must use the same `.env.auth` as the public container;
|
|||||||
the SSH key must be restricted to that single reverse-listen port and must not
|
the SSH key must be restricted to that single reverse-listen port and must not
|
||||||
be allowed to run remote commands.
|
be allowed to run remote commands.
|
||||||
|
|
||||||
The physical bench is a process-wide single-flight resource. A hardware action
|
Public physical execution uses a local-approval lease. A browser first submits
|
||||||
owns the bench from intent planning through final physical feedback. Concurrent
|
an access request, and the bench operator chooses one terminal at
|
||||||
hardware actions and passive physical-state reads receive HTTP `409`
|
`http://127.0.0.1:8000/hardware-control`. The decision API is restricted to
|
||||||
(`hardware_busy`) with `Retry-After`; they never enter the CAN path or wait to run
|
unproxied loopback traffic, so it cannot be used through the public domain or
|
||||||
later against stale position state. Dry-run and simulated-hardware requests are
|
the SSH tunnel. The approved terminal may run multiple tests; its lease is
|
||||||
not serialized by this gate.
|
revoked after 180 seconds without a physical test, on voluntary release, or by
|
||||||
|
the local operator. A process restart clears all leases and pending requests.
|
||||||
|
|
||||||
|
Inside the approved lease, the physical bench remains a process-wide
|
||||||
|
single-flight resource. A hardware action owns the bench from intent planning
|
||||||
|
through final physical feedback. Concurrent actions and passive physical-state
|
||||||
|
reads receive HTTP `409` (`hardware_busy`) with `Retry-After`; they never enter
|
||||||
|
the CAN path or wait to run later against stale position state. Dry-run and
|
||||||
|
simulated-hardware requests are not serialized by this action-level gate.
|
||||||
|
|||||||
Reference in New Issue
Block a user