Skip to main content

Module agent_facts

Module agent_facts 

Source
Expand description

Dispatch index: derived facts about the agents and fleets on this machine.

Every field here is READ from what the kernel actually enforces (entitlements) plus the profile’s own metadata. Nothing is declared in a separate list, so the index cannot drift from reality the way a hand-written capability table would — a new agent appears the moment its profile.yaml exists, with no registration step.

Three properties this module deliberately keeps apart:

  • Hard (exec, writes, net) — kernel-enforced, authoritative in the NEGATIVE direction: absent from the allowlist means the agent physically cannot do it. Present does NOT mean it is good at it. Use to FILTER.
  • Soft (role, skills, model_ref) — human-written or heuristic, can be stale or overstated. Use to RANK and to explain, never to filter.
  • Authorization (FleetFacts::authorized) — read from the global config the agents cannot write. Never inferred, never widened here.

Lives in mur-common because both consumers need it and the dependency graph is mur-core -> mur-agent-runtime -> mur-common: the runtime’s bash tool cannot reach mur-core, so anything shared has to sit at the bottom.

Structs§

AgentFacts
One agent, as the kernel and the profile describe it.
ExecRoutes
Routes for one denied binary, split by whether they can be used right now.
FleetFacts
One fleet plus the members that give it its abilities. A fleet declares no capabilities of its own — it has exactly what its members have.

Enums§

Blocker
Why a fleet cannot be dispatched to right now.
ExecFacts
What the sandbox lets an agent exec.

Functions§

agent_facts
Read one agent’s facts. None when there is no readable profile — every filesystem failure here is “this agent contributes nothing to the index”, never a hard error: a dispatch hint must not fail because one agent directory is broken.
scan_agents
Every agent with a readable profile, sorted by name.
scan_fleets
Every fleet, with each member’s facts resolved and authorization decided for requester (the agent that would call fleet_run).
who_can_exec
Which fleets can run bin (optionally, in a directory they can write).