Add real multi-agent specialist team example - #178
Merged
Conversation
Owner
Author
|
Follow-up review fix: terminal Session/Thread transitions now fence their active execution journals in the same PostgreSQL transaction. Active attempts become interrupted, started result-less steps become ambiguous, prepared steps cannot cross the side-effect boundary, and delayed EnsureAttempt calls lock and reject terminal owners. Added regressions for active/prepared/started child work and post-termination attempt admission. No public API or migration change. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Mango documents multi-agent primitives but lacks a runnable public-HTTP user journey that proves a real coordinator, ordinary specialists, Advisor usage, and persistent child-Thread follow-up together. A real run also needs to expose runtime defects instead of hiding them behind fake model output.
Solution
tool_useblock emits requiredinput: {}even when the internal map is nil or emptyAcceptance evidence
Ran
scripts/with-dev-env make demo-multi-agent-teamwithclaude-sonnet-4-5-20250929and typed the follow-up constraint in the terminal. The successful run produced real usage on the primary, both specialists, and Advisor; reused the original reliability Thread; created no second Advisor or specialist Thread; printedVerified; and deleted the Session afterward.The first live attempt exposed the empty
tool_use.inputadapter bug. A later diagnostic run exposed that a child could finish after primary termination. Both fixes are general runtime behavior with regression tests; there is no scenario-specific runtime branch.Tests
make verifymake docs-checkmake securitymake local-configmake test-servicescripts/with-dev-env make demo-multi-agent-teamwith terminal follow-upmango:localentrypoint smoke and healthy API/worker stackmake image-smokecould not rebuild the image because Docker Desktop had no route toregistry-1.docker.iowhile resolvingdocker/dockerfile:1.7. The same checkout was cross-compiled into the existing local image;docker run --rm mango:local serve -h, Compose health, and the full real-model journey all passed.API, migration, and security impact
No public HTTP schema or database migration changes. The existing terminal Session semantics are strengthened so a terminated primary cannot leave persistent children consuming work or publishing late reports. Provider credentials remain worker-only and are neither printed nor persisted by the example client. External scenario data is synthetic; there is no simulated service presented as a real integration.