# parapet v1.0.0 - Table of Contents > An opinionated SRE reliability layer for Phoenix/Elixir SaaS — turn existing telemetry into user-journey SLOs, deploy correlation, incident evidence, and operator-grade runbooks. ## Pages - Getting Started - [Parapet](readme.md) - [Parapet Getting Started](getting-started.md) - Guides - [Changelog](changelog.md) - [Parapet Milestone History](history.md) - [Parapet Adopter Flows](adopter-flows.md) - [Parapet Operator UI Guide](operator-ui.md) - [Parapet Troubleshooting](troubleshooting.md) - [Parapet SLO Authoring Guide](slo-authoring-guide.md) - Integration Guides - [Parapet + Sigra](sigra.md) - [Parapet + Accrue](accrue.md) - [Parapet + Rulestead](rulestead.md) - [Parapet + Threadline](threadline.md) - [Parapet + Chimeway](chimeway.md) - [Parapet + Mailglass](mailglass.md) - [Parapet + Rindle](rindle.md) - [Parapet + Scoria](scoria.md) - Reference - [Stability & Deprecation Policy](stability.md) - [Parapet SLO Reference](slo-reference.md) - [Telemetry Event Schema](telemetry.md) ## Modules - [Parapet](Parapet.md): Parapet provides telemetry foundations and safety rails for Phoenix SaaS teams. - [Parapet.Automation.CircuitBreaker](Parapet.Automation.CircuitBreaker.md): Provides flap protection by short-circuiting automated runbook execution if it loops excessively. - [Parapet.Automation.ClaimService](Parapet.Automation.ClaimService.md): Transaction seam for durable logical-action claims under contention. - [Parapet.Automation.Executor](Parapet.Automation.Executor.md): Oban worker for executing automated runbook mitigations. Safely delegates back to the Operator API under a system identity. - [Parapet.Capabilities](Parapet.Capabilities.md): Registry for dynamic capabilities provided by activated adapters. This module serves as the Phase 7 named recovery contract. - [Parapet.Deploy](Parapet.Deploy.md): API for emitting deployment markers as telemetry events. - [Parapet.Escalation.Policy](Parapet.Escalation.Policy.md): Behaviour for incident escalation adapters. - [Parapet.Escalation.Worker](Parapet.Escalation.Worker.md): Oban worker for durable asynchronous dispatch of escalations. - [Parapet.Evidence](Parapet.Evidence.md): Public API boundary for Spine schemas. Enforces a boundary that prevents high-volume telemetry from writing directly to the durable Ecto database. - [Parapet.Evidence.ArchiveWorker](Parapet.Evidence.ArchiveWorker.md): Optional Oban worker for scheduling Parapet evidence archival. - [Parapet.Evidence.Archiver](Parapet.Evidence.Archiver.md): Archives old, resolved incidents to a JSONL file and deletes them from the primary database. - [Parapet.Evidence.Retrospective](Parapet.Evidence.Retrospective.md): Generates automated markdown retrospectives from an incident and its timeline. - [Parapet.Integration](Parapet.Integration.md): Behaviour for Parapet ecosystem integration adapters. - [Parapet.Integrations.Accrue](Parapet.Integrations.Accrue.md): Parapet integration for the Accrue billing library. Listens to Accrue telemetry events and translates them into standard Parapet billing journey metrics. - [Parapet.Integrations.Chimeway](Parapet.Integrations.Chimeway.md): Parapet integration for the Chimeway email library. Listens to Chimeway telemetry events and translates them into the Phase 4 Parapet delivery telemetry contract. - [Parapet.Integrations.Mailglass](Parapet.Integrations.Mailglass.md): Parapet integration for the Mailglass email library. Listens to Mailglass telemetry events and translates them into the Phase 4 Parapet delivery telemetry contract. - [Parapet.Integrations.Rindle](Parapet.Integrations.Rindle.md): Parapet integration for the Rindle media processing library. Listens to Rindle telemetry events and translates them into the Phase 4 Parapet async telemetry contract. - [Parapet.Integrations.Rulestead](Parapet.Integrations.Rulestead.md): Telemetry adapter for buffering Rulestead flag changes natively inside Parapet's spine. - [Parapet.Integrations.Scoria](Parapet.Integrations.Scoria.md): Parapet integration for the Scoria AI library. Listens to Scoria telemetry events and translates them into Parapet metrics while stripping high-cardinality metadata and creating incidents for severe errors. - [Parapet.Integrations.Sigra](Parapet.Integrations.Sigra.md): Parapet integration for the Sigra authentication library. Listens to Sigra telemetry events and translates them into standard Parapet login and signup journey metrics. - [Parapet.Integrations.Threadline](Parapet.Integrations.Threadline.md): Parapet integration for the Threadline audit library. Maps audit data between Threadline and Parapet. - [Parapet.MCP.PrometheusClient](Parapet.MCP.PrometheusClient.md): A read-only Prometheus HTTP API proxy using `Req` to allow external agents to retrieve predefined time-series metrics. - [Parapet.MCP.Server](Parapet.MCP.Server.md): Core MCP server tool execution and routing. Provides a controlled, read-only interface for external AI agents to investigate incidents safely. - [Parapet.Metrics.Accrue](Parapet.Metrics.Accrue.md): Prometheus metric definitions for Accrue. - [Parapet.Metrics.AsyncDelivery](Parapet.Metrics.AsyncDelivery.md): Shared Telemetry.Metrics catalog and PromQL selector helpers for Phase 5 async and delivery reliability slices. - [Parapet.Metrics.Ecto](Parapet.Metrics.Ecto.md): Defines Prometheus distributions for Ecto queries. - [Parapet.Metrics.ExemplarStore](Parapet.Metrics.ExemplarStore.md): An ETS-backed store for holding the latest trace ID associated with a metric and its tags. This allows Prometheus formatters to quickly fetch the recent trace exemplar. - [Parapet.Metrics.ExemplarTelemetry](Parapet.Metrics.ExemplarTelemetry.md): Attaches to Telemetry events to capture trace_ids and store them as exemplars. - [Parapet.Metrics.HTTP](Parapet.Metrics.HTTP.md): Defines Prometheus counters and distributions for HTTP requests. - [Parapet.Metrics.Oban](Parapet.Metrics.Oban.md): Defines Prometheus distributions and counters for Oban jobs conditionally. - [Parapet.Metrics.Probe](Parapet.Metrics.Probe.md): Defines Prometheus distributions and counters for synthetic probes. - [Parapet.Metrics.PrometheusFormatter](Parapet.Metrics.PrometheusFormatter.md): A custom formatter that wraps standard Prometheus output and injects OpenMetrics exemplars for trace_ids from the ExemplarStore. - [Parapet.Metrics.Rulestead](Parapet.Metrics.Rulestead.md): Prometheus metric definitions for Rulestead events. - [Parapet.Metrics.Scoria](Parapet.Metrics.Scoria.md): Defines Prometheus counters and distributions for Scoria evaluation metrics. - [Parapet.Metrics.Sigra](Parapet.Metrics.Sigra.md): Prometheus metric definitions for Sigra. - [Parapet.Metrics.Validator](Parapet.Metrics.Validator.md): Compile-time validation for telemetry metrics to prevent TSDB cardinality explosion. - [Parapet.Notifier](Parapet.Notifier.md): Behaviour for incident notification adapters. - [Parapet.Notifier.ObanWorker](Parapet.Notifier.ObanWorker.md): Oban worker for durable asynchronous dispatch of notifications. - [Parapet.Notifier.Slack](Parapet.Notifier.Slack.md): Slack adapter for Parapet notifications. Sends rich Block Kit messages for incident updates. - [Parapet.Notifier.Teams](Parapet.Notifier.Teams.md): MS Teams adapter for Parapet notifications. Sends rich Adaptive Cards for incident updates. - [Parapet.Operator](Parapet.Operator.md): Phoenix-free public boundary for the in-app Operator UI. Provides queue/detail queries and audited command entrypoints for incident mutations. - [Parapet.Operator.ActionPayload](Parapet.Operator.ActionPayload.md): Shared action payload contract for operator commands. Ensures that every mutating operator command provides mandatory audit metadata (actor, reason, correlation_id) and distinguishes between immutable factual actions and lightweight narrative edits. - [Parapet.Operator.WorkbenchContract](Parapet.Operator.WorkbenchContract.md): Derives operator-facing fields from the durable evidence spine, ensuring that features like severity, journey impact, or mitigation state are computed deterministically without modifying the core domain schemas. - [Parapet.Plug.MCP](Parapet.Plug.MCP.md): A Plug to handle incoming MCP connections via HTTP SSE. Accepts JSON-RPC POST requests and streams responses back as SSE chunks. - [Parapet.Plug.Metrics](Parapet.Plug.Metrics.md): A plug for extracting HTTP metrics and emitting them as Telemetry events. - [Parapet.Plug.Webhook](Parapet.Plug.Webhook.md): A Plug to receive webhooks from Alertmanager and route them to the AlertProcessor. - [Parapet.Probe](Parapet.Probe.md): Defines a behaviour for synthetic probes. - [Parapet.Probe.NativeScheduler](Parapet.Probe.NativeScheduler.md): A simple GenServer-based scheduler for executing synthetic probes. - [Parapet.Probe.ObanScheduler](Parapet.Probe.ObanScheduler.md): Optional Oban worker for scheduling synthetic probes without retries. - [Parapet.Runbook](Parapet.Runbook.md): A DSL for defining standardized runbooks. - [Parapet.SLO](Parapet.SLO.md): Defines a Service-Level Objective (SLO) within Parapet. - [Parapet.SLO.ChimewayDelivery](Parapet.SLO.ChimewayDelivery.md): Built-in Phase 5 delivery slices for Chimeway. - [Parapet.SLO.Generator](Parapet.SLO.Generator.md): Generates provider-first Prometheus recording and alert rules from bounded slice specs while retaining legacy `%Parapet.SLO{}` support. - [Parapet.SLO.HTTP](Parapet.SLO.HTTP.md): Provides an out-of-the-box SLO definition for HTTP request serving. - [Parapet.SLO.LoginJourney](Parapet.SLO.LoginJourney.md): Provides an out-of-the-box SLO definition for the standard login journey. - [Parapet.SLO.MailglassDelivery](Parapet.SLO.MailglassDelivery.md): Built-in Phase 5 delivery slices for Mailglass. - [Parapet.SLO.Oban](Parapet.SLO.Oban.md): Provides an out-of-the-box SLO definition for Oban job processing. - [Parapet.SLO.Provider](Parapet.SLO.Provider.md): Behaviour for providing SLOs to the Parapet system. - [Parapet.SLO.Resolvable](Parapet.SLO.Resolvable.md): Protocol to transform provider structs to `Parapet.SLO.t()`. - [Parapet.SLO.RindleAsync](Parapet.SLO.RindleAsync.md): Built-in Phase 5 async reliability slices for Rindle. - [Parapet.SLO.ScoriaEval](Parapet.SLO.ScoriaEval.md): Defines an SLO based on Scoria AI evaluation pass rates. - [Parapet.SLO.SliceSpec](Parapet.SLO.SliceSpec.md): Bounded provider-owned slice description for Phase 5 generators. - [Parapet.SLO.StarterPack.DeliverySaaS](Parapet.SLO.StarterPack.DeliverySaaS.md): Extends `Parapet.SLO.StarterPack.WebSaaS` with Mailglass and Chimeway delivery SLO slices. - [Parapet.SLO.StarterPack.WebSaaS](Parapet.SLO.StarterPack.WebSaaS.md): Opinionated first-SLO pack for Phoenix SaaS teams. - [Parapet.Spine.ActionClaim](Parapet.Spine.ActionClaim.md): Durable ownership record for a logical automation or escalation action. - [Parapet.Spine.ActionItem](Parapet.Spine.ActionItem.md): Core Ecto Schema representing an ActionItem for durable workflow approvals. - [Parapet.Spine.AlertProcessor](Parapet.Spine.AlertProcessor.md): Processes alert batches received from webhooks. - [Parapet.Spine.Incident](Parapet.Spine.Incident.md): Ecto schema representing a durable evidence incident. - [Parapet.Spine.SystemEvent](Parapet.Spine.SystemEvent.md): Ecto schema representing a general system event (like a flag mutation or deployment). These are buffered and pruned periodically. - [Parapet.Spine.SystemEventPruner](Parapet.Spine.SystemEventPruner.md): A built-in GC pruner to prevent `Parapet.Spine.SystemEvent` storage bloat. Periodically deletes events older than a specified threshold. - [Parapet.Spine.TimelineEntry](Parapet.Spine.TimelineEntry.md): Ecto schema representing an entry in a durable incident timeline. - [Parapet.Spine.ToolAudit](Parapet.Spine.ToolAudit.md): Ecto schema representing an audit record of a tool execution. - [Parapet.Telemetry.AsyncDelivery](Parapet.Telemetry.AsyncDelivery.md): Public contract helpers for Parapet's async and delivery telemetry families. ## Mix Tasks - [mix parapet.archive](Mix.Tasks.Parapet.Archive.md): Archives resolved incidents older than the retention window to a JSONL file. - [mix parapet.doctor](Mix.Tasks.Parapet.Doctor.md): Statically analyzes the application's Parapet configuration and exposes a runtime-oriented `cluster` mode for live facts. - [mix parapet.gen.archive_indexes](Mix.Tasks.Parapet.Gen.ArchiveIndexes.md): Generates the Parapet migration that updates archive-related indexes and constraints. - [mix parapet.gen.grafana](Mix.Tasks.Parapet.Gen.Grafana.md): Generates importable Grafana dashboards and provisioning YAML based on the user's SLOs. - [mix parapet.gen.prometheus](Mix.Tasks.Parapet.Gen.Prometheus.md): Generates valid Prometheus recording and alerting rules based on the user's defined SLOs. - [mix parapet.gen.runbooks](Mix.Tasks.Parapet.Gen.Runbooks.md): Generates a fixed host-owned runbook catalog for Parapet. - [mix parapet.gen.scoria](Mix.Tasks.Parapet.Gen.Scoria.md): Generates Grafana dashboards and Prometheus rules for Parapet's Scoria AI telemetry integration. - [mix parapet.gen.spine](Mix.Tasks.Parapet.Gen.Spine.md): Installs the Parapet Evidence Spine by generating migrations and configuring the host Ecto Repo. - [mix parapet.gen.ui](Mix.Tasks.Parapet.Gen.Ui.md): Generates Parapet operator UI components for the host Phoenix application. - [mix parapet.install](Mix.Tasks.Parapet.Install.md): Installs Parapet into a Phoenix application by scaffolding the host-owned instrumenter and wiring it into the endpoint. - [mix verify.public_api](Mix.Tasks.Verify.PublicApi.md): Verifies that all public API modules have documentation and a stability-tier declaration, and generates a manifest.