Skip to content

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.