Changelog
0.15.2 (2026-10-05)
Bug Fixes
- name the repository in package.json so npm accepts the provenance (6c472c4)
- name the repository in package.json so npm accepts the provenance (8c4f7bc)
0.15.1 (2026-10-05)
Dependencies
- deps: update pnpm to v12.9.1 (2cd8fa8)
0.15.0 (2026-10-05)
Features
- publish the agent as a package with a CLI and declared exports (spec 033) (5666764)
- publish the agent as a package with a CLI and declared exports (spec 033) (bf0f704)
- withhold the sale until the contact is a prospect (spec 034) (7e48e7d)
- withhold the sale until the contact is a prospect (spec 034) (1bd15f0)
Bug Fixes
- load the tenant's .env in the agent CLI, and align the guide with spec 033 (9eccff5)
- make the installed package boot, redact and publish as spec 033 says (90fb886)
- stop the reply after the opening flow greeting and asking again (spec 032) (bd0098d)
- stop the reply after the opening flow greeting and asking again (spec 032) (705ad16)
Specs and Docs
- guide the move from a deployment fork to a tenant project (9e72917)
- judge spec 033's fork move by copied content, not shared file names (a5d110f)
- let the fork keep its own housekeeping files in spec 033's move criteria (5844aed)
- point spec 034 at the prompt's rule 8 and at what the evals can see (79fe8f4)
- record PR 166 in spec 033 (2163243)
- record PR 167 in spec 034 (dd6e6d9)
- rewrap spec 034's eval item (ce6b064)
- scope the release-only permission check to packages: write (spec 033) (c37dadb)
- settle the opening's timing and the advert signal in spec 034 (6b1e76e)
- specify intent before the sale (spec 034) (0f2bb69)
- specify tenant projects that depend on the agent, not fork it (spec 033) (e375f54)
- split spec 033 into the package, the scaffolder (035) and plugins (036) (e910e11)
- split spec 033 into the package, the scaffolder (035) and plugins (036) (39258be)
0.14.0 (2026-10-04)
Features
- open with the server's flow and check readiness before the link (spec 032) (f7b947e)
- open with the server's flow and check readiness before the link (spec 032) (bec2650)
Bug Fixes
- count a payment link at link_sent before it waits for the opening (spec 032) (138dc9d)
- record contactAsked only when it opened the payment gate (spec 032) (456c2a4)
- say flowDropped when a stage-tied flow is over the cap (spec 032) (219eedf)
- send the opening before any flow, and record it without tools (spec 032) (96aa775)
Specs and Docs
0.13.1 (2026-10-04)
Specs and Docs
- describe the separate docs job in CLAUDE.md and spec 011 (dbde7a3)
- give spec 031's analyst its own cap and name the eval baseline (9e8dcf7)
- spec 031 and ADR-0020, learning from paid outcomes (fda1994)
- spec 031 and ADR-0020, learning from paid outcomes (5e3cd3d)
0.13.0 (2026-10-03)
Features
- fire a conversion event when the funnel stage advances (spec 027) (4450489)
- fire a conversion event when the funnel stage advances (spec 027) (ad43756)
- hold a reply until the flow it follows has played (spec 030) (a9f5f39)
- hold a reply until the flow it follows has played (spec 030) (ae99cf0)
- sell several catalog courses through one funnel (spec 028) (125824d)
- sell several catalog courses through one funnel (spec 028) (96e13e9)
- send a flow when the model calls it, so the reply follows it (spec 029) (e27f210)
- send a flow when the model calls it, so the reply follows it (spec 029) (2acac50)
- send a turn's closing question after the flow it sends (spec 029) (f7956ef)
Bug Fixes
- a payment link sent mid-turn takes the turn's stage writes with it (spec 029) (bfa90c7)
- a repeat send_flow waits for the first request's outcome (spec 029) (0840e34)
- count a payment link in flight at link_sent for same-step writes (spec 029) (d2f608f)
- record a flow sent before a deferred call fails (spec 029) (e8e2a37)
- say why send_flow has nothing to offer a placed contact (spec 028) (90204a0)
- store only a bound request's course, and ignore a retired one (spec 028) (b589c52)
- wait for an in-flight flow request before recording an aborted turn (spec 029) (f808514)
Specs and Docs
- bring README, CLAUDE.md, config guide and specs in line with spec 029 (4a1e006)
- note in spec 030 that a contact writing during a held reply can be answered first (ef50875)
- record PR 150 in spec 027 (5d2fa49)
- record PR 151 in spec 028 (92d3fe5)
- record PR 152 in spec 029 (211b54d)
- record PR 153 in spec 030 (f2910c3)
- specify funnel conversion events and multi-course funnels (specs 027, 028) (56a5d12)
0.12.1 (2026-10-03)
Dependencies
0.12.0 (2026-10-03)
Features
- add contact read and note-writing tools (specs/024) (b69b74d)
- follow up once on a quiet lead inside the 24-hour window (spec 025) (d753440)
- follow up once on a quiet lead inside the 24-hour window (spec 025) (fbb30e9)
- let the agent read its contact and write bounded notes (spec 024) (8b1980f)
Specs and Docs
- describe contact reads and notes in the README (spec 024) (b39729e)
- explain how follow-ups work, how to configure and audit them (spec 025) (1a0004a)
- explain how the sales funnel of spec 023 works (ca1b0a0)
- explain how the sales funnel of spec 023 works (0ff63b7)
- record PR 143 in spec 025 (565b9d4)
- record PR 144 in spec 024 (ab824d6)
0.11.0 (2026-10-02)
Features
- replace verbatim repetition with the tenant's closer (spec 013) (616ebc9)
- replace verbatim repetition with the tenant's closer (spec 013) (a547ca5)
- send ManyChat API calls through manychat-sdk (spec 022) (b4b2f79)
- send ManyChat API calls through manychat-sdk (spec 022) (f70272e)
- take a lead from first reply to the payment link (spec 023) (69c8d27)
- take a lead from first reply to the payment link (spec 023) (0553b79)
Bug Fixes
- handle ManyChatResponseError in token-write logging (PR #133 review) (899c5af)
- re-export ManyChatResponseError and handle it in describeWriteError (37802cd)
- read the mock's payment options from the catalog heading only (0663c60)
Specs and Docs
- bring config/README.md and spec 003 up to date (7113618)
- bring config/README.md and spec 003 up to date (4855030)
- count spec 013 in spec 026's parity target (4436abc)
- decide and specify the Python port (ADR-0018, spec 026) (c59e3a5)
- decide and specify the Python port (ADR-0018, spec 026) (3fbeb10)
- declare nudge.humanActiveTag in spec 025 (e192ef7)
- fix remaining domain-specific references in specs and doc comments (9c6a9d5)
- include ManyChatResponseError endpoint in spec 022's error-text rule (505613f)
- narrow 001's price_negotiation trigger and declare onEscalation (ee05ea7)
- record ADRs 0015-0017 for the sales funnel (cbbec2d)
- record PR 131 in spec 013 (8294862)
- record PR 132 in spec 023 (b708107)
- remove domain-specific references from specs (31f04f8)
- remove domain-specific references from specs (adf1fe3)
- specify 023 — Sales Funnel (47dd1e6)
- specify 024 — Contact Read and Free-Text Notes (d5d3121)
- specify 025 — In-Window Nudge (d2b353f)
- specify the sales funnel, contact reads, notes and nudges (8ee5104)
0.10.0 (2026-10-01)
Features
- publish config/README.md on the docs site, by name (7d3d5ac)
- publish the docs as a site on GitHub Pages (spec 014) (e963156)
- publish the docs as a site on GitHub Pages (spec 014) (78d82bc)
Bug Fixes
- list each README as a sidebar entry, not behind its group heading (5085310)
- render Mermaid diagrams on the docs site, as GitHub does (524bd16)
Specs and Docs
- date spec 014 by the day it can merge (75fab11)
- diagram how agent tools work (707e9ff)
- diagram how agent tools work (cbc6305)
- link the docs site from the README with a deploy badge (spec 021) (31643bc)
- link the docs site from the README with a deploy badge (spec 021) (840f236)
- record PR 110 in spec 012 (6f623c9)
- record the pull request that implements spec 014 (f5a8f14)
Dependencies
- deps: lock file maintenance (ca30d12)
- deps: lock file maintenance (9bf5706)
- deps: update dependency typescript-eslint to v8.71.0 (e3d1b7d)
- deps: update dependency typescript-eslint to v8.71.0 - abandoned (66054f4)
- deps: update patch dependencies (d9d9215)
- deps: update patch dependencies (9a1c31f)
- deps: update pnpm to v12.8.1 (6bd804b)
- deps: update pnpm to v12.8.1 (66bc17f)
0.9.0 (2026-10-01)
Features
- implement agent tools (spec 012) (8018337)
Specs and Docs
- explain how agent tools work (spec 012) (8df85ce)
0.8.1 (2026-09-28)
Specs and Docs
- specify moving ManyChat calls onto manychat-sdk (spec 022) (c5cc136)
Dependencies
- deps: update dependency @types/node to v24.19.0 (cb0187b)
- deps: update dependency @types/node to v24.19.0 (bc76a52)
- deps: update patch dependencies (ca6f447)
- deps: update patch dependencies (cb25a1a)
0.8.0 (2026-09-27)
Features
- take issues, questions and conduct reports through forms (spec 021) (2c76e7b)
- take issues, questions and conduct reports through forms (spec 021) (81fac30)
Specs and Docs
- mark spec 020 implemented (220e9ea)
- mark spec 020 implemented (f8ab943)
- record PR 105 in spec 021 (aed5794)
- specify the contributor surface (e7809ec)
- specify the contributor surface (ca479b2)
- stop naming the deployment repository in spec 010 (aa0f6cf)
- stop naming the deployment repository in spec 010 (481e328)
0.7.0 (2026-09-27)
Features
- read inbound voice notes, images and videos (spec 020) (700d2cc)
- read inbound voice notes, images and videos (spec 020) (ea74381)
Bug Fixes
- compare the media host as a parsed hostname, not a substring (8a44692)
Specs and Docs
- specify inbound media (voice notes, images, video) (b706b3b)
0.6.0 (2026-09-27)
Features
- bind a contact's history to a token ManyChat holds (spec 019) (8bd1597)
- bind a contact's history to a token ManyChat holds (spec 019) (a7799f2)
- bound history to 30 days and reset the turn cap after 24 hours (spec 018) (f5cdd44)
- bound history to 30 days and reset the turn cap after 24 hours (spec 018) (b06f349)
- enforce inbound request trust (spec 017) (5056995)
- enforce inbound request trust (spec 017) (e29f676)
Bug Fixes
- encode upsert timestamps through the column (8a33177)
- encode upsert timestamps through the column, not sql.param alone (9bf867f)
- strip reply fields the model writes into message text (8fc5421)
- strip reply fields the model writes into message text (8edd948)
- wrap Date values in sql.param() for conversation upsert (88f0109)
- wrap Date values in sql.param() for conversation upsert (4738582)
Specs and Docs
- explain contact tokens in the README (edcc2cb)
- let a case carry several review criteria, one verdict each (7fa80e5)
- record PR 89 in spec 017 (a9be334)
- record PR 91 in spec 018 (25963b3)
- record PR 95 in spec 019 (4392ee3)
- specify a flag-gated browser test service on the mock model (b79ac2d)
- specify inbound request trust (spec 017, ADRs 0012-0014) (b9c5518)
- specify inbound request trust (spec 017, ADRs 0012-0014) (d2b30b8)
- specify model-graded evals behind a calibration gate (c7bd2ab)
- specify model-graded evals behind a calibration gate (38478ab)
- specify the documentation site (ce6b613)
- translate leftover Spanish strings to English (bef7660)
- translate leftover Spanish strings to English (23d2bb9)
Dependencies
0.5.3 (2026-09-24)
Specs and Docs
- add spec 013 — no verbatim repetition (e864936)
- add spec 013 — no verbatim repetition (e0f5ea2)
- record agent actions per turn and feed them back to the model (4876c94)
- specify agent tools for ManyChat flows, tags and fields (9385f22)
- specify agent tools for ManyChat flows, tags and fields (8e4d604)
Dependencies
- deps: update minor dependencies (b4efac6)
- deps: update minor dependencies (ac224f5)
- deps: update patch dependencies (#77) (381c0a1)
- deps: update pnpm to v12.6.0 (025cb26)
- deps: update pnpm to v12.6.0 (0d46f00)
0.5.2 (2026-09-18)
Dependencies
- deps: update dependency @types/node to v24 (d269787)
- deps: update dependency @types/node to v24 (cd69d3d)
- deps: update patch dependencies (e748b59)
- deps: update patch dependencies (50207ba)
0.5.1 (2026-09-18)
Bug Fixes
0.5.0 (2026-09-18)
Features
- make the closing question a field rather than a hope (65072d8)
- make the closing question a field rather than a hope (cf7ee19)
Bug Fixes
- count content lines, and give the suite its own latency budget (31d4382)
- count content lines, and give the suite its own latency budget (ae21d99)
- ground prices documented in catalog prose (281613c)
- ground prices documented in catalog prose (8a93597)
- last Spanish string in an integration test fixture (c22e82d)
- omit temperature for models that reject it (1f934c8)
- omit temperature for models that reject it (279d6fb)
- remove Spanish and real deployment data from test fixtures (9fd5797)
- stop discarding every message after the first on WhatsApp (5e39c07)
- stop discarding every message after the first on WhatsApp (bdc797e)
Specs and Docs
- document EVAL_MAX_LATENCY_MS in .env.example (2f7cec0)
0.4.1 (2026-09-17)
Refactors
- migrate from deprecated generateObject to generateText (3988740)
- migrate from deprecated generateObject to generateText (7319a6f)
0.4.0 (2026-09-17)
Features
- cap reasoning effort, and make a dead model call visible (c9cb90a)
- cap reasoning effort, and make a dead model call visible (257f039)
Bug Fixes
- add serial seq column to turns for deterministic ordering (7ecf70f)
- deterministic turn ordering with serial seq column (537ec70)
- prevent false escalation on short conversational replies (85af807)
- prevent false escalation on short conversational replies (7c4992e)
- reload the persona and catalog on SIGHUP (7293d59)
- reload the persona and catalog on SIGHUP (c43222e)
0.3.6 (2026-09-16)
Bug Fixes
- docker: copy pnpm-workspace.yaml into build stage (89441f6)
- docker: copy pnpm-workspace.yaml into build stage (11d39f5)
0.3.5 (2026-09-16)
Bug Fixes
- release: map chore(deps) to a visible Dependencies changelog section (0d259eb)
- release: map chore(deps) to visible Dependencies section (571935c)
- renovate: remove semanticCommitType override (9a29ce4)
- renovate: remove semanticCommitType override so :semanticCommits preset controls PR prefixes (566cd84)
Dependencies
- deps: update dependency ai to v7.0.105 (c0388d2)
- deps: update dependency ai to v7.0.105 (4a8843b)
- deps: update pnpm to v12.4.2 (c9ea9b4)
- deps: update pnpm to v12.4.2 (c508eef)
0.3.4 (2026-09-16)
Bug Fixes
- restore pnpm-workspace.yaml with minimumReleaseAge disabled (6c96d58)
Specs and Docs
- add deps prefix to spec 010 changelog table (d0b7b67)
0.3.3 (2026-09-16)
Bug Fixes
- regenerate lockfile for pnpm 12 and add workspace config (67fc8d8)
0.3.2 (2026-09-16)
Bug Fixes
- downgrade to TypeScript 6.0 — typescript-eslint does not support TS 7 (c26a70d)
0.3.1 (2026-09-16)
Bug Fixes
- gate release-please to the public repo only (fa58933)
- gate release-please to the public repo only (b545948)
0.3.0 (2026-09-16)
Features
- batch dependency updates and auto-merge only patches (7bfb068)
- batch dependency updates and auto-merge only patches (d628930)
Specs and Docs
- record the PR that landed specs/011 (cc0c14a)
0.2.0 (2026-09-16)
Features
- add Ollama as a local model provider (1274bac)
- add Ollama as a local model provider (specs/007) (aa1da2f)
- cut releases from a reviewable Release PR (de2a4c6)
- cut releases from a reviewable Release PR (d8c4364)
- implement the agent gateway MVP (63be48a)
- implement the agent gateway MVP (aba2203)
- let a tenant carry its own eval suite (e2b50da)
- let a tenant carry its own eval suite (704e530)
- make a spec state whether its behaviour exists yet (89f653a)
- make a spec state whether its behaviour exists yet (423e318)
- replace sendContent with flow-based delivery (specs/002) (0603016)
- scripted opening on a configured sentinel (specs/001) (9bc8ff5)
- scripted opening trigger and flow-based delivery (a4cd0c5)
Bug Fixes
- green eval:mock on main after #17 (00a50c2)
- keep MODEL_ABORT_MS armed on the deferred path, record the model (2089bcc)
- mount config into container and update Postgres 18 volume path (7718a3b)
Refactors
- English throughout, and no customer copy in source (e3094ee)
- English throughout, and no customer copy in source (8662c05)
- implement ports as classes rather than factory functions (1738550)
- implement ports as classes rather than factory functions (36245bd)
Specs and Docs
- add CLAUDE.md with codebase documentation (3b94ae4)
- add CLAUDE.md with codebase documentation (34d24b2)
- add Docker setup and API walkthrough to README (8cc50c2)
- add the pull request template specified in 006 (b329490)
- close spec 007's unkept promise and verify its claims (a988eb2)
- close spec 007's unkept promise and verify its claims (0381946)
- link to PGlite in quick-start blurb (ef25a41)
- record classes as the standard for port implementations (746c874)
- record the PR that landed specs/009 (53bdae0)
- remove tenant identity from the published repo (e24b335)
- require English in the repository, and no copy in source (395bcda)
- specify running a real model locally via Ollama (2aeb100)
- specify running a real model locally via Ollama (7fc04ca)
- specify tenant eval suites (faff5af)
- specify the agent before building it (095e7a4)
- specify the release workflow and dependency updates (d63cdca)
- specify the release workflow and dependency updates (3253c49)
- specify the testing strategy (8b39203)
- specify what a pull request must say (beeb226)