Block a user
SPA-like reader: summaries + Q&A integrated in the main view (HTMX inline-expand)
Observability: slog + Prometheus metrics (AI-focused) via middleware
Make repo the canonical arg name (demote name to alias) — advertised schema is non-idiomatic
Validate required owner/name at tool layer — empty repo arg leaks a bare 404
Per-repo MCP tools 404 — routing falls back to /api/swagger instead of /api/v1/repos/{owner}/{repo}
Root cause — parameter-name contract mismatch, not a routing fault
Not a route resolver / base-URL bug. MCP dispatch was correct the whole time.
Every per-repo tool declares the repo…
Per-repo MCP tools 404 — routing falls back to /api/swagger instead of /api/v1/repos/{owner}/{repo}
Per-repo MCP tools 404 — routing falls back to /api/swagger instead of /api/v1/repos/{owner}/{repo}
chore: add brain tunnel between gitea-mcp/failures and hyperguild/decisions notes
feat: brain_pending and brain_promote — close the curation loop for raw → wiki promotion
feat: brain_pending + brain_promote tools — close the raw→wiki curation loop
feat: DVC + MinIO experiment tracking pipeline
Experiment brief: email-triage-agent — daily multi-account Gmail digest via Gmail API + LLM scoring + ntfy
adr: define stable agent platform interface contract (execute / getEvents / emitEvent / wake / provision)