Skip to content

Fix multi-agent demo, add tests, docs site, CI, and SEO#1

Merged
rrahimi-uci merged 1 commit into
mainfrom
improve-a2a-docs-tests
Jun 27, 2026
Merged

Fix multi-agent demo, add tests, docs site, CI, and SEO#1
rrahimi-uci merged 1 commit into
mainfrom
improve-a2a-docs-tests

Conversation

@rrahimi-uci

Copy link
Copy Markdown
Owner

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

  • Doubled backslashes across agent/example sources rendered as literal \n in output and broke every regex (number/data extraction crashed). Collapsed to single backslashes.
  • base_agent: serialize with model_dump(mode="json") so datetime survives the JSON-RPC hop over aiohttp; added /health and /.well-known/agent.json.
  • 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 — the demo only ever printed Agent returned error: None. Fixed in A2AClient, BaseAgent.send_message_to_agent, and simple_a2a_client.
  • Removed 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; moved the live smoke test to scripts/smoke_test.py.

Docs & site

  • Rewrote README; added 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.

Verification

  • pytest34 passed
  • python scripts/launch_system.py → real multi-agent collaboration producing correct stats + visualization output.

🤖 Generated with Claude Code

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>
@rrahimi-uci
rrahimi-uci merged commit 9abb405 into main Jun 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant