Skip to content

v0.3.0 — the silence gap, and operator docs

Choose a tag to compare

@avi-papineni avi-papineni released this 17 Oct 03:45
· 79 commits to main since this release
dccda6a

An agent process that is down now counts against the evidence its workload's verdict rests on, and the operating loop is documented end to end: task guides, a reference for both command lines and the operator API, and a troubleshooting catalog grown from live operation.

  • Operator documentation (#43, #52, #100, #130). Task guides for the operating loop under docs/guides/: labeling, the first ruleset, reading a simulation review, promotion and enforcement (with the kill switch and fail static), the credential lifecycle, and upgrading in place. A multi-host evaluation guide for agents on other machines. A reference under docs/reference/: both command lines, the operator API, workload states and every evidence-gap kind, versioning and install. docs/troubleshooting.md grows from two entries to fifteen. The deploy guide no longer calls the console unshipped, and its flows list example puts the flags before the workload id, the order the command reads. api/openapi.yaml states that the sync_state filter does not exclude workloads whose enforcement was removed on the host. The console captures gain per-theme singles beside the composites, and the capture script writes both forms.
  • An agent's silence is an evidence gap (#114). An agent process that is down leaves the owned table enforcing (fail static, ADR-0011) but observes nothing, and nothing used to say so: a simulation review over the outage could read "safe" on evidence that was never collected. The control plane now derives the gap itself — flow ingest already stamps every report's receipt, so a report that ends a silence longer than the telemetry-liveness allowance (two flow windows) writes an agent_silent gap from the previous receipt to the arriving window's start (migration 00015, ADR-0019 as amended). A window that reaches back over the silence is buffered evidence delivered late and derives nothing, so a telemetry outage the agent rode out, and a quick agent restart, record no gap. The review's verdict, the workload page, GET /api/v1/flows/gaps, and innerwall flows gaps state the new kind like any other; the agent is untouched, and a reported gap claiming the kind is refused at ingest.