API entry points¶
Start with installing Core. The installed
CMake target is RobotHarness::core; the public header is
robot_harness/authority_gate.hpp.
These are evolving C++17 interfaces, not a stable SDK or a physical safety layer.
Core: authority and evidence¶
AuthorityGate is a passive state machine driven by one host-owned logical
writer. The host supplies observations and monotonic time. Core neither launches
a backend nor invents missing evidence.
| Task | Entry points | Contract to read |
|---|---|---|
| Establish readiness | observe_startup, startup_status |
Startup and ownership |
| Admit and dispatch | admit, claim_dispatch |
Commands and evidence |
| Cancel or enforce a deadline | request_cancel, observe_time |
Cancellation and deadlines |
| Record native outcomes and result disposition | observe_native, can_deliver_result, observe_output_accepted, observe_output_not_delivered |
Results and recovery |
| Record closure and inspect progress | observe_settlement, receipt |
Execution ownership |
| Replace a provider | withdraw_binding, begin_rebind, observe_rebind_readiness, commit_rebind |
Replacement and rebinding |
OperationAuthority identifies an admitted operation and its binding.
OperationReceipt keeps native outcome, output disposition and settlement
separate. A receipt read does not advance a deadline, perform cleanup or grant
fresh permission. The header is the
signature reference; behavioral checks provide
concrete examples. This page is a reading map, not a second implementation contract
or exhaustive generated symbol reference.
Source-tree hosts and examples¶
| Interface | Purpose | Availability |
|---|---|---|
SampleExecutionHost |
Deterministic examples for learning the execution flow | Source tree; not installed |
ComputeExecutionHost |
Local worker process integration | Source tree; worker deployment required |
| Nav2 observation and settlement examples | Inspect the optional ROS boundary | Separate Ubuntu/Humble build |
Read backend integration before connecting a real backend. The first independent consumer checks packaging and refusal without readiness; it is not a complete adapter. Private recovery and ROS fixtures are not installed APIs. Version, licensing and deployment limits remain in the project scope.