# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Planning milestones vs Hex releases

This changelog tracks **published Hex releases** using Semantic Versioning headings like `## 0.10.0`.
Separately, maintainers track development tranches as planning milestones in [`.planning/MILESTONES.md`](.planning/MILESTONES.md).
For v0.1–v0.9 milestone history, see [`docs/HISTORY.md`](docs/HISTORY.md).

## [1.0.0](https://github.com/szTheory/parapet/compare/v0.10.0...v1.0.0) (2026-05-26)


### Bug Fixes

* **hex:** stop packaging missing code of conduct file ([a6ab21e](https://github.com/szTheory/parapet/commit/a6ab21ed2c62834f936a82d5b98c6216d387fe2e))

## [0.10.0](https://github.com/szTheory/parapet/compare/v0.9.0...v0.10.0) (2026-05-26)


### Features

* **01-01:** define AlertProcessor skeleton interface ([b7e3fa5](https://github.com/szTheory/parapet/commit/b7e3fa59cd996e90989c549d93dafca3b6d244b6))
* **01-01:** extract trace_id in metrics plug ([a29f5d6](https://github.com/szTheory/parapet/commit/a29f5d652fc4d207613e59ab35364a53a32e0685))
* **01-01:** extract trace_id in Oban metrics ([48ac7bb](https://github.com/szTheory/parapet/commit/48ac7bbe6885aec24619fef7338166d6564bc4b1))
* **01-01:** implement Incident schema ([040849f](https://github.com/szTheory/parapet/commit/040849f16a5116f99f75ed218049b17db5c453eb))
* **01-01:** implement Scoria Telemetry Adapter ([0d54e6a](https://github.com/szTheory/parapet/commit/0d54e6ad62815eaa0a062cd03aa019d98ec34d10))
* **01-01:** implement TimelineEntry schema ([f4bd219](https://github.com/szTheory/parapet/commit/f4bd2199ad6451a08ff9b2d5d73c4f61f7b59ecf))
* **01-01:** implement ToolAudit schema ([9edfd91](https://github.com/szTheory/parapet/commit/9edfd91abfa1d0b6df3e635b39e2dc1734cde78b))
* **01-01:** implement webhook plug ([a497ffd](https://github.com/szTheory/parapet/commit/a497ffd3889b315791ada7dc8c4a863a5011b000))
* **01-02:** create mix parapet.gen.scoria generator task and templates ([256d1cb](https://github.com/szTheory/parapet/commit/256d1cb33c3f7023dc812d73f24a8518da600166))
* **01-02:** implement custom prometheus formatter with exemplars ([918d268](https://github.com/szTheory/parapet/commit/918d268f40f5904c17d29a92e2433ad8d9ef0d05))
* **01-02:** implement Evidence context boundary ([685ea9a](https://github.com/szTheory/parapet/commit/685ea9a2042d4faba036c9087cddf49abd57f9aa))
* **01-02:** implement ExemplarStore to hold recent trace IDs ([0f4f32d](https://github.com/szTheory/parapet/commit/0f4f32d4de7ce0604c97766a5c676db022864744))
* **01-02:** implement telemetry handlers for capturing trace IDs ([b55c855](https://github.com/szTheory/parapet/commit/b55c855dc1ed5cae2351dd0b0818b98d6b9143a5))
* **01-02:** implement webhook processor with firing alert correlation ([4401fb3](https://github.com/szTheory/parapet/commit/4401fb3867083521948d8c97f9abb255ba7cc93a))
* **01-02:** wire scoria generator into parapet installer ([d5129b3](https://github.com/szTheory/parapet/commit/d5129b30c6507ca147b21adbc1af7ecc7fcaabdf))
* **01-03:** add trace_id to incident schema and migration ([a2330a9](https://github.com/szTheory/parapet/commit/a2330a93b6faf66bd2f8693d9a101c5389546afb))
* **01-03:** implement incident auto-resolution via webhook ([4401fb3](https://github.com/szTheory/parapet/commit/4401fb3867083521948d8c97f9abb255ba7cc93a))
* **01-03:** implement spine generator ([6e15a02](https://github.com/szTheory/parapet/commit/6e15a0202c83810c1fdd5f56af0ae7fb2cf6cba3))
* **01-03:** render dynamic trace links in operator ui ([6a603e2](https://github.com/szTheory/parapet/commit/6a603e2143e915ea14b7abf5e17bc2ea918c4624))
* **02-01:** add archive indexes upgrade generator ([2c6cbcc](https://github.com/szTheory/parapet/commit/2c6cbccd5792b3569439d5e95c5cb2e6cb96bdb8))
* **02-01:** add archive-friendly spine indexes ([acda0ef](https://github.com/szTheory/parapet/commit/acda0ef42f25adca89e6093b63a189ae074f128c))
* **02-01:** create SystemEvent schema and migrations ([3d1f5ae](https://github.com/szTheory/parapet/commit/3d1f5ae4aaa451835028e09738413e61cf30e313))
* **02-01:** define the workbench derivation contract and transaction seam ([05a80ea](https://github.com/szTheory/parapet/commit/05a80eaa2d7acb63aa71915e65588f4b6f33c181))
* **02-01:** implement built-in GC Pruner ([ae333ef](https://github.com/szTheory/parapet/commit/ae333efd681dc7007fe1ebe700709b22af939582))
* **02-01:** implement Parapet.Runbook DSL and Incident schema mapping ([4294f88](https://github.com/szTheory/parapet/commit/4294f885f9b2cd3c444944ae26a226181a19b4d8))
* **02-01:** implement Provider behaviour and Resolvable protocol ([aabe465](https://github.com/szTheory/parapet/commit/aabe465abcf0b0797dc189a346993196bd684996))
* **02-01:** implement queue/detail queries and first-class audited commands ([22177f6](https://github.com/szTheory/parapet/commit/22177f6502f8150563731ee7d9c5943ad791bf55))
* **02-01:** implement Rulestead integration telemetry adapter ([3b2c932](https://github.com/szTheory/parapet/commit/3b2c932bab6f2d9b85f9e4598a118cb1ecf69d49))
* **02-01:** lock the audited operator command contract ([fabd034](https://github.com/szTheory/parapet/commit/fabd034e739da22d7862b50a27acfe2c49cd4d8f))
* **02-01:** make generator task rely on updated SLO registry ([3fd42de](https://github.com/szTheory/parapet/commit/3fd42def85051b04422642cb1105e498fd3ed2d4))
* **02-01:** update SLO registry aggregation to merge legacy and providers ([a1f8e45](https://github.com/szTheory/parapet/commit/a1f8e45b5f188aacc1c130c01dc7f2a7cd568ca3))
* **02-02:** add Rulestead Metric Definitions ([a0ccfa8](https://github.com/szTheory/parapet/commit/a0ccfa8054175577597bb326d88ebc5955d79721))
* **02-02:** correlate SystemEvents to new Incidents ([8b1dcc3](https://github.com/szTheory/parapet/commit/8b1dcc341f7f770b409793746318ff43eb04b833))
* **02-02:** implement and test parapet.gen.ui generator ([305296b](https://github.com/szTheory/parapet/commit/305296bb8f651c82132127544f98146d1b2e1933))
* **02-02:** implement evidence archiver ([a63201f](https://github.com/szTheory/parapet/commit/a63201fdff09d243320e9dcd741cb40730db92a1))
* **02-02:** implement interactive runbooks in Operator UI ([e8fa1e5](https://github.com/szTheory/parapet/commit/e8fa1e58b283d9c7fa5bf4bd479cf42e202c04cb))
* **02-02:** implement Scoria metrics pipeline ([1ad9f68](https://github.com/szTheory/parapet/commit/1ad9f68e7824d61b521da3edaa96e4d0e7d0bf0c))
* **02-02:** implement ScoriaEval SLO Struct ([940534b](https://github.com/szTheory/parapet/commit/940534bef194306b95b45c23588943e4cf92daf4))
* **02-02:** wire Scoria metrics in integration setup ([a198be5](https://github.com/szTheory/parapet/commit/a198be5d59a8f46f72d9ca692e83801987232242))
* **02-03:** correlate rulestead flag changes in operator UI ([e75f718](https://github.com/szTheory/parapet/commit/e75f71873d7923fe513e3edc5dbcea0d2bca9ab6))
* **02-03:** implement archive oban worker ([eeb047e](https://github.com/szTheory/parapet/commit/eeb047e821d7f9b25972c35e3c432abe4af5b790))
* **02-03:** implement one-click mitigation dispatch via Operator UI ([03892d5](https://github.com/szTheory/parapet/commit/03892d5115a1fdb59f9db7d514a30dcedca7a675))
* **02-03:** implement parapet archive mix task ([8e68459](https://github.com/szTheory/parapet/commit/8e684592e96ffe6626a6d85aa670cc95d42b3953))
* **02-04:** finalize UI templates and test alignment with operator API ([83dc210](https://github.com/szTheory/parapet/commit/83dc210aa6aea6d06de1985caaa9c95c6095df1d))
* **03-01:** add bounded incident queue paging ([315fa87](https://github.com/szTheory/parapet/commit/315fa8716a7dee6bb0d04358e8359e01e3b10057))
* **03-01:** align incident index generators with queue paging ([2b1009f](https://github.com/szTheory/parapet/commit/2b1009f5ce2b55730e8295ec62568b9e2f7de986))
* **03-01:** implement Oban Worker and Timeline Audit for notifications ([7a38015](https://github.com/szTheory/parapet/commit/7a38015ecf9947dc166c873f17e2c597eb40e68d))
* **03-01:** implement Threadline audit telemetry handler ([8167e9d](https://github.com/szTheory/parapet/commit/8167e9df293ac564f222488df95c152c2fc52794))
* **03-01:** integrate broadcast into alert processor ([f79b662](https://github.com/szTheory/parapet/commit/f79b662cdf18bc976d4b17177e1a676ccee2c3fc))
* **03-01:** project bounded queue row payloads ([f41fb44](https://github.com/szTheory/parapet/commit/f41fb44e667bb0c51c3ea3e6c4cd883cc7433c40))
* **03-02:** add calm queue affordances to generated ui ([a8247a5](https://github.com/szTheory/parapet/commit/a8247a522e6a2de3166e835ba7f26dd4ff0e7936))
* **03-02:** implement Slack notifier ([9b218af](https://github.com/szTheory/parapet/commit/9b218af43d14a5da6579a69650158648cdb160c7))
* **03-02:** stream bounded queue pages in generated liveview ([e2dd31f](https://github.com/szTheory/parapet/commit/e2dd31fbad791a01c20b8da289d46307e04ac747))
* **03-02:** update Evidence API to support audit_mode conditional and telemetry dispatch ([2550ffc](https://github.com/szTheory/parapet/commit/2550ffced7923a239edc7bb463f3536d10df6341))
* **03-03:** add operator ui performance proof lane ([9d95ddb](https://github.com/szTheory/parapet/commit/9d95ddb6e1e6010c6b53596496a0480731476f56))
* **03-03:** implement MS Teams notifier adapter ([d8e7b9d](https://github.com/szTheory/parapet/commit/d8e7b9dbcb900d663ec374149035f96b172c7dd5))
* **03-03:** implement Parapet.Deploy.mark/1 ([fe21956](https://github.com/szTheory/parapet/commit/fe2195646ea0356f88efcbbd1a2712185a714165))
* **03-03:** instrument bounded queue page telemetry ([b17b306](https://github.com/szTheory/parapet/commit/b17b306e281807571d3fabb4c83a7f6fb00ff5d5))
* **03-03:** update install generator for deploy hook ([08041ed](https://github.com/szTheory/parapet/commit/08041edc44301f2acc2d53bc1cb9d9f56b5ab82e))
* **03-04:** implement parapet doctor mix task ([49419ee](https://github.com/szTheory/parapet/commit/49419eeb13fc8c0e48f9a1773dae3b4d5336f6e6))
* **03-notifications-01:** add req dependency and Notifier behaviour ([01b2976](https://github.com/szTheory/parapet/commit/01b29768ff32ad8525ddf6f1609e316a0a0146a4))
* **04-01:** add audited escalation operator commands ([2edd1c4](https://github.com/szTheory/parapet/commit/2edd1c417e036187da342e6b9aa7eae89aba52c4))
* **04-01:** honor durable escalation suppression in worker ([7744b34](https://github.com/szTheory/parapet/commit/7744b343f25912d208097531d600164bbf0eb7d5))
* **04-01:** implement ActionItem Evidence API ([6865123](https://github.com/szTheory/parapet/commit/6865123f617148869f587ee4fb1abfe49ce54a58))
* **04-01:** implement ActionItem schema ([9e8314f](https://github.com/szTheory/parapet/commit/9e8314f52d11af5da903d015b9ec67201a15c799))
* **04-01:** update generator with ActionItem table ([b7c0b1c](https://github.com/szTheory/parapet/commit/b7c0b1c55aba16f67433c751d0d0f285b5f814f9))
* **04-02:** derive escalation workbench summary ([a1f464f](https://github.com/szTheory/parapet/commit/a1f464ff2805074b85227ab0beb99f51ca9cf223))
* **04-02:** expose escalation-aware incident detail payload ([421a6ea](https://github.com/szTheory/parapet/commit/421a6ea90b3bbe0fb2b2eb1076ccd44d55886d08))
* **04-02:** implement handling for scoria workflow staleness and expiration telemetry ([8f632dc](https://github.com/szTheory/parapet/commit/8f632dcc29a02782b257bd99fbaedc2682d8ca5f))
* **04-02:** implement status checks and resumed telemetry handling ([2dd8a75](https://github.com/szTheory/parapet/commit/2dd8a753ff29e816962ca301f1bf689a257ed7e1))
* **04-03:** integrate ActionItems into LiveView ([f879b8b](https://github.com/szTheory/parapet/commit/f879b8b35aeae5777fd6ca174f4ee793bcf6dc6e))
* **04-03:** render escalation-aware operator components ([a334115](https://github.com/szTheory/parapet/commit/a33411501dd1f9e21c17c4536df2d6f3665ed891))
* **04-03:** wire bounded escalation controls in generated liveview ([c8355c3](https://github.com/szTheory/parapet/commit/c8355c3b922f55e6db9bdee6ce6af8717a26e3d9))
* **06-01:** enrich incidents with durable triage evidence ([b19767c](https://github.com/szTheory/parapet/commit/b19767c36c4647ab9eec9eee2a13535263252dfc))
* **06-02:** derive operator triage from durable evidence ([d3c8438](https://github.com/szTheory/parapet/commit/d3c84388e239fe74887b385033e9b180cf98f630))
* **06-03:** narrow exact follow-up seam for triage work ([6d9b3e4](https://github.com/szTheory/parapet/commit/6d9b3e48d9e8299a041c9bea997efa721138235e))
* **07-01:** add fixed-catalog runbook generator ([5bd491d](https://github.com/szTheory/parapet/commit/5bd491daa2e14d25100943bb152319ece874162e))
* **07-01:** enrich runbook DSL with Phase 7 capability fields ([d173e02](https://github.com/szTheory/parapet/commit/d173e02410bacb31c38a57a66cb0890e7a44161b))
* **07-02:** add preview and confirm operator recovery APIs with stale-preview rejection ([ee89932](https://github.com/szTheory/parapet/commit/ee89932ee80007dce75569989e0034b41f2956e2))
* **07-02:** evolve capability registry into named Phase 7 recovery contract ([7040624](https://github.com/szTheory/parapet/commit/70406243d7e90d2157f02221c38ea4410c611748))
* **07-03:** derive preview-ready recovery state and bounded runbook attachment ([4f236c5](https://github.com/szTheory/parapet/commit/4f236c5ffd3008b22d8ef83801667dbb409609fa))
* **07-03:** update generated operator UI and docs for preview-first recovery ([680b02b](https://github.com/szTheory/parapet/commit/680b02b477eea3fa3d25a0916f94217900579849))
* **1-1:** implement escalation policy behaviour contract ([6c22a1f](https://github.com/szTheory/parapet/commit/6c22a1fb699b519919fa9e134531887d4d1506d3))
* **1-1:** implement Parapet.Metrics.Probe telemetry handler ([e4c8f71](https://github.com/szTheory/parapet/commit/e4c8f717b756f9474cea04809102fd008ea6622b))
* **1-1:** implement Parapet.Probe behavior and macro ([f8e35fa](https://github.com/szTheory/parapet/commit/f8e35fa9c40fef63e6350032508a3747c1000866))
* **1-2:** implement escalation worker ([acd2f0e](https://github.com/szTheory/parapet/commit/acd2f0ed29cd69b124edaa0b26221956c595a6e0))
* **1-2:** implement Parapet.Probe.NativeScheduler ([4cc0290](https://github.com/szTheory/parapet/commit/4cc02907fd7b28895bb2ba4630364a5838d609c8))
* **1-2:** implement Parapet.Probe.ObanScheduler and complete plan 1-2 ([9725aa9](https://github.com/szTheory/parapet/commit/9725aa926d95a069ad7eaf0da40982a73272e482))
* **1-3:** configure probe setup and documentation ([fbc5a10](https://github.com/szTheory/parapet/commit/fbc5a1086500f6e7504c1a8091f7b7cc0823467c))
* **1-3:** integrate incident lifecycle with escalation engine ([4c3f11a](https://github.com/szTheory/parapet/commit/4c3f11ac62c8008497298f38942e5b5f3aae7c8b))
* **15-02:** populate mix.exs metadata, docs extras block, bump version to 0.10.0 ([70157d5](https://github.com/szTheory/parapet/commit/70157d51d1cdee6a3f84eb47af1be50594f47bdc))
* **16-01:** implement Parapet.SLO.StarterPack.WebSaaS (GREEN) ([c07dfdf](https://github.com/szTheory/parapet/commit/c07dfdf7c5aeeed48eb8f4da94a50171f78dc37a))
* **16-02:** implement Parapet.SLO.StarterPack.DeliverySaaS (GREEN) ([52b4784](https://github.com/szTheory/parapet/commit/52b4784fb6a2fc11a224cefb962704430639226b))
* **17-01:** add warning: key to step/2 macro and document step/2 ([f543c6e](https://github.com/szTheory/parapet/commit/f543c6e7ed122e470cd811d6415dfaef542368f3))
* **17-01:** render step-level warning block in runbook_card ([e787a42](https://github.com/szTheory/parapet/commit/e787a424311fde920d3a82b70ddb68d58f9e7ba1))
* **17-01:** thread warning: through WorkbenchContract projection ([8da3667](https://github.com/szTheory/parapet/commit/8da36679ccbed92879ec7e73cb88c8d6cb12493f))
* **17-02:** deepen dead_letter and stalled_executor templates ([4936ff8](https://github.com/szTheory/parapet/commit/4936ff8c7499da8eacba2907386bd725c0a5adb9))
* **17-02:** deepen provider_outage and callback_delay templates ([ec9f8f5](https://github.com/szTheory/parapet/commit/ec9f8f5cfebd1f3ddc684868ec886a2655884d0c))
* **17-03:** author partial_backlog_drain template and wire all three into generator ([af2d3f9](https://github.com/szTheory/parapet/commit/af2d3f9835424f5024f26d70b6c2163b23797d6b))
* **17-03:** author retry_storm and suppression_drift guidance-only templates ([7339774](https://github.com/szTheory/parapet/commit/73397745bea879f82a0ca8eca040c9099af5a1ca))
* **18-01:** define Parapet.Integration behaviour and declare on all eight adapters ([734d820](https://github.com/szTheory/parapet/commit/734d820fa909648cbcae01de7f578424f00864c7))
* **18-01:** fix Parapet.attach/1 [@doc](https://github.com/doc) and add Rulestead uniform-line test ([1ef08d4](https://github.com/szTheory/parapet/commit/1ef08d489e2e2dbf1067e91a283c118efa517a9c))
* **18-03:** author slo-authoring-guide.md (SLO-03, SLO-04) ([9e73841](https://github.com/szTheory/parapet/commit/9e73841f4c7b717d42dc67208372c9ac65ab38f0))
* **18-05:** register seven new docs in mix.exs extras list (D-01) ([b5364cf](https://github.com/szTheory/parapet/commit/b5364cf2d975292a1af9e7ef3feaca08258bd132))
* **19-01:** add stability-freeze header to docs/telemetry.md ([6b1350c](https://github.com/szTheory/parapet/commit/6b1350c1da7d12aff866fe96966a9832a42352c7))
* **19-01:** create docs/stability.md policy and register in extras ([10e0a09](https://github.com/szTheory/parapet/commit/10e0a09a856c618cace1647f93a6da5f02e58da7))
* **19-01:** harden verify.public_api gate with tier detection and delete shadow alias ([85a0843](https://github.com/szTheory/parapet/commit/85a084384a3f4b8a6b08a2b18de827d3b6737f58))
* **19-04:** Experimental callouts — MCP, Automation, Probe, Evidence, Capabilities ([4550aef](https://github.com/szTheory/parapet/commit/4550aef7539bff9fd0480c471e569c5368ce43fa))
* **19-04:** Experimental callouts — Metrics and Integrations ([b1e923a](https://github.com/szTheory/parapet/commit/b1e923a0fcd2b59a222589ec03955932d36f5f39))
* **19-04:** Experimental callouts — Notifier, Plug, Operator, Spine, SLO; gate exit 0 ([381a049](https://github.com/szTheory/parapet/commit/381a049d14eb0ca18bf17182bb8be30bee68ba7c))
* **2-01:** create Parapet.Metrics.Sigra module ([fd738c3](https://github.com/szTheory/parapet/commit/fd738c37583b2a5f9c0e933caa7bec29f1cd27ec))
* **2-01:** support runbook auto_execute and inject actor identity ([cc8615b](https://github.com/szTheory/parapet/commit/cc8615b9f26012b0f859193139393d47cad1c919))
* **2-01:** update Parapet.Integrations.Sigra to emit telemetry metrics ([4818e97](https://github.com/szTheory/parapet/commit/4818e97d03e1ac535db38e6448c38779b507bfd7))
* **2-02:** create Parapet.Metrics.Accrue module ([3ccd653](https://github.com/szTheory/parapet/commit/3ccd65353e6d52ceac6cc1e5fa1843a99fb818ac))
* **2-02:** update Parapet.Integrations.Accrue for checkout and webhooks ([282c4f1](https://github.com/szTheory/parapet/commit/282c4f1c5d194eff7d58095b4458293eda4abc77))
* **2-03:** add critical journeys component to Operator UI ([0d8481b](https://github.com/szTheory/parapet/commit/0d8481b04bb979b907166b7f8e4516b24bfc7848))
* **2-03:** add operator UI auth-mount checks to doctor ([1a467d7](https://github.com/szTheory/parapet/commit/1a467d7439a30c83daf70c630b77907aa4816a13))
* **20-01:** create CONTRIBUTING.md (GOV-01) ([a0da219](https://github.com/szTheory/parapet/commit/a0da2192bdd1bde8cbccb5f18787610ecb24b604))
* **20-01:** create SECURITY.md (GOV-02) ([df22664](https://github.com/szTheory/parapet/commit/df22664208694cd5035247e4806c76d1c2fc954f))
* **20-02:** add semver commitment + version matrix to README (GOV-04) ([2155ae1](https://github.com/szTheory/parapet/commit/2155ae1a4ca34654c04a3f954e47e941e888b884))
* **20-05:** add governance doc globs to Hex files: whitelist (GOV-05) ([26a258a](https://github.com/szTheory/parapet/commit/26a258a7cf4e2655f991e5c9374fae0189b11658))
* **20-05:** restructure groups_for_extras into four groups (DOCS-06) ([a137733](https://github.com/szTheory/parapet/commit/a137733c3b91c6943ea8f32363e431900f9cc1f3))
* **20-05:** switch hexdocs landing to getting-started and add 4 integration guides to extras (DOCS-06) ([a8d89fd](https://github.com/szTheory/parapet/commit/a8d89fd49eb5a621e2ee0a48fdbc9922969b9420))
* **21-01:** add demo app config/test.exs (force-add past root gitignore) ([db3299e](https://github.com/szTheory/parapet/commit/db3299e69ec7ca29289bd0f29fb3926f4a5e224f))
* **21-01:** create application, repo, web entry, endpoint, telemetry, instrumenter ([f575117](https://github.com/szTheory/parapet/commit/f5751179a4901fa6f03978678e164f4f5b2f4527))
* **21-01:** create mix.exs, formatter, gitignore, and config files ([c7b4df9](https://github.com/szTheory/parapet/commit/c7b4df980769293d1c8fc71ba3028dc4bb9d7303))
* **21-01:** create spine migration with runbook_data and trace_id columns ([5e92fc6](https://github.com/szTheory/parapet/commit/5e92fc6627245eaa79df8a1baf1e6b1b232c5eb1))
* **21-02:** add /parapet router, Tailwind assets, README; verify compile + migrate ([7636c0e](https://github.com/szTheory/parapet/commit/7636c0e58e422c3a9ea27bea99bf48ef86f96167))
* **21-02:** generate Operator LiveView files; add layouts and error view ([9b83e4d](https://github.com/szTheory/parapet/commit/9b83e4d96d6769abf3f7b0c15d1dfa67a6fccbd9))
* **21-03:** add smoke test + conn_case + fix action_item migration ([2344da8](https://github.com/szTheory/parapet/commit/2344da87050427ba9e66f092846c660be7d71b32))
* **21-03:** seed demo app with Evidence Stable API ([3a85f20](https://github.com/szTheory/parapet/commit/3a85f20e41852f1b8b7f68cb3c00d27303335f9c))
* **21-04:** add demo + release_gate CI jobs and getting-started link ([d3dbaeb](https://github.com/szTheory/parapet/commit/d3dbaebded0e6191918925e9db1d3088cf2fab30))
* **22-01:** split release-quality ci lane ([0f363c6](https://github.com/szTheory/parapet/commit/0f363c687cdfd70a7c99f4c67707eaa55e36140e))
* **22-02:** automate hex publishing from release please ([f12fce5](https://github.com/szTheory/parapet/commit/f12fce5cd6337c8d9c6544e59e6506d20f749b7c))
* **3-01:** expose capabilities via operator context ([567ddbb](https://github.com/szTheory/parapet/commit/567ddbb97cb59aed9067d5864f3dd80087a5f7f6))
* **3-01:** implement adapter activation seam ([d366a4f](https://github.com/szTheory/parapet/commit/d366a4fb7f052bc6a798f33db3bef6230448c5bf))
* **3-01:** implement capability registry ([9cc492f](https://github.com/szTheory/parapet/commit/9cc492f82b444e7bc4bd651d9efe9b8d9e9d75e3))
* **3-02:** implement Rulestead integration adapter ([c9e4cd8](https://github.com/szTheory/parapet/commit/c9e4cd8706b04383e3fd896ea8fb108ddd404827))
* **3-03:** implement Chimeway adapter ([a199a25](https://github.com/szTheory/parapet/commit/a199a25daa55f4efcf91625eeb109db2806e2cf4))
* **3-03:** implement Mailglass adapter ([f71e4d8](https://github.com/szTheory/parapet/commit/f71e4d8c1edc8761c22071ece7020ad867ab24c5))
* **3-04:** implement accrue and rindle adapters ([d259df5](https://github.com/szTheory/parapet/commit/d259df558b90d523f96f517c6ee738dff7717b58))
* **3-04:** implement threadline adapter for audit mapping ([f2239f7](https://github.com/szTheory/parapet/commit/f2239f7b14bddb5f4990cffb61cb37e818b75c9a))
* **3-1:** implement PrometheusClient proxy with Req ([b3d0cd1](https://github.com/szTheory/parapet/commit/b3d0cd18fee940d15f2f47fa768eaad685bc2dbe))
* **3-2:** implement MCP server tool execution ([66e43a7](https://github.com/szTheory/parapet/commit/66e43a764c7f8ff36c2c98517122f3fde6b0e87d))
* **3-3:** implement Parapet.Plug.MCP handling SSE and JSON-RPC ([056732c](https://github.com/szTheory/parapet/commit/056732c3aefe353d9ad81490c3d3ba91bb6e25b5))
* **4-04-03:** add action_items_query to Operator module ([f8ea621](https://github.com/szTheory/parapet/commit/f8ea621ab671551d5eee759ca39d091025069deb))
* **4-04-03:** add ActionItem UI component ([5dff11c](https://github.com/szTheory/parapet/commit/5dff11c2a00ab87fa4b8ca7623ac216b15c4762e))
* **4-04:** add mix parapet.doctor command ([33dfaee](https://github.com/szTheory/parapet/commit/33dfaee9584d6badb5e03be7b5d936620367313d))
* **4-04:** finalize artifacts and dx phase ([b6b5608](https://github.com/szTheory/parapet/commit/b6b5608a013e4eff0647a03f24ba97693cd56ff0))
* **4-2:** generate automated retrospectives on incident resolve ([162379c](https://github.com/szTheory/parapet/commit/162379c6d9761e8a7fd4bb0fa7041eab10dfb5bd))
* **4-artifacts-and-dx-04-01:** implement parapet.gen.prometheus ([603b776](https://github.com/szTheory/parapet/commit/603b7762615973709723c618f8317f9980362e8c))
* **4-artifacts-and-dx-04-02:** implement parapet.gen.grafana ([87fb205](https://github.com/szTheory/parapet/commit/87fb205b07aa900fd74f00d501a4a165e754648e))
* **async-delivery:** add provider reliability stack and generated artifacts ([66aa0f8](https://github.com/szTheory/parapet/commit/66aa0f8fa1777bbc03eb1ebf3be8a2b44d44c044))
* commit validated v0.9 implementation (Performance, Scale & DX) ([b76279e](https://github.com/szTheory/parapet/commit/b76279ea66087876c1cd0863ddc6b23fa79e4f7c))
* implement telemetry translation and metric definition for AI deployment correlation (03-01) ([b68b30d](https://github.com/szTheory/parapet/commit/b68b30d692665c3fa735281acee45ca54c5b6bf1))
* integrate Postgres annotations for AI config changes into Grafana dashboard template (03-02) ([dc1a988](https://github.com/szTheory/parapet/commit/dc1a988413280c5d3f430645e51b97d9e9dd1b78))
* **v0.3-04-01:** add acknowledge incident button to operator UI ([04367b2](https://github.com/szTheory/parapet/commit/04367b27e59e5a929cc9f0efa1dcd646a92b146f))
* **v0.3-04-01:** implement acknowledge_incident command ([2e66d3c](https://github.com/szTheory/parapet/commit/2e66d3cd3731defd159c754bdd3fe0004a85a178))
* **v0.3-phase4:** implement acknowledgment, retrospectives, and polish ([c2ea384](https://github.com/szTheory/parapet/commit/c2ea38402acaa306dd299b9e1c4b0b75edcd4408))


### Bug Fixes

* **01-01:** add moduledoc to spine schemas to satisfy Verify.PublicApi ([eed90f7](https://github.com/szTheory/parapet/commit/eed90f798cb88f12479ba5479d88900223c6abd8))
* **01-02:** use snake_case for prometheus metric names in exemplar store ([8cb170f](https://github.com/szTheory/parapet/commit/8cb170f958383f2af999ca35b91c76e5d67f62e1))
* **02-in-app-operator-ui:** inject repo alias and use genuine Parapet.Operator calls in UI generator ([3aa6a76](https://github.com/szTheory/parapet/commit/3aa6a76c11653620649afc5d1abc0cca3f34c581))
* **03-02:** bound generated history queue path ([bf77677](https://github.com/szTheory/parapet/commit/bf77677483dda4b6c8957ff87be89deccc877585))
* **03-02:** surface generated queue refresh state ([4e29dcd](https://github.com/szTheory/parapet/commit/4e29dcdd718fdf5378d85e516abdc0f91795a967))
* **04-03:** exclude Resolvable protocol implementations from public API docs check ([5693f3e](https://github.com/szTheory/parapet/commit/5693f3eb120169c6f1b9ddddf05db7da96477f1a))
* **13-01:** rewire generated queue resolve seam ([871c1e9](https://github.com/szTheory/parapet/commit/871c1e92bd6bc52fb6b2460271b53a3539664443))
* **15:** revise plans based on checker feedback ([b678374](https://github.com/szTheory/parapet/commit/b678374dea1dbbe4abf8444958a83b3255ae08bb))
* **16:** revise plans per checker feedback (resolve research contradiction, behavioral compile-out test, metric grep criteria) ([1131d16](https://github.com/szTheory/parapet/commit/1131d166c799eea11e8bf08b5ed311729bd2faa1))
* **18-03:** replace non-ASCII typographic chars with ASCII in slo-authoring-guide ([b6ecbc6](https://github.com/szTheory/parapet/commit/b6ecbc67a3c1b23c536d037ffec6993d2673f1c5))
* **19:** IN-01 invoke deprecated SLO.define/2 consistently via apply/3 in tests ([d04428b](https://github.com/szTheory/parapet/commit/d04428bf6482f21f65c37119fe44e4b7073cac13))
* **19:** IN-02 update moduledoc to match the actual .Resolvable exclusion ([3fefc1a](https://github.com/szTheory/parapet/commit/3fefc1a8bfcbe5ec2b8551d5564af2717588063a))
* **19:** IN-03 emit manifest as canonical JSON only, fail loudly without Jason ([cbec746](https://github.com/szTheory/parapet/commit/cbec746533d24f92fba46e74b5b2eda8a44e9af6))
* **19:** IN-04 assert event_name/1 round-trips every event_families/0 entry ([c0d08f8](https://github.com/szTheory/parapet/commit/c0d08f88f623da0845f8c317f85a488300119d6d))
* **19:** WR-01 correct misleading telemetry contract comment to state it is a manual fixture ([b47938e](https://github.com/szTheory/parapet/commit/b47938e6b190b440c12615728db745a3611f766c))
* **19:** WR-02 make measurement key contract assert exact fixture, not tautology ([2fe0a6d](https://github.com/szTheory/parapet/commit/2fe0a6d95f58a8959e3d9ed31ef8fcb3c6bc29fe))
* **19:** WR-03 treat [@moduledoc](https://github.com/moduledoc) false modules as intentional, not missing docs ([50397de](https://github.com/szTheory/parapet/commit/50397deb0297046e6c87f94a288454061dcec103))
* **19:** WR-04 anchor tier detection to the callout line to prevent misclassification ([f6407cd](https://github.com/szTheory/parapet/commit/f6407cd391ba97eed1c1ccff41b4a7254097cc20))
* **19:** WR-05 harden STAB-06 deprecation test against compiler-format drift ([0408670](https://github.com/szTheory/parapet/commit/040867004dbc1daa2bad771eb56a91b878b12042))
* **19:** WR-06 detach leaked adapter telemetry handlers in on_exit ([3e9ee7d](https://github.com/szTheory/parapet/commit/3e9ee7d5a396630cad4cbb06227e0261664a0859))
* **21-05:** close CR-01 — map resolved incidents through WorkbenchContract.queue_row/1 ([551ef05](https://github.com/szTheory/parapet/commit/551ef05854fd9c206267d0333f72d939aceb7718))
* **ci:** build docs in dev environment ([fff37c5](https://github.com/szTheory/parapet/commit/fff37c5b517a824105a7f29c4e032eacb27f0689))
* **release:** align v1.0 gate with committed tooling config ([d5ab252](https://github.com/szTheory/parapet/commit/d5ab2526dfc435ac14de780132f74308f3621843))
* resolve scoria integration compilation warnings ([d4cb8b3](https://github.com/szTheory/parapet/commit/d4cb8b392e4b56d3d306b97720d7977ac21d46c1))
* **test:** satisfy dialyzer for distributed canary helper ([c737d3f](https://github.com/szTheory/parapet/commit/c737d3f57056233be7ce7d545a8b8756618dfe77))
* **tests:** remove Code.ensure_loaded? guards from integrations to fix test suite compilation order ([b1bf5a8](https://github.com/szTheory/parapet/commit/b1bf5a874271406e229071ecb3f6d5e0416b019d))

## 0.10.0

### Added

- `Parapet.Integration` behaviour (`@callback setup/0`) declared on all eight ecosystem integration
  adapters (Sigra, Accrue, Threadline, Chimeway, Mailglass, Rindle, Scoria, Rulestead). A missing
  or mis-named `setup/0` on any adapter is now a compile-time warning instead of a runtime
  `UndefinedFunctionError`.

### Fixed

- `Parapet.attach(adapters: [:rulestead])` no longer raises `UndefinedFunctionError`. The Rulestead
  adapter now exposes `setup/0` (delegating to `attach/0`), so all built-in integrations activate
  via the same `Parapet.attach/1` line.
