verify-hosted-mcp-checklist.mjs
sha256:65ccb454656ea5acdea0a10e559b78bcde1eb6ff753ecc2911bc99d1c3d7cadd
feat(calendar): enforce agent context tiers in retrieval AP…
Human
minor
⚠ breaking
1 day ago
| 1 | #!/usr/bin/env node |
| 2 | /** |
| 3 | * Operator / pre-flight gate for hosted MCP changes. |
| 4 | * Runs fast in-repo guards, then prints production verification steps. |
| 5 | */ |
| 6 | |
| 7 | import { spawnSync } from 'node:child_process'; |
| 8 | import { fileURLToPath } from 'node:url'; |
| 9 | import { dirname, join } from 'node:path'; |
| 10 | |
| 11 | const root = dirname(dirname(fileURLToPath(import.meta.url))); |
| 12 | |
| 13 | function run(label, command, args) { |
| 14 | console.log(`\n→ ${label}`); |
| 15 | const r = spawnSync(command, args, { cwd: root, stdio: 'inherit', shell: false }); |
| 16 | if (r.status !== 0) { |
| 17 | process.exit(r.status ?? 1); |
| 18 | } |
| 19 | } |
| 20 | |
| 21 | run('Hosted MCP schema guard (hub/gateway/mcp-hosted*.mjs)', 'npm', ['run', 'check:mcp-hosted-schema']); |
| 22 | run('Hosted MCP tools/list regression', 'node', ['--test', 'test/mcp-hosted-tools-list.test.mjs']); |
| 23 | run('Hosted MCP MetadataFacets regression', 'node', ['--test', 'test/mcp-hosted-metadata-facets.test.mjs']); |
| 24 | run('Hosted MCP prompts/list + getPrompt regression', 'node', ['--test', 'test/mcp-hosted-prompts.test.mjs']); |
| 25 | run('Hosted MCP resources R1–R3 regression', 'node', [ |
| 26 | '--test', |
| 27 | 'test/mcp-hosted-resources-r1.test.mjs', |
| 28 | 'test/mcp-hosted-resources-r3.test.mjs', |
| 29 | ]); |
| 30 | |
| 31 | console.log(` |
| 32 | --- Mandatory production gate (after EC2 deploy) --- |
| 33 | 1. On server: git pull in /opt/knowtation (or your deploy root), then: |
| 34 | pm2 restart knowtation-gateway --update-env |
| 35 | 2. In Cursor (knowtation-hosted): OAuth green; confirm tool count matches role |
| 36 | (admin: eighteen tools — see test/mcp-hosted-tools-list.test.mjs TOOLS_ADMIN; includes import, import_url, capture, transcribe, tag_suggest, cluster, backlinks, extract_tasks, relate). |
| 37 | Confirm prompts/list: twelve prompts for viewer, thirteen for editor/admin (see test/mcp-hosted-prompts.test.mjs PROMPTS_VIEWER / PROMPTS_ALL). |
| 38 | 3. Call get_metadata_facets on a known note path. Confirm schema "knowtation.metadata_facets/v0", |
| 39 | vault-relative path only, and no body, snippets, full frontmatter, labels, OCR, PageIndex, |
| 40 | media metadata, vectors, summaries, memory events, or absolute filesystem paths. |
| 41 | 4. Read resource vault-info: userId, vaultId, role match the signed-in workspace. |
| 42 | 5. If MCP log shows red / "Server not initialized" briefly after restart: Logout → Connect |
| 43 | or retry once initialize completes. |
| 44 | |
| 45 | Further context: docs/PARITY-MATRIX-HOSTED.md, docs/AGENT-INTEGRATION.md §2. |
| 46 | `); |
File History
2 commits
sha256:65ccb454656ea5acdea0a10e559b78bcde1eb6ff753ecc2911bc99d1c3d7cadd
feat(calendar): enforce agent context tiers in retrieval AP…
Human
minor
⚠
1 day ago
sha256:9103f98c89257ed2b01c237cea895dabb3e85ea337dccb1161c175e4422355b6
docs: accept Calendar Events v0 spec with Phase 0 security …
Human
1 day ago