Fix multi-agent demo, add tests, docs site, CI, and SEO#1
Merged
Conversation
Repair latent bugs that prevented the orchestrator demo from ever working, add a real test suite + packaging, rewrite the docs, and ship a search-engine-optimized GitHub Pages site. Correctness fixes: - Collapse doubled backslashes across agent/example sources, which were rendered as literal "\n" in output and broke every regex (number/data extraction). - base_agent: serialize with model_dump(mode="json") so datetime survives the JSON-RPC hop over aiohttp; add /health and /.well-known/agent.json. - Fix client error detection: a JSON-RPC response always carries an "error" key (null on success), so the old `if "error" in result` check misread every success as an error. Fixed in A2AClient, BaseAgent.send_message_to_agent, and simple_a2a_client. - Remove dead, un-importable root __init__.py. Tooling & tests: - 34-test pytest suite (in-process TestClient + one live-socket integration test guarding the JSON-RPC parsing regression). - pyproject.toml (packaging + pytest config), requirements-dev.txt. - Startup scripts the README/tests referenced but that never existed: start_math_agent, start_data_agent, run_demo, launch_system; move the live smoke test to scripts/smoke_test.py. Docs & site: - Rewrite README; add ARCHITECTURE.md with mermaid diagrams. - docs/index.html landing page with full SEO (meta, Open Graph, Twitter cards, canonical, JSON-LD), generated og-image.png, sitemap.xml, robots.txt, .nojekyll; SEO tags on the architecture page. - CI workflow (pytest, Py 3.9-3.12) and Pages deploy workflow; MIT LICENSE. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Repairs the latent bugs that prevented the orchestrator demo from ever working, adds a real test suite + packaging, rewrites the docs, and ships a search-engine-optimized GitHub Pages site.
Correctness fixes
\nin output and broke every regex (number/data extraction crashed). Collapsed to single backslashes.base_agent: serialize withmodel_dump(mode="json")sodatetimesurvives the JSON-RPC hop over aiohttp; added/healthand/.well-known/agent.json."error"key (null on success), so the oldif "error" in resultcheck misread every success as an error — the demo only ever printedAgent returned error: None. Fixed inA2AClient,BaseAgent.send_message_to_agent, andsimple_a2a_client.__init__.py.Tooling & tests
TestClient+ one live-socket integration test guarding the JSON-RPC parsing regression).pyproject.toml(packaging + pytest config),requirements-dev.txt.start_math_agent,start_data_agent,run_demo,launch_system; moved the live smoke test toscripts/smoke_test.py.Docs & site
README; addedARCHITECTURE.mdwith mermaid diagrams.docs/index.htmllanding page with full SEO (meta, Open Graph, Twitter cards, canonical, JSON-LD), generatedog-image.png,sitemap.xml,robots.txt,.nojekyll; SEO tags on the architecture page.LICENSE.Verification
pytest→ 34 passedpython scripts/launch_system.py→ real multi-agent collaboration producing correct stats + visualization output.🤖 Generated with Claude Code