← All updates

0.4.1

Folded consumers get their card bootstraps

A one-day-turnaround fix for a real consumer gap: the normative Reducer’s tool.done handling now carries _meta — the spec §0.4 host side-channel — onto tool-result blocks, in both the CREATE and MERGE arms.

_meta-only payloads are exactly the generative-UI bootstraps (canonical MCP-Apps _meta.ui, A2UI render descriptors). Before this release the facet stamped them onto tool.done events and the fold silently discarded them, so a folded consumer couldn’t mount cards from AgReduceResult without a repair wrapper. Now:

  • CREATE spreads _meta onto the new tool-result block, mirroring the text.start/reasoning.start precedent.
  • MERGE assigns it guarded, so a preliminary (more: true) result’s bootstrap survives a final replace that omits its own — and a final carrying its own overwrites.

If you carried a sidecar to re-attach _meta after folding, it collapses to new Reducer().