一键导入
frozen-public-contracts
How to ship diagnostics without breaking a frozen MCP/JSON contract
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
How to ship diagnostics without breaking a frozen MCP/JSON contract
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | frozen-public-contracts |
| description | How to ship diagnostics without breaking a frozen MCP/JSON contract |
| domain | release-gating, API contracts |
| confidence | high |
| source | earned — vault-sync-engine Batch 1/2 repairs |
Use this when an OpenSpec slice says a public surface is frozen (for example, an MCP tool with an exact-key test) but a new batch wants to expose more diagnostics. This pattern is for Quaid's mixed CLI + MCP surfaces, especially when src/mcp/server.rs has schema-locking tests.
If a test asserts that a JSON object has exactly N keys, the surface is frozen. Do not add fields "just for this batch" unless the OpenSpec explicitly reopens the contract, updates design/spec artifacts, and updates the exact-key test in the same patch.
When operators need more diagnostics urgently, add them to quaid collection info (plain text and --json) instead of widening frozen MCP output. CLI widening is still a public contract, but it avoids breaking agents pinned to the MCP schema.
--json are separate truth surfacesDo not mark a task closed if only the human-readable CLI output shows the new field. A #[serde(skip_serializing)] or similar omission means the JSON contract still lacks the feature.
If the implementation plan originally says "surface X in MCP + CLI" but reviewer-approved artifacts later freeze MCP, update implementation_plan.md and tasks.md to the narrowed contract before closing the task. A green checkbox must describe the accepted contract, not the superseded draft.
memory_collections frozen at 13 fields in task 13.6 + exact-key test in src/mcp/server.rsquaid collection info while MCP stayed unchangedtests/collection_cli_truth.rs updated so collection info --json proves the field is truly surfaced--jsonResolve knowledge gaps: fetch unresolved gaps, assess sensitivity, generate research queries, ingest findings, and close gaps with a resolution slug.
Interrupt-driven alerts: detect and surface new contradictions, stale pages, resolved gaps, and embedding drift. Priority-classified with deduplication.
Ingest meeting notes, articles, documents, and conversations into Quaid. Handles idempotent ingestion for exact-byte duplicates and vault-backed sync.
Keep the brain healthy: detect and resolve contradictions via the correction / supersede workflow, validate referential integrity, triage knowledge gaps, find orphaned pages, and compact the database.
Answer questions from the brain using FTS5 + semantic search + structured queries. Synthesize across multiple pages. Cite sources.
Agent-guided binary upgrades: version check, channel detection, download via install.sh (or manual asset fetch + SHA-256 verify), and post-upgrade validation.