fix(transcript): use acknowledged dispatch lifecycle state
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](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
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.