Local-first context and coordination for people working across AI tools.
ContextPact defines 21 tools with consistent verb_noun naming (context_*, task_*, agent_*, session_*, handoff_*, workspace_*). All tools have descriptions (avg ~100 chars) and Zod-validated input schemas with type constraints. However, descriptions are terse and lack WHEN/WHY guidance. Output schemas are not documented, responses return structuredContent but no schema definition is visible. Error handling is basic (try/catch with error.message). Parameter descriptions are present but minimal (e.g., 'Optional workspace directory path' lacks format/constraint details). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Composition is sound, tools chain via IDs, but some tools combine multiple concerns (workspace_export + workspace_import, workspace_backup + workspace_restore).
Register an agent or client in the workspace coordination system.
Approve a proposed context item through the approval gate. Available only to elevated or human profiles.
Archive a context item when no longer relevant.
Retrieve a context item by its ID, including superseded or archived items.
Retrieve the deterministic token-budgeted context pack of approved knowledge.
Propose a durable context item or operational state for the local workspace.
Search workspace knowledge using SQLite FTS5 full-text search.
Output schemas not documented. Tools return structuredContent but no schema definition is visible in code. LLMs cannot plan downstream calls or extract fields reliably.
Tool descriptions lack WHEN/WHY guidance. Descriptions state WHAT (e.g., 'Propose a durable context item') but not WHEN to use it vs similar tools or what prerequisites exist. Avg description ~100 chars; baseline is 194 chars.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
Inspect whether a local ContextPact workspace is initialized.
Propose an architectural or product decision for durable knowledge in the workspace.
Create a handoff record to coordinate work transfer between agents.
Resume a handoff and record the outcome of work transfer.
End an active coordination session.
Start a new coordination session for an agent.
Create a coordination task in the workspace.
Retrieve the current status of a coordination task.
Update the status of a coordination task.
Create a backup of the workspace including markdown and database stores.
Diagnose and repair workspace health issues including schema version and index integrity.
Export the entire workspace including all context items, tasks, and audit history.
Import workspace data from an export file with collision handling.
Restore a workspace from a backup archive.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are marked with Risk levels (READ_ONLY, WRITE, DESTRUCTIVE) in metadata but not exposed via MCP annotations. LLMs cannot infer safety properties.
Parameter descriptions are minimal. E.g., 'Optional workspace directory path' lacks format, default behavior, or constraint details. Baseline is 72 chars per param; most here are 30-50 chars.
Error handling is basic. Catch blocks return error.message as plain text. No recovery guidance (e.g., 'Try search_* first'), no error classification (retryable vs user-fixable), no actionable next steps.