Add missing regression tests for MCP hot-load fail-closed gates that never landed from #330, plus persisted message content parsing from this week's extract.
_2/_3 instead of overwriting each other, and a failed multi-server refresh closes only the connections created in that attempt.workspace:/global: refs fail closed; allowlists are trimmed and deduped.sha256: hashes, and ./../ / absolute source paths are rejected before install.project|global; plugins accept only workspace|user. Marketplace add/remove and skill-improvement restore reject blanks and extras.contentText trims strings, joins text/inputText parts, and ignores non-textual values so hydration/projection cannot invent transcript text.test/mcp.cache.test.ts (updated)test/mcp.deferred-tools.test.ts (updated)test/agent-profile-schema.test.ts (added)test/plugins.marketplace-parse.test.ts (added)test/jsonrpc.skills-plugins-marketplace-schema-rejects.test.ts (added)test/shared.message-content.test.ts (added)MCP hot-load, profile refs, and marketplace source paths are shared harness gates. A silent overwrite of colliding MCP tools, an early task-complete after abort, or a marketplace path that escapes its root would leak across sessions and clients. contentText is the single parser for persisted model-message content; a wrong join or fallback would corrupt snapshots and reconnect hydration. The new tests lock the fail-closed behavior without changing production code.
bun run check, bun run typecheck, bun run docs:check: cleanbun run test: new files that reached the runner passed in-suite (agent-profile-schema, jsonrpc.skills-plugins-marketplace-schema-rejects). Isolated runs also passed for mcp.cache, mcp.deferred-tools, plugins.marketplace-parse, and shared.message-content.Sign in to comment.
Update README.md
#125 mobile-fixes ← main
Updated 4 months ago
test: cover MCP collisions, profile refs, and content parsing
#333 main ← cursor/missing-test-coverage-e2c1
Updated 2 weeks ago