Skip to content

Starfly Graph

This content is for v1.0. Switch to the latest version for up-to-date documentation.

Ask who an agent reached, through what delegation chain, and how fast revocation propagated — without adding latency to exchange or revocation. Starfly Graph is the fabric’s memory: a runtime knowledge graph built from events the PEP already publishes.

  • Answer investigation questions in seconds — blast radius, lineage, and tool usage history instead of log archaeology.
  • Safe by design — a NATS consumer behind the PEP; if graph is slow or down, exchange and kill-switch keep running.
  • Agent-queryable — MCP tools and read-only REST for automation and IDE agents.
PEP events → NATS JetStream → starfly-graph → FalkorDB
↑ │
hot path fabric does not wait

The graph subscribes to subjects the fabric already emits (EXCHANGE.*, REVOCATION.*, DELEGATION.*, MCP.*, …). Data enters only through that consumer — never via API POST.

ToolAnswers
query_runtimeWhat has this agent done?
query_blast_radiusIf compromised, what can it reach?
query_lineageDelegation chain to root principal
query_revocation_timelineHow fast did revocation propagate?
query_tool_usageWho calls this tool, allow vs deny
EndpointPurpose
GET /v1/graph/agentsAgent inventory
GET /v1/graph/agents/{id}/blast-radiusTransitive reach
GET /v1/graph/agents/{id}/lineageDelegation chain
GET /v1/graph/statsNode counts, consumer lag

Runtime graph (Starfly) pairs with the design-time graph in CALM Forge. Shared vocabulary (Capability, Source, TrustDomain); manifests_as is computed at query time, not stored.

SurfaceBest for
Operations dashboardHuman watch — metrics, SSE, topology
Starfly GraphMachine query — lineage, blast radius, shadow agents
PathStatus
pkg/graph/Preview — library export pending
cmd/starfly-graph/Preview — service binary pending
  • NATS JetStream healthy on the fabric unit
  • GET /v1/graph/stats — consumer lag near zero
  • Kill-switch proof via sandbox/run.sh — graph optional for that test