Skip to content

Add 6-tier orchestration layer with role agents, audit trail, and dashboard#47

Open
no6060fear wants to merge 3 commits into
FatihMakes:mainfrom
no6060fear:claude/priceless-einstein-64d7e6
Open

Add 6-tier orchestration layer with role agents, audit trail, and dashboard#47
no6060fear wants to merge 3 commits into
FatihMakes:mainfrom
no6060fear:claude/priceless-einstein-64d7e6

Conversation

@no6060fear

Copy link
Copy Markdown

Summary

  • 6-tier orchestration for MARK XXXIX: smart routing, tool allowlists, failure isolation, confirmation gates, propose-don't-chain handoffs, hot-reload manifests
  • 3 role agents (Eva/gold, Bobby/news, Tom/trades) running on local Ollama qwen3:14b, each with scoped tool access
  • Live TradingView tool (core/tradingview.py) giving Eva and Tom real-time price + BUY/SELL signal + RSI/MACD/EMA
  • SQLite audit trail (core/audit.py) recording every decision, tool call, and handoff — record-before-acting, failure-isolated writes
  • Streamlit dashboard (dashboard/) — read-only team pulse showing agent status, decision log, pending handoffs
  • 87 unit tests (stdlib only, no external dependencies) covering all tiers

Verified end-to-end on real hardware

  • Eva fetches live gold ($4498.73 via TradingView), Bobby proposes handoff to Tom, Tom's gate blocks until human confirms
  • Audit DB captures every step — fully reconstructable
  • Dashboard renders agent cards, metrics, decision log, pending handoffs
  • main.py boots cleanly with all wiring (26 tools, 3 roles, audit DB)

Files changed

  • core/ — 10 new modules (registry, confirmation, manifest, roles, role_agent, ollama_backend, handoff, audit, tradingview)
  • config/agents.json + config/tools.json — declarative agent manifests and tool metadata
  • dashboard/ — Streamlit read-only dashboard
  • main.py — integrated orchestration (REGISTRY, CONFIRMATIONS, ROLE_REGISTRY, AUDIT, dispatch branches)
  • agent/executor.py — task agent allowlist guard (de-scoped from messaging/shutdown)
  • docs/ORCHESTRATION.md — full architecture reference
  • tests/ — 87 tests across 7 test files

Test plan

  • python -m unittest discover -s tests -t . -v (87 tests, all pass)
  • python -m py_compile main.py core/*.py agent/*.py dashboard/*.py (zero errors)
  • Boot main.py — verify UI appears and no crashes
  • streamlit run dashboard/app.py — verify dashboard renders
  • Say "what's the gold price" — verify Eva routes and TradingView responds
  • Say "buy 2oz gold" — verify Tom's gate blocks until confirmed

🤖 Generated with Claude Code

no6060fear and others added 3 commits June 2, 2026 15:52
Deliverables:
- driver.py: Programmatic launcher with setup, launch, test, screenshot commands
- SKILL.md: Comprehensive agent-facing documentation with gotchas and troubleshooting

The driver handles:
- Environment setup (Python paths, Xvfb on Linux, API keys)
- Launching the app with virtual display support
- Smoke tests (process alive, modules importable, config valid)
- Screenshot capture for headless testing

Includes full prerequisites (apt-get for Linux), build instructions, run paths for both agents and humans, and 8 detailed gotchas covering Xvfb/display, Python 3.14 protobuf, audio, Qt threading, yfinance symbols, memory management, API limits, and platform-specific screenshot issues.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…hboard

Jarvis now routes specialist work to named role agents (Eva for gold/numbers,
Bobby for news, Tom for trades) running on local Ollama qwen3:14b, with a
shared tool registry enforcing per-agent allowlists, confirmation gates for
money moves, and a propose-don't-chain handoff system.

Key additions:
- core/ — 10 pure-stdlib modules: registry, confirmation, manifest, roles,
  role_agent, ollama_backend, handoff, audit, tradingview, __init__
- config/agents.json + tools.json — declarative agent manifests and tool metadata
- dashboard/ — Streamlit read-only dashboard (agent pulse + decision log)
- tests/ — 87 unit tests covering all tiers, the Ollama backend, audit trail,
  TradingView tool, and dashboard data layer
- docs/ORCHESTRATION.md — full architecture reference

Verified end-to-end on real qwen3:14b: Eva fetches live gold ($4498.73 via
TradingView), Bobby proposes handoff to Tom, Tom's gate blocks until human
confirms, audit.db captures every decision/tool_call/handoff for replay.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Telegram adapter (core/telegram.py): sends alerts via Bot API, scoped to
eva/bobby roles. Gold watcher daemon (core/scheduler.py): checks gold price
every 15 min via tradingview_ta, sends Telegram alert on moves > 0.3%, logs
every heartbeat to audit.db. Both are failure-isolated.

New tool: send_alert (Jarvis/Eva/Bobby can push alerts to Telegram).
100 tests pass (was 87 — added 13 for telegram + scheduler).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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