pub struct Capabilities {
pub protocol: u32,
pub verbs: Vec<String>,
pub access: String,
pub state: String,
pub reason: Option<String>,
pub sentinel_min_interval_secs: u64,
pub sentinel_hourly_budget: u64,
pub syncer_version: String,
pub boot: BootStamp,
}Expand description
.flint/capabilities.json (D11). Written atomically at EVERY run
startup — after claim succeeds, before the first poll — and again
during first checkout, so it exists the instant the agent may start.
The startup write is load-bearing on the live-tree restart row:
checkout() returns at marker_present() without materializing
anything, so pinning the marker write inside checkout would upgrade
a fleet whose live workspaces never get it — sentinels dead on
exactly the pods the upgrade targeted.
Fields§
§protocol: u32§verbs: Vec<String>§access: String"readWrite" or "read" (Access). A marker written before the
field existed reads as read-write, which is what that syncer was.
state: StringAlways "live". It used to read "fenced" for a syncer deposed
from a life-long lease; the lease is now held per barrier
(design 2026-09-13 §4), a lost commit section is retried at the
next floor, and there is no terminal state left to report. Kept
so the marker’s schema is stable for an agent that reads it.
reason: Option<String>§sentinel_min_interval_secs: u64§sentinel_hourly_budget: u64§syncer_version: String§boot: BootStampThe rollback tell (D11): an agent that observes a syncer restart while this stamp is UNCHANGED is looking at a stale marker left by a downgrade — the safety catch painted green.
Trait Implementations§
Source§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more