CLAUDE.md · diff

git:20261016.9d5cb74 to git:20261018.dd2d7dd

2 added, 15 removed. Audit A to A.

# CLAUDE.md — Quorus
- ## Shared Context Protocol
-
- **Read `docs/internal/CONTEXT.md` at the start of every session.** It contains the current project state, what's in progress, recent changes, architectural decisions, and next priorities. It is the shared memory between all contributors' Claude instances.
-
- **Update `docs/internal/CONTEXT.md` after every significant change:**
-
- - Add your changes to "Recent Changes" (keep last 10, drop oldest)
- - Update "In Progress" when starting/finishing work
- - Update "Current State" if the system's capabilities changed
- - Add to "Decisions Made" when architectural choices are made
- - Update "Next Up" when priorities shift
-
- ---
-
## Project
Quorus — coordination layer for AI agent swarms. Real-time rooms, messaging, distributed locks.
**Stack:** Python 3.10+, FastAPI, asyncio, httpx, mcp (FastMCP), pytest, ruff, rich
**Run tests:** `pytest -v`
- **From an agent worktree** (no venv of its own): `PYTHONPATH=.:packages/cli:packages/mcp:packages/sdk:packages/tui ~/dev/Quorus/.venv/bin/python -m pytest -q`
+ **Setup:** `python3 -m venv .venv && .venv/bin/pip install -e '.[dev]'`
+ **From an agent worktree** (no venv of its own), use the main checkout's: `PYTHONPATH=.:packages/cli:packages/mcp:packages/sdk:packages/tui $(git rev-parse --git-common-dir)/../.venv/bin/python -m pytest -q`
**Lint:** `ruff check .`
**Lint fix:** `ruff check . --fix`
---
## Architecture
```
Claude Code A -> MCP Server (stdio) -> HTTP -> [Quorus Relay (FastAPI)] -> HTTP -> MCP Server (stdio) -> Claude Code B
```
- `quorus/relay.py` — Central relay (FastAPI). Rooms, SSE fan-out, persistence, rate limiting.
- `quorus_mcp/server.py` — MCP server. 12 tools for coordination.
- `quorus/config.py` — Config loading. Priority: env vars > ~/.quorus/config.json > legacy fallback.
- `quorus_cli/cli.py` — CLI commands. `quorus` opens TUI by default.
---
## Rules
- Files under 500 lines. Split if larger.
- Async-first. Use `asyncio.to_thread` for blocking I/O.
- All external input validated before use.
- Never log secrets or tokens.
- Tests required for new features and bug fixes.
- Conventional commits, under 50 chars, imperative mood.
## graphify
This project has a graphify knowledge graph at graphify-out/.
Rules:
- Before answering architecture or codebase questions, read graphify-out/GRAPH_REPORT.md for god nodes and community structure
- If graphify-out/wiki/index.md exists, navigate it instead of reading raw files
- After modifying code files in this session, run `graphify update .` to keep the graph current (AST-only, no API cost)