Developers · Quickstart
Policy first, trigger second, investigation third, provenance always. This walkthrough wires an alert on a telemetry service to an agent that investigates it, and shows where the record of everything it did lives.
Everything starts from a policy, because in Sentinel capability is granted, never assumed. Grant read-only access to your observability tools and nothing else; anything outside the grant fails closed and is recorded.
Tool policy referenceconst policy = await sentinel.policies.create({ name: "observability-readonly", tools: ["grafana", "kubernetes", "kafka"], caps: ["query", "list"], audit: "every_call" })
Point your alerting at Sentinel. Alert-shaped, incident-shaped, and operator-dispatched events all work; each maps to an agent and a policy so nothing is improvised when the pager goes off.
Event model referenceawait sentinel.triggers.create({ match: { source: "alerts", service: "telemetry-ingest" }, agent: "incident-triage", policy: policy.id })
You don't need a real outage to see it work. Dispatch a seeded scenario, elevated 5xx on the ingestion service after a deploy, and watch the agent gather evidence and post a cited report.
What the investigation doesconst run = await sentinel.events.dispatch({ sample: "ingest-5xx-after-deploy" }) await run.done() → report posted · 3 findings · 3 citations
Every run leaves a complete trail: the trigger, each tool call and output, each model exchange, the evidence, the report, and any human review. This is the part that makes the rest trustworthy.
Governance & provenanceRequest access and we'll help you wire the first trigger to your alerting and observability tools.