Skip to content

MCP/CLI parity: list a project's docs + document set-projects (+ doc sweep)#86

Merged
fstamatelopoulos merged 3 commits into
mainfrom
feat/mcp-list-documents
Jun 9, 2026
Merged

MCP/CLI parity: list a project's docs + document set-projects (+ doc sweep)#86
fstamatelopoulos merged 3 commits into
mainfrom
feat/mcp-list-documents

Conversation

@fstamatelopoulos

Copy link
Copy Markdown
Owner

Summary

Closes two CLI↔MCP parity gaps, plus a documentation accuracy sweep.

1. List a project's documents over MCPcerefox_metadata_search's metadata_filter is now optional. Pass project_name (and/or updated_since/created_since) alone to list documents by scope (newest-updated first). At least one of metadata_filter/project_name/updated_since/created_since is still required, so it never becomes an unbounded whole-KB dump.

  • No RPC/schema change — the RPC's metadata @> '{}' already matches all rows; only the client-side guards blocked an empty filter. The cerefox-metadata-search Edge Function and the GPT Actions OpenAPI block (info.version → 1.9.0) were relaxed in lockstep. Backward compatible (existing non-empty-filter callers unaffected).

2. cerefox document set-projects <id> [names…] (with --clear) — the CLI equivalent of the cerefox_set_document_projects MCP tool (previously MCP-only). Both now share a replaceDocumentProjects core in _shared/mcp-tools/_projects.ts, so they can't drift.

3. Docs — a new CLI↔MCP parity matrix + command reference in cli.md; AGENT_GUIDE / AGENT_QUICK_REFERENCE updated (cerefox_get_help bundle regenerated); connect-agents mapping + OpenAPI; CHANGELOG; plan.md Current Focus refreshed (Iteration 30 marked done; 29/31 tracked).

4. Accuracy sweep (separate commit) — audited all repo docs and fixed genuine staleness: small-to-big threshold default (40000→20000), DOCX "dropped" → supported, cerefox version listdocument version list, "Python" dropped from a soft-delete access cell, update_if_exists "append" wording, subcommand count 28→35, analytics 7→8 charts, a historical banner on cli-web-parity-audit.md, and a real frontend/README.md.

Test plan

  • _shared unit tests: 209 pass (metadata-search refactor + new positive/negative cases; set-projects validation intact)
  • _shared typecheck clean (bun run typecheck)
  • packages/memory builds
  • cerefox document set-projects --help renders; validation guards exit 1 (no-args / name+--clear conflict)
  • cerefox_get_help bundle in sync (check_help_bundle.ts)
  • After merge: redeploy Edge Functions (cerefox server deploy --functions-only) so the cloud accepts the optional filter (EF code changed; no schema bump)

🤖 Generated with Claude Code

fstamatelopoulos and others added 3 commits June 9, 2026 15:54
…nt set-projects`

Close two CLI<->MCP parity gaps surfaced while building a CLI<->MCP parity matrix.

- cerefox_metadata_search now accepts an OPTIONAL metadata_filter: supply
  project_name (and/or a time range) alone to list documents by scope. At least
  one of metadata_filter / project_name / updated_since / created_since is still
  required, so it never becomes an unbounded whole-KB dump. No RPC/schema change
  (the RPC's `metadata @> '{}'` already match-alls); the cerefox-metadata-search
  Edge Function and the GPT Actions OpenAPI block (info.version -> 1.9.0) were
  relaxed in lockstep.
- New `cerefox document set-projects <id> [names...]` (with --clear) — the CLI
  equivalent of the cerefox_set_document_projects MCP tool. Both now share a
  replaceDocumentProjects core in _shared/mcp-tools/_projects.ts so they can't
  drift.

Docs: new CLI<->MCP parity matrix + command reference in cli.md; AGENT_GUIDE and
AGENT_QUICK_REFERENCE updated (get_help bundle regenerated); connect-agents
mapping + OpenAPI; CHANGELOG; plan.md Current Focus refreshed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Audited all repo docs after the v0.10.x cycle. Genuine staleness fixed:

- requirements-and-specs: CEREFOX_SMALL_TO_BIG_THRESHOLD default 40000 -> 20000
  (matches rpcs.sql + solution-design); FR-1.4 DOCX is SUPPORTED (beta, via
  mammoth), not "dropped in v0.7".
- solution-design: `cerefox version list` -> `cerefox document version list`.
- access-paths: drop "Python" from the soft-delete access cell (Python is a
  frozen husk, not a live write path).
- agent-coordination: `update_if_exists` REPLACES in place (not "appends") —
  reworded so agents don't expect auto-append.
- CONTRIBUTING + CLAUDE.md: CLI subcommand-file count 28 -> 35.
- README: analytics dashboard 7 -> 8 interactive charts.
- cli-web-parity-audit: add a historical-snapshot banner (its deferred gaps —
  document edit/restore, project create/edit — have since shipped).
- frontend/README: replace the stock Vite template with a Cerefox-specific one.

Research/spec docs were treated as point-in-time records and left as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nly)

Version-retention protection (`document version archive` / `unarchive`) is
deliberately exposed only to the CLI and web UI — a maintenance concern, not an
agent primitive. Reclassify it in the CLI<->MCP parity matrix from a ⚠️ gap to a
🔒 intentional non-gap (matrix row + gap-status summary).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@fstamatelopoulos fstamatelopoulos merged commit 910c2ea into main Jun 9, 2026
3 checks passed
@fstamatelopoulos fstamatelopoulos deleted the feat/mcp-list-documents branch June 9, 2026 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant