fix(transcript): use acknowledged dispatch lifecycle state

TE
5d ago
+35-8

Dispatch reports containing phrases such as “not merged yet” could display a merged lifecycle state. A requested status could also hide a failed call. Read lifecycle state from the structured acknowledgement, with call failure and in-progress status taking precedence.

The dispatch contract requires an explicit coordinator acknowledgement for merged state. Leo (2026-10-29): “infer, infer, infer, research, consolidate, reconvene.” This fixes the shared parser for MCP and CLI cards and adds regression cases for prose, requested transitions, acknowledgements, and failed calls.

Validation: focused dispatch parser/card tests and webview checks will run through the fleet before landing. No timers, observers, or animation loops added. Risk: older plain-text replies now retain their tool completion state instead of guessing a brief transition.

Agent session: agent session


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes dispatch cards misreporting lifecycle state when report prose mentions words like "merged" or when a requested status is mistaken for a confirmation. Dispatch lifecycle now comes from the structured acknowledgement, with call failure and in-progress statuses taking precedence.

  • Plain-text replies without an acknowledgement keep their tool completion state instead of guessing a transition.
  • Adds regression coverage for prose, requested transitions, acknowledgements, and failed calls.