Production promotion — prod-20260820-072606
What's Changed
- fix(demo-merchant): a restarted merchant serves the erc7710 buyer it already charged (#1515) by @AntonioSaaranen in #1551
- docs(agent-qa): what a session cannot see, and what to ask for (#1531) by @AntonioSaaranen in #1552
- fix(backend): passport EAS submissions join the relayer's nonce lane (#1546) by @AntonioSaaranen in #1553
- docs(quality): scan-ledger entry 2026-08-18 — outbound-tx-queue finding (epic #1554) by @AntonioSaaranen in #1560
- feat(backend): outbound_txs — durable record for the relayer's outbound queue (#1555) by @AntonioSaaranen in #1561
- feat(backend): hybrid-provisioning + passport submit through the outbound record (#1556) by @AntonioSaaranen in #1563
- feat(backend): the sweep relay submits through the outbound record (#1557, money-path) by @AntonioSaaranen in #1564
- feat(backend): leader-locked bump/replacement worker for the outbound lane (#1558) by @AntonioSaaranen in #1565
- fix(connect): approval-aware completion handoff, immediate first approval check, one name for the gate (#1542) by @d-hinders in #1566
- feat(connect): report runtime-configured the moment the config write settles (#1543) by @d-hinders in #1567
- test(connect): characterize re-run behavior against an already-configured workspace (#1544) by @d-hinders in #1570
- feat(backend): nonce allocation moves into the stamp — the interim lock retires as authority (#1559) by @AntonioSaaranen in #1568
- feat(connect): surface --json to agent operators, one name for the approval gate across the flow (#1545) by @d-hinders in #1571
- fix(connect): Claude Code local-stdio re-run replaces the previous agent's MCP entry (#1569) by @d-hinders in #1573
- feat(frontend): one name for the connect flow's approval gate — agent budget (#1572) by @d-hinders in #1574
- fix(design-system): Modal demo copy follows the one-gate-one-name rule by @d-hinders in #1575
- fix(mcp): haven_prepare_catalog_purchase honours the #1450 erc7710 preference (#1547) by @d-hinders in #1576
- feat(demo-merchant): English default, per-call locale, and a summary result mode (#1550) by @d-hinders in #1577
- fix(backend-tests): un-awaited initDbHarness raced the worker's own migration DDL — the 42P01/40P01 CI flake by @d-hinders in #1579
- docs(quality): scan-ledger — outbound-queue finding shipped (epic #1554) by @AntonioSaaranen in #1580
- test(backend): the worker schema is the whole search_path — no public fallback (#1562) by @AntonioSaaranen in #1581
- docs(mcp): the no-user-cap convention — quote first, cap at the live quote (#1548) by @d-hinders in #1582
- feat(mcp): compact the x402 prepare/pay responses — payment_required behind include_signing_payload (#1549) by @d-hinders in #1584
- fix(demo-merchant): unknown MCP session fails closed before the payment gate (#1578) by @AntonioSaaranen in #1583
- fix(connect): signer preinstall fails loud and closed — no silent npx fallback (#1586) by @AntonioSaaranen in #1594
- feat(connect): handshake-probe the local signer before reporting success (#1587) by @AntonioSaaranen in #1595
- feat(mcp): runtime-neutral next_tool — next_tool_server + next_tool_name (#1588) by @AntonioSaaranen in #1596
- feat(connect): --doctor and --repair — one-command setup diagnosis (#1589) by @AntonioSaaranen in #1597
- feat(sdk,mcp): spend_authority_readiness — name the signal for what it covers (#1590) by @AntonioSaaranen in #1598
- mcp: slim tool descriptions — shared guidance into server instructions (#1591) by @AntonioSaaranen in #1599
- backend: normalize catalog price_display — drop the redundant $ prefix (#1592) by @AntonioSaaranen in #1600
- connect: harden the LOCAL MCP runtime install like #1586 did the signer's (#1593) by @AntonioSaaranen in #1601
- docs: quality-scan — guard-effectiveness probe, measurement blocks, probed-clean baselines, disposition trigger (#1602) by @AntonioSaaranen in #1603
- docs: scan-ledger entry for the 2026-08-19 quality-scan run (no qualifying finding) by @AntonioSaaranen in #1604
- docs: ship-next corrections — CI-waiting claims, outbound money-path coverage, flake triage, sdk playbook refresh (#1607) by @AntonioSaaranen in #1608
- docs(code): correct four stale 'until #N' comments that claim to wait for shipped work (#1605) by @AntonioSaaranen in #1606
- ci: gate Playwright install on browser-cache hit — apt-get leaves the warm-cache path (#1609) by @AntonioSaaranen in #1611
- chore(release): bump all published packages to 0.1.27-alpha.0 by @d-hinders in #1610
- promote: dev → main (outbound-tx queue epic #1554 + connector setup chain + 0.1.27-alpha.0) by @d-hinders in #1612
Full Changelog: prod-20260818-132909...prod-20260820-072606