TODOs & Roadmap

TODOs

Phase 2: Write Endpoints ✅ COMPLETE

  • POST /case-studies/incidents — scaffold INC- per STD-011

  • POST /case-studies/changes — scaffold CR- per STD-005

  • POST /case-studies/rcas — scaffold RCA per STD-010

  • POST /projects — scaffold STD-001 project

  • Pydantic models for all create requests with validation

  • PATCH /projects/{slug}/status — update project status

Full Coverage ✅ COMPLETE

  • 39 GET endpoints — every content category (21/21 pages + partials + examples)

  • education, portfolio, reference, templates, api-hub, objectives, discoveries, runbooks, meta, drafts, trackers, partials, examples

  • validate.sh — tests all 43 endpoints against live server + cleanup

  • Architecture doc updated with full 43-endpoint table

Demo & Presentation ✅ COMPLETE

  • demo.sh — all 43 endpoints with pause between each

  • demo-cleanup.sh — removes all artifacts after demo (pattern: demo)

  • Architecture documentation — the case for documentation as API

Infrastructure ✅ COMPLETE

  • Create CLAUDE.md for domus-api repository

  • Filter STD-NNN template from /standards endpoint

  • Add tests (pytest + httpx) — 48 tests, 0.3s

  • PATCH /projects/{slug}/status endpoint

  • FastAPI dependency injection refactor (Depends pattern)

  • Cache invalidation for POST endpoints (add_page/add_partial)

  • API CLI Mastery curriculum (codex/fastapi/api-cli-mastery)

  • Add to dots-quantum stow packages

  • Update validate.sh for PATCH endpoint (44th check)

Phase 3: Ollama Integration

  • services/embedding.py — vectorize docs at startup via Ollama /api/embeddings

  • services/rag.py — cosine similarity retrieval + context assembly + completion

  • routes/ask.py — GET /ask?q="natural language question"

  • Config: ollama_url, ollama_model, embedding_model in Settings

  • Response includes source documents (provenance)

Phase 4: Multi-Spoke

  • spoke_roots: list[Path] in Settings

  • DocumentCache accepts multiple roots, tags documents with component field

  • GET /components — list loaded spokes with counts

  • Search gains component filter parameter

Phase 5: Automation

  • services/watcher.py — watchfiles background task in lifespan

  • routes/webhooks.py — webhook registration + dispatch

  • services/events.py — event bus (document_created, incident_resolved → auto-RCA)

  • systemd service unit file (domus-api.service)

  • Tailscale ACL — restrict to authorized devices