Expand description
Value types shared by every other module in this crate.
These are the types named in
.taskflow/2026-08-21-local-runner-manager/04-subsystem-contracts.md,
“Persistent local data”. Two rules shape every type here:
- No I/O. Nothing in this crate opens a socket, a file, or a database.
rusqliteis declared incrates/domain/Cargo.tomlforb2, which ownsstore.rs; no module owned byb1refers to it. - An illegal configuration should be unrepresentable, not merely
rejected. Where the contract document writes a plain integer that has a
documented floor or ceiling —
host_capacity,refresh_interval_secs— this module gives it a type that cannot hold the illegal value, so a caller who forgets to validate still cannot build one.
D4 removed scale_set_id, scale_set_name, and protocol_flag from the
model. They are not here under another name, and they must not come back:
the routing token is now crate::policy::RoutingLabels.
Structs§
- Attempt
Id - Identifies one
RunnerAttempt. - Host
- One machine running one agent.
- HostId
- Identifies one physical machine running one agent.
- Host
Label - The operator’s
--host-labelvalue: the human-chosen half of a routing label. - Label
- One GitHub runner label, normalised.
- NonEmpty
- A collection that cannot be empty.
- Org
- One organization login.
- Owner
Repo - One repository, as
OWNER/REPO. - Policy
Id - Identifies one
ScalePolicy. - Refresh
Interval - The agent’s per-target refresh interval.
- System
Clock - The production adapter.
Enums§
- Arch
- The host architectures this product supports.
- Cache
Policy - What survives an attempt’s cleanup.
- Os
- The host operating systems this product supports.
- Scale
Target - What one policy scales for (D18).
- Start
Mode - When the installed service starts (
05-infrastructure.md, “Service behavior”). D13 makesBootthe default;Loginis available for operators who prefer a user-scoped secret store. - Target
Scope - Which scope a target has. D18’s whole difference lives in this enum.
- Validation
Error - A value that cannot be constructed because it would violate a documented constraint.
Traits§
- Clock
- The domain’s only source of “now”.