marchwarden/CLAUDE.md
Jeff Smith 166d86e190 chore: add CLAUDE.md for session 1
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-08 14:44:16 -06:00

2 KiB

Marchwarden — Project Context

What This Is

A network of agentic research specialists (MCP servers) coordinated by a principal investigator (PI) agent. Educational project learning agents, MCP, and agent composition.

Current Project State

Phase Phase 1 complete, Phase 2 next
Last worked on 2026-04-08
Last commit 7088f45 — Merge PR #7: M1.4 MCP server
Branch main (clean)
Tests 81 passing
Blocking issues None

Key Files

File Purpose
researchers/web/models.py Research Contract v1 Pydantic models (9 types)
researchers/web/tools.py Tavily search + URL fetch with content hashing
researchers/web/trace.py JSONL trace logger
researchers/web/agent.py WebResearcher — inner agentic loop
researchers/web/server.py FastMCP server wrapping the researcher
cli/main.py CLI shim (not yet implemented)

Architecture

  • Researcher = MCP server exposing research(question) -> ResearchResult
  • ResearchResult = answer + citations (with raw_excerpt) + categorized gaps + discovery_events + open_questions + confidence + confidence_factors + cost_metadata + trace_id
  • Agent loop = Claude tool-use loop (plan→search→fetch→iterate) + synthesis step
  • Trace = JSONL audit log per research call at ~/.marchwarden/traces/

Conventions

  • API keys live in ~/secrets (not .env)
  • Wiki is at docs/wiki/ (local git clone, not MCP — wiki MCP is buggy)
  • All merges via Forgejo API (claude-code user can't merge via MCP)
  • One branch per concern, merge via PR, delete branch after

Session Log

Session Date Summary
1 2026-04-08 Project creation, naming, contract design, Phase 0 + Phase 1 complete (81 tests)

What's Next

Phase 2: CLI Shim

  1. M2.1 — marchwarden ask "question" command (Click CLI, pretty-print)
  2. M2.2 — marchwarden replay <trace_id> command
  3. M2.3 — First smoke test: "What are ideal crops for a garden in Utah?"