- Reset master to upstream/main (16,697 commits) - Overlay 2,271 local-only files (skills, tools, workspace, configs, apps) - Restore IDENTITY.md and USER.md templates - Build verified, gateway running, Discord working Co-Authored-By: Claude Opus 4.6 <[email protected]>
2.8 KiB
2.8 KiB
AI_ACTION_PLAN.md — Implementation Phases (James)
This is the implementation checklist for the James event backbone, agents, and controls. Each phase links to the relevant code paths and run commands.
Phase 1 — Backbone (Redis + schema)
Status: implemented
- Redis runs locally and is protected with auth.
- Event schema lives at
workspace/james/schemas/event.json. - Validators live in
workspace/james/lib/schema.pyandworkspace/james/tools/validate_event.py. - Audit log consumer lives in
workspace/james/tools/audit_logger.py.
Verify:
PYTHONPATH=<repo-root>/workspace REDIS_URL=redis://:<pass>@127.0.0.1:6379/0 \
python3 workspace/james/tools/subscribe_events.py
PYTHONPATH=<repo-root>/workspace REDIS_URL=redis://:<pass>@127.0.0.1:6379/0 \
python3 workspace/james/tools/publish_event.py --type system.metrics --severity low --payload '{"test":true}'
Phase 1.5 — Schema validation
Status: implemented
- Publishers call
validate_event()before publish. JAMES_VALIDATE_SCHEMA=0disables validation for emergencies.
Phase 2 — Watchers
Status: implemented (node registry + rate limits)
- Watcher agent:
workspace/james/agents/watcher/watcher.py. - Emits
system.metrics,disk.high_usage,cpu.high_usage,memory.high_usage,gpu.vram_high,container.*. - Node registry stored in Redis (
james:nodesset +james:nodes:<node>hash).
Run:
PYTHONPATH=<repo-root>/workspace JAMES_NODE=node-a JAMES_ROLE=storage \
REDIS_URL=redis://:<pass>@127.0.0.1:6379/0 \
python3 workspace/james/agents/watcher/watcher.py
Phase 3 — Analyst
Status: implemented (local LLM + heuristic fallback)
- Analyst agent:
workspace/james/agents/analyst/analyst.py. - Consumes
james.events.system+james.events.mail. - Publishes to
james.decisions.
Phase 4 — Policy engine
Status: implemented (approval gating)
- Policy logic:
workspace/james/lib/policy.py. - Engine:
workspace/james/agents/policy/policy_engine.py.
Phase 5 — Mail agent
Status: dry-run implemented
- Mail agent:
workspace/james/agents/mail/mail_agent.py. - Emits
mail.*events tojames.events.mail.
Phase 6 — Voice stub
Status: stub implemented
- Voice stub:
workspace/james/agents/voice/voice_stub.py. - Consumes
james.actions+james.decisions+james.events.*. - Publishes to
james.events.voice(or stdout).
Phase 7 — Action router
Status: not implemented
- Planned target:
workspace/james/agents/router/.
Phase 8 — Human approval interfaces
Status: not implemented
- Planned: Discord + Home Assistant integrations.
Phase 9 — Security + metrics
Status: not implemented
- Planned: audit log immutability, metrics dashboard, alert routing.