CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.
Format: [Conventional Commits](https://www.conventionalcommits.org/).

## 1.0.0 (2026-05-08)


### Features

* **08-01:** merge dispatcher outcomes into trigger response ([c449ee4](https://github.com/szTheory/chimeway/commit/c449ee4454d64c33cb556a7a62024c351de4f945))
* **08-01:** seed trigger outcome defaults ([ea97e9c](https://github.com/szTheory/chimeway/commit/ea97e9ce7446d11d9c5be1e87d54ecbf64d9b1a4))
* **10-01:** enrich [:deliveries, :plan] span with correlation metadata ([7c8d68f](https://github.com/szTheory/chimeway/commit/7c8d68f3ad3eabf451ff2ad7bc78becb1c7915b2))
* **10-01:** forward correlation opts in DeliveryPlanning ([b1f27c6](https://github.com/szTheory/chimeway/commit/b1f27c62336012063f6690e1e2d04fe2a9be662d))
* **10-01:** persist correlation metadata in Delivery records ([e4271f9](https://github.com/szTheory/chimeway/commit/e4271f925d12cc4711a88eb747ce5bcda7be280c))
* **10-01:** thread notification_key in dispatch_opts in Trigger ([0284fb9](https://github.com/szTheory/chimeway/commit/0284fb983ad5f1ece226705c412d5723dd223c56))
* **10-02:** enrich Oban spans with correlation metadata ([664de32](https://github.com/szTheory/chimeway/commit/664de32e7d5a7fd860dabe97a20954ec51ab69eb))
* **10-02:** enrich Policy and Sync spans with correlation metadata ([82bce64](https://github.com/szTheory/chimeway/commit/82bce6420b288cb1d4cc8dc41a1a3e026513e41f))
* **12-01:** unify oban planning and enqueue transaction ([9b93ae2](https://github.com/szTheory/chimeway/commit/9b93ae265d3f8686f6bfade6ade11125b3745513))
* **14-02:** add attempt_number and error_class columns to delivery attempts ([957b92c](https://github.com/szTheory/chimeway/commit/957b92c5d61750cafdc52d692ba228a25b228fa5))
* **14-02:** extend DeliveryAttempt schema with attempt_number and error_class ([c9ad3a1](https://github.com/szTheory/chimeway/commit/c9ad3a174fada441c8209f9345694791349e02c6))
* **14-03:** add Deliveries.exhaust_delivery/1 named helper ([d94c1c1](https://github.com/szTheory/chimeway/commit/d94c1c108f7634bec5a5a7d7baafffb84286e248))
* **14-04:** extend record_attempt/2 with row lock + attempt_number + terminal convergence ([04a74a8](https://github.com/szTheory/chimeway/commit/04a74a8274412e7d0af0f8ae7f58a062615073c9))
* **14-04:** plumb error_class end-to-end via Executor.classify/1 3-tuple ([b5f5728](https://github.com/szTheory/chimeway/commit/b5f57285bfd7ac61ef57df6975438e78dcba7b44))
* **14-04:** promote DeliveryAttempt.attempt_number to required field ([38e0ca6](https://github.com/szTheory/chimeway/commit/38e0ca66116664f619e5198964d51a3bd1f2008c))
* **14-05:** surface attempt_number and error_class in Traces (D-07) ([53ff4b1](https://github.com/szTheory/chimeway/commit/53ff4b1f595fbf2cdb63c17ceb38a7db20186037))
* **14-05:** wire Oban retry contract in ObanWorker.perform/1 ([b044e29](https://github.com/szTheory/chimeway/commit/b044e29445ab9a7fe859dce307f73543bb0eccdb))
* **14-10:** add classify/1 fallback and rewrite map_outcome_to_oban_return/4 catch-all (BL-02) ([a90460e](https://github.com/szTheory/chimeway/commit/a90460e7902ce201449165e42c8909354ce08ca0))
* **16-01:** add __using__ macro to Notifier ([57a6409](https://github.com/szTheory/chimeway/commit/57a6409fbed18d798ff187d975ebee03734116eb))
* **17-01:** persist delivery orchestration contracts ([d6f48d9](https://github.com/szTheory/chimeway/commit/d6f48d92472c3b5f0173f7f1fa584d0a4fa69969))
* **17-02:** defer quiet-hours at planning time ([217d57c](https://github.com/szTheory/chimeway/commit/217d57cf175771840f4b22ca8265398ca9662958))
* **17-02:** persist notifier orchestration declarations ([b5a2634](https://github.com/szTheory/chimeway/commit/b5a26342685cf66ab5d34cdddda42cc69eff9b54))
* **17-03:** expose deferred delivery explanations ([eb2e5ee](https://github.com/szTheory/chimeway/commit/eb2e5ee4e6f5dc395c59462dcbc675b58b776225))
* **17-03:** gate dispatch on orchestration readiness ([b4eae59](https://github.com/szTheory/chimeway/commit/b4eae5944f5dbb69e0180804dac0c45ef95a17f2))
* **18-01:** implement deferred resume row transitions ([e546f77](https://github.com/szTheory/chimeway/commit/e546f77af2a903379b61ef925772afa4508cc10d))
* **18-02:** schedule deferred resumes through oban ([6fa8afe](https://github.com/szTheory/chimeway/commit/6fa8afeebec7216e40ea5e4774786d703ead2033))
* **18-03:** explain resumed deferred delivery history ([a663709](https://github.com/szTheory/chimeway/commit/a6637096ecb2b8ec5c08a9e4407c7dec5a0af5b4))
* **19-01:** implement durable digest rule and bucket storage ([eeec217](https://github.com/szTheory/chimeway/commit/eeec217fe2f0b6f78a135b25f5534011389fad65))
* **19-02:** implement digest accumulation transaction ([cc223c3](https://github.com/szTheory/chimeway/commit/cc223c30e03c33a7a619c7b1f497a7c8727dbaa8))
* **19-03:** wire planner-side digest accumulation ([64744c4](https://github.com/szTheory/chimeway/commit/64744c40f3131575f5a8af1926b8458328c55fd7))
* **21-01:** add durable rendering storage ([d0fe75f](https://github.com/szTheory/chimeway/commit/d0fe75f7baf0c3fe4012e7693f643e3659fea939))
* **21-01:** add notifier rendering normalization ([2b31b14](https://github.com/szTheory/chimeway/commit/2b31b142e5f777659256b83135ae7aab9f76df16))
* **21-02:** persist render identity during trigger and planning ([be55f85](https://github.com/szTheory/chimeway/commit/be55f8542ed51012bf41ab725fb354f534636d6f))
* **21-04:** persist rendered delivery payloads before dispatch ([203bb2d](https://github.com/szTheory/chimeway/commit/203bb2d3ae8571a672d4f0a1739b49db9c481327))
* **21-05:** add preview rendering mix task ([63b2864](https://github.com/szTheory/chimeway/commit/63b2864c1274384cde2694d1acb1fdf3cdba85e8))
* **21-05:** add pure rendering preview api ([629f196](https://github.com/szTheory/chimeway/commit/629f19697a0d5b98166dd8a749c9c1a441c38251))
* **21-template-versioning-rendering-contracts-03:** add validated channel render dispatch ([8e4211e](https://github.com/szTheory/chimeway/commit/8e4211e1da5e45960664aca67dc23b55d228a8e8))
* **21.1-01:** persist notification render channel declarations at trigger time ([e0f1049](https://github.com/szTheory/chimeway/commit/e0f1049dcf150d7d824817492deba760f3f24f50))
* **21.1-02:** normalize preview boundary failures for invalid and unloaded notifiers ([e07ec28](https://github.com/szTheory/chimeway/commit/e07ec28e5d6a0256d659e6f4b31617b074173887))
* **21.1-02:** replace executable preview CLI inputs with JSON and shallow flags ([295d495](https://github.com/szTheory/chimeway/commit/295d495505a616cca2c0606ad60dbacfa47661b3))
* **22-01:** add durable recovery row primitives ([b97d97c](https://github.com/szTheory/chimeway/commit/b97d97c0d277cb6abc1934f22d7df1c0e28c437d))
* **22-02:** wire recovery through canonical dispatch ([8bb160a](https://github.com/szTheory/chimeway/commit/8bb160a52143ef2fcd44d15aa84f65ea0444ce76))
* **22-03:** add recovery-aware trace analytics ([04f678d](https://github.com/szTheory/chimeway/commit/04f678d9c3b2f10a9ce977492af9ec28e6efe48d))
* **23-01:** schedule digest flushes from durable buckets ([52989c6](https://github.com/szTheory/chimeway/commit/52989c61d078edaaf32b441214524ce6d7b4d48a))
* **23-02:** persist orchestration for recovery replay ([84a2276](https://github.com/szTheory/chimeway/commit/84a2276f7729aa3756edfdec5045fe69a0ba360a))
* **23-03:** prove scheduled digest worker lifecycle ([09b412a](https://github.com/szTheory/chimeway/commit/09b412ae16357087b527217d3f2fea32dca13b91))
* **23-04:** handle perform-time delivery re-deferral ([f294eb5](https://github.com/szTheory/chimeway/commit/f294eb52cb102c6a1b7e01bbf748b97a74bed216))
* **24-workflow-contracts-state-spine-01:** add durable workflow contract storage ([3ca153d](https://github.com/szTheory/chimeway/commit/3ca153d418a88d25ab0160db645773059b5aadf1))
* **24-workflow-contracts-state-spine-02:** persist workflow runs at trigger time ([e7d0059](https://github.com/szTheory/chimeway/commit/e7d0059654f979f49bbd53afa259600175eb0025))
* **24-workflow-contracts-state-spine-03:** link deliveries to persisted workflow state ([c9d7aa0](https://github.com/szTheory/chimeway/commit/c9d7aa0920ad659b533af2dbbc18e2e257b59e0f))
* **25-01:** normalize step progress rules and curate workflow outcomes ([886ecdc](https://github.com/szTheory/chimeway/commit/886ecdc86e4d1c375998d446e188191cbd19a115))
* **25-02:** wire durable workflow progression engine into canonical convergence ([33b2a36](https://github.com/szTheory/chimeway/commit/33b2a369a17a28c8325def5c0760fe55f513023b))
* **25-03:** wire thin workflow progression worker and due-run scheduling ([74b341c](https://github.com/szTheory/chimeway/commit/74b341cf374e6b65ea23c0964c0a0467b7c3535f))
* **25-04:** implement advance_after_wait/5 to close CR-01 wait_until loop ([11455b2](https://github.com/szTheory/chimeway/commit/11455b2961b35c29e07cdd731a8e7f06c4151fc2))
* **26-01:** handle terminal workflow tuples in progression worker ([665a54a](https://github.com/szTheory/chimeway/commit/665a54a99043b9331a91f519b93e1b1f23fe369f))
* **27-01:** add barebones SignalRouterWorker ([739ffa9](https://github.com/szTheory/chimeway/commit/739ffa9a912fc2fdba4778273d5e4a46844564df))
* **27-01:** add Signal model and Chimeway.Signal.track/4 API ([4ab48f0](https://github.com/szTheory/chimeway/commit/4ab48f0c6fb756dc74c5044ca939b33f2dff02c4))
* **27-01:** add State Spine columns to WorkflowRun ([9b468aa](https://github.com/szTheory/chimeway/commit/9b468aa7a7a655691b537d068ac583733d4d67b4))
* **27-02:** complete SignalRouterWorker.perform/1 implementation ([6ab36b7](https://github.com/szTheory/chimeway/commit/6ab36b733332bf75e77c6168136600fbf878d435))
* **27-02:** implement Chimeway.Workflows.route_signal/1 ([b3a88d2](https://github.com/szTheory/chimeway/commit/b3a88d2a1e8db8a25c4cf66360eab813c9d37ff4))
* **27-03:** implement Workflows.explain/2 and list_traces/3 inspection API ([a87ce63](https://github.com/szTheory/chimeway/commit/a87ce636872d307a9b3733906d120ec216d0bbe1))
* **27-07:** route_signal filters by actor_id and clears suspended_until ([06e2a87](https://github.com/szTheory/chimeway/commit/06e2a876eac5fa4a3ffaa9e0e9741f2e0946d4c2))
* **29-01:** add Chimeway.Rendering.Channel behaviour module ([7b1f6fe](https://github.com/szTheory/chimeway/commit/7b1f6fe3cbb26abd0f4ec95b760658809996727d))
* **29-02:** add adapter_module column to chimeway_delivery_attempts ([05c6fbf](https://github.com/szTheory/chimeway/commit/05c6fbf2f090c5ec2f923a3b7d7fbed170febe8f))
* **29-02:** wire adapter_module field in DeliveryAttempt schema ([e75acdd](https://github.com/szTheory/chimeway/commit/e75acdd6fd3f49a88935d212c917ee39a0ed0115))
* **29-03:** implement Sms, Push, Chat channel render validators ([e125425](https://github.com/szTheory/chimeway/commit/e1254251743400cb25f2dc8504172b3f31acb952))
* **29-04:** boot validation for :channel_render_modules + adapter_module telemetry key ([d792992](https://github.com/szTheory/chimeway/commit/d792992e4180946ed95124741c69c9baddc871d2))
* **29-04:** three-layer channel_module/1 with registry + telemetry once-flag ([eb52ffa](https://github.com/szTheory/chimeway/commit/eb52ffa57db561f5137cf7a34b9873ca2409079b))
* **29-05:** add resolve_adapter/1 + persist adapter_module on attempt ([e22a04b](https://github.com/szTheory/chimeway/commit/e22a04b8c57885b104aa25e469aac25b7459fb1d))
* **29-05:** thread adapter_module into [:dispatch, :sync, :stop] stop metadata ([39146ec](https://github.com/szTheory/chimeway/commit/39146ec0d3545e42511931449189d36c694cd9df))
* **29-06:** expose adapter_module in explain_delivery output ([1e3fa6b](https://github.com/szTheory/chimeway/commit/1e3fa6b39ffa2ea10b87bbb045121333bba7dce9))
* **29-07:** channel-tag mailbox sends in Adapters.Test (D-23) ([ccebe15](https://github.com/szTheory/chimeway/commit/ccebe15de08fc0cdbb22936f8d85fa3f7ee2793c))
* **30-01:** add provider_message_id to delivery_attempts for feedback correlation ([fed5a52](https://github.com/szTheory/chimeway/commit/fed5a5274b3fceec7667e6839857e724bf453f67))
* **30-01:** define webhook ingestion contracts on Adapter behaviour ([488f3a4](https://github.com/szTheory/chimeway/commit/488f3a4a7686898931d103b620b49962057564e2))
* **30-01:** implement synchronous webhook boundary and async feedback worker ([d9e8bcc](https://github.com/szTheory/chimeway/commit/d9e8bcc93e52c1dc99d00bbe14f01519e88f796b))
* **31-01:** add tenant_id and actor_id to deliveries table ([67985ca](https://github.com/szTheory/chimeway/commit/67985cad07996ea19ceb2b959a7b2f05a3b67074))
* **31-02:** emit signal on feedback processing ([1251a88](https://github.com/szTheory/chimeway/commit/1251a884e6b0206bc86c0e7e4b6adc6518a7477d))
* **32-01:** populate WorkflowTransition.delivery_id from signal.payload in route_signal/1 ([d77e097](https://github.com/szTheory/chimeway/commit/d77e0979268abdc6b52c109299bc9ddc4d3ba8bb))
* **32-02:** extend Chimeway.Traces with webhook + workflow timeline projection ([fa976ad](https://github.com/szTheory/chimeway/commit/fa976ad8b46ebbcdca15aa33ed60528b79a9920c))
* **33-01:** create chimeway_webhook_ingress migration + GREEN tests ([6041acb](https://github.com/szTheory/chimeway/commit/6041acb51febe72711e67fc1e8c06544785a97fe))
* **33-01:** create Chimeway.Webhooks.Ingress Ecto schema ([2e904dc](https://github.com/szTheory/chimeway/commit/2e904dcd2cbc3fe53ac5c9578cca0ac6643a9ddc))
* **33-02:** add Deliveries.fetch_delivery/1 non-raising sibling ([2e65d7c](https://github.com/szTheory/chimeway/commit/2e65d7c2308549ee19a723c503cbf3044a10eb92))
* **33-02:** rewrite webhooks_test.exs for atomic-handoff contract ([5bf0c40](https://github.com/szTheory/chimeway/commit/5bf0c40e7c1d9bb6f2b2cdf55b66afa874063102))
* **33-02:** rewrite Webhooks.process/4 to atomic Multi+Oban handoff ([6587ee1](https://github.com/szTheory/chimeway/commit/6587ee110064255e62ccb2cbb1f29313dd2b5c85))
* **33-03:** rewrite ProcessFeedbackWorker for ingress-driven, safe-noop model ([4ca2258](https://github.com/szTheory/chimeway/commit/4ca22589d997c4d6e95a242d30327a063a3de51b))
* **33-03:** rewrite worker test for ingress-driven contract + preserve webhooks.ex compat ([77c92f4](https://github.com/szTheory/chimeway/commit/77c92f450f0cc06a337c7e2c028119759fafee0f))
* **33-04:** add CacheBodyReader plug and fixture adapters ([913424d](https://github.com/szTheory/chimeway/commit/913424d71960081805b9f76a513309cce4ce5c24))
* **33-04:** implement WebhooksController with raw-body flattening and status mapping ([4379663](https://github.com/szTheory/chimeway/commit/437966313bbb5ebf390ad5bfd7af44620a39e939))
* **33-04:** scaffold chimeway_demo_host sibling Mix project skeleton ([4fd490a](https://github.com/szTheory/chimeway/commit/4fd490ac4f901674224138064cc8195084796763))
* **33-04:** wire mix verify.example alias and fix E2E test compilation ([cc20a75](https://github.com/szTheory/chimeway/commit/cc20a7500435459a53752bf4db33eb43281b31d5))
* **33-05:** add dedup-convergence integration tests (T-33-DEDUP / D-05) ([08d8de6](https://github.com/szTheory/chimeway/commit/08d8de6e451ea4b967d64fd0e1102da26a547f7e))
* add digest emission and explainability ([570d47e](https://github.com/szTheory/chimeway/commit/570d47e8826275d72f1a3af96568ded2e3dc9150))


### Bug Fixes

* **11-01:** task 11-01-01 harden adapter config lookup ([2cb5afb](https://github.com/szTheory/chimeway/commit/2cb5afb0b2d1558decff81b8bfe008558274ac4a))
* **11-01:** task 11-01-02 keep explainability channels string-safe ([0f6577d](https://github.com/szTheory/chimeway/commit/0f6577d0fe59590195f680fa7abece0b8ae3bad6))
* **12-01:** guard oban dispatch base multi coercion ([5fb177a](https://github.com/szTheory/chimeway/commit/5fb177aa6490335dd098c705256678842cbab8e8))
* **13-01:** add category preference storage and lookup ([74caae3](https://github.com/szTheory/chimeway/commit/74caae3d82626497fd350b95ce5ab7a4fec6314b))
* **13-02:** add policy settings storage and evaluation helpers ([f931ca6](https://github.com/szTheory/chimeway/commit/f931ca63fb6f00b2674f4a56105a309e39a8b835))
* **13-03:** wire policy evaluation and dispatch suppression coverage ([0363df4](https://github.com/szTheory/chimeway/commit/0363df48b188626989605022c71f5663c5717d16))
* **14-10:** update error_classes/0 test to include unknown_classification (BL-02 deviation) ([c66c21a](https://github.com/szTheory/chimeway/commit/c66c21a5e54e12f88df2c60f75fcb0ae4238c4f9))
* **14-11:** WR-05/06/07 — order last_attempt by attempt_number, emit :cancelled timeline entry, update Explanation moduledoc ([a900dae](https://github.com/szTheory/chimeway/commit/a900dae80a4b8662e1a79bd981592cb538f3cb88))
* **14:** CR-01 fix Traces.last_attempt_summary/1 nil handling ([ce76ceb](https://github.com/szTheory/chimeway/commit/ce76ceb42ce2464fc21ad7983060a3684f8a9d23))
* **14:** IN-01 remove commented debug IO.inspect calls ([47c7293](https://github.com/szTheory/chimeway/commit/47c72931f0273014f56bb0d6d26543f2a2c94906))
* **14:** IN-02 correct comment about Ecto.Query import ([21364bc](https://github.com/szTheory/chimeway/commit/21364bcd55433deff1405ca38737a2566facf5f5))
* **14:** WR-01 use deterministic order for migration backfill ([fbeebb5](https://github.com/szTheory/chimeway/commit/fbeebb56b4beb01e21b8dab32220af4042f5523f))
* **14:** WR-02 avoid TOCTOU gap in Oban worker dispatch ([bffe56f](https://github.com/szTheory/chimeway/commit/bffe56f21634800f5d35e2449a3a3219f4d118b7))
* **14:** WR-03 normalize provider_response string key in record_attempt/2 ([14f9605](https://github.com/szTheory/chimeway/commit/14f9605df177539cf3d9b39c07d0ae5a5c9e4f94))
* **14:** WR-04 add timeline entry for manually-cancelled deliveries ([287b8a5](https://github.com/szTheory/chimeway/commit/287b8a54a0d27cd379e2d038cedd61583bed3fae))
* **17:** harden orchestration planning follow-ups ([40d05b9](https://github.com/szTheory/chimeway/commit/40d05b94287b48b3c8e69b70271e01df0df5541a))
* **18:** stamp deferred transition timestamps ([4ea8ec6](https://github.com/szTheory/chimeway/commit/4ea8ec6df531c64a79423c3d689fa15da84a3c52))
* **19:** tighten digest rule matching and accumulation edges ([5bd1b44](https://github.com/szTheory/chimeway/commit/5bd1b4400ac972af367d8ee4b833174345ae85e5))
* **21:** revise plans based on checker feedback ([54d917d](https://github.com/szTheory/chimeway/commit/54d917d2d3fd18706a68c5c053e8ef8eb77f4444))
* **22-04:** restore recovery-only planning fallback ([9fbf089](https://github.com/szTheory/chimeway/commit/9fbf089effca951cc0971db380fd98e3c93730fd))
* **23-05:** harden digest lookup identity boundaries ([fb5ae6d](https://github.com/szTheory/chimeway/commit/fb5ae6dd6c743491715353a741aa2a5478d70421))
* **27-04:** make phase 27 spine migration upgrade-safe ([0e4d2bc](https://github.com/szTheory/chimeway/commit/0e4d2bcbce4ce0113a5a117c002d45c87de62e8f))
* **27-04:** reject empty workflow run tenant ids ([bb2b903](https://github.com/szTheory/chimeway/commit/bb2b9036c5f5aa28cf7899c0c5123a4dbdfc0d2d))
* **27-05:** pass tenant ids through trigger workflow runs ([03f3e84](https://github.com/szTheory/chimeway/commit/03f3e84e67809839ab57530ed206bb7aa6d6f14d))
* **27-05:** thread tenant into initial workflow runs ([6014765](https://github.com/szTheory/chimeway/commit/60147658ec53c874cf60e29e3c30d3fe718eb362))
* **27-06:** declare the signal router queue everywhere ([3a0ffd0](https://github.com/szTheory/chimeway/commit/3a0ffd0e7243ac94ba00a23e92527d34502d06b9))
* **27-06:** hold workflow signal locks through commit ([9089f0d](https://github.com/szTheory/chimeway/commit/9089f0de28b27d06bc877dac80296606f2dc2741))
* **27-06:** honor trace limits in workflow inspection ([8c738f1](https://github.com/szTheory/chimeway/commit/8c738f1844f5a89c77b1baab8f34966daebb5dd7))
* **29:** correct Plan 07 wave to 5 (depends on Plan 06 at wave 4) ([fce7b9b](https://github.com/szTheory/chimeway/commit/fce7b9b7d693b3810a2bec3a8717e6b4afa306fe))
* **29:** revise plans based on checker feedback ([7860bfe](https://github.com/szTheory/chimeway/commit/7860bfea44983d66c7e013d36af66f912f7bca90))
* **31-01:** pass tenant_id and actor_id in test and emission logic ([7ec7594](https://github.com/szTheory/chimeway/commit/7ec75948d5471a679339b611b6c9bbbb7ef50361))
* **33-06:** handle :more branch in CacheBodyReader.read_body/2 (BL-01) ([bdaa3db](https://github.com/szTheory/chimeway/commit/bdaa3db8bdb3599027269e84aa5ac65d741ae1b3))
* **34-02:** align PII boundary fixture event_name to canonical chimeway.delivery.succeeded ([c5a1335](https://github.com/szTheory/chimeway/commit/c5a1335b2cbda71d6cedb23250d86b85d0576d17))
* **34-02:** align Scenario B fixture event_name to canonical chimeway.delivery.succeeded ([d918024](https://github.com/szTheory/chimeway/commit/d9180244d089f23fe74d6fedf6435d03f0afa761))
* **ci:** format code, fix doc links, relax credo checks for release ([7d0ed56](https://github.com/szTheory/chimeway/commit/7d0ed56ee70d9136b94c9f9794fe41d3f7c03405))
* **phase-24:** preserve persisted workflow step identity ([5a61459](https://github.com/szTheory/chimeway/commit/5a61459598eb01a87b9ba57148a477b39b2ce5a8))
* use DATABASE_URL for repo config ([4e90b94](https://github.com/szTheory/chimeway/commit/4e90b9434962003758c1a292dd3c598ff5960005))

## [Unreleased]

*(no entries yet)*