Manage assumptions: $ARGUMENTS
Commands
Parse the first word of $ARGUMENTS to determine the command:
list — Show all tracked assumptions
- Read all
.assumptions/*.jsonl files
- Parse each line as a JSON record
- Display sorted by confidence (lowest first) or staleness (oldest verification first)
- Format as a table: ID | Category | Claim | Confidence | Last Verified | Status
add — Register a new assumption
Parse remaining arguments for: --category, --claim, --evidence, --source
Create a new assumption record in .assumptions/registry.jsonl:
{
"id": "<category>-<short-slug>",
"category": "<api|dependency|behavior|environment|tooling>",
"claim": "<what we assume to be true>",
"evidence": "<what supports this assumption>",
"source": "<where this was discovered>",
"confidence": 0.8,
"created": "<ISO 8601>",
"last_verified": "<ISO 8601>",
"verification_method": "<how to test this>",
"failure_history": [],
"status": "active",
"blast_radius": "<what breaks if this assumption is wrong>"
}
verify — Re-verify an assumption
- Read the assumption record by ID
- Execute the verification method (may involve web search, API calls, or code checks)
- Update
last_verified timestamp and confidence score
- If verification fails, add to
failure_history and reduce confidence
- If confidence drops below 0.3, mark status as
suspect and warn
stale — Show assumptions that need re-verification
- Read all assumption records
- Filter to those where
last_verified is more than 14 days ago
- Sort by blast_radius (highest first)
- Display with suggested verification actions
seed — Seed registry from MEMORY.md gotchas
- Read MEMORY.md
- Extract entries from "Gotchas", "Known Bugs", and "MCP Knowledge API Gotchas" sections
- For each entry, create an assumption record with:
- category: inferred from content (api, dependency, behavior, etc.)
- claim: the gotcha statement
- evidence: "Discovered empirically" + date from MEMORY.md
- confidence: 0.9 (verified by experience)
- verification_method: suggested test
Schema
Each assumption record:
| Field |
Type |
Required |
Description |
| id |
string |
yes |
Unique identifier (category-slug format) |
| category |
enum |
yes |
api, dependency, behavior, environment, tooling |
| claim |
string |
yes |
What we assume to be true |
| evidence |
string |
yes |
What supports this claim |
| source |
string |
yes |
Where this was discovered (session, test, docs) |
| confidence |
float |
yes |
0.0 to 1.0 confidence score |
| created |
string |
yes |
ISO 8601 creation timestamp |
| last_verified |
string |
yes |
ISO 8601 last verification timestamp |
| verification_method |
string |
no |
How to re-test this assumption |
| failure_history |
array |
no |
Past verification failures with timestamps and details |
| status |
enum |
yes |
active, suspect, retired, verified |
| blast_radius |
string |
no |
What breaks if this assumption is wrong |
| dependencies |
array |
no |
Other assumptions this depends on |
Output
Always end with a summary:
## Assumption Registry Status
Total: {N} assumptions
Active: {N} | Suspect: {N} | Retired: {N}
Stale (>14 days): {N}
Highest blast radius unverified: {assumption_id}
1---2name: assumptions3description: Manage the assumption registry — track, verify, and query assumptions about external dependencies and system behavior. Prevents costly rediscovery of known failures.4---56Manage assumptions: $ARGUMENTS78## Commands910Parse the first word of $ARGUMENTS to determine the command:1112### `list` — Show all tracked assumptions131. Read all `.assumptions/*.jsonl` files142. Parse each line as a JSON record153. Display sorted by confidence (lowest first) or staleness (oldest verification first)164. Format as a table: ID | Category | Claim | Confidence | Last Verified | Status1718### `add` — Register a new assumption19Parse remaining arguments for: `--category`, `--claim`, `--evidence`, `--source`2021Create a new assumption record in `.assumptions/registry.jsonl`:2223```json24{25 "id": "<category>-<short-slug>",26 "category": "<api|dependency|behavior|environment|tooling>",27 "claim": "<what we assume to be true>",28 "evidence": "<what supports this assumption>",29 "source": "<where this was discovered>",30 "confidence": 0.8,31 "created": "<ISO 8601>",32 "last_verified": "<ISO 8601>",33 "verification_method": "<how to test this>",34 "failure_history": [],35 "status": "active",36 "blast_radius": "<what breaks if this assumption is wrong>"37}38```3940### `verify` — Re-verify an assumption411. Read the assumption record by ID422. Execute the verification method (may involve web search, API calls, or code checks)433. Update `last_verified` timestamp and `confidence` score444. If verification fails, add to `failure_history` and reduce confidence455. If confidence drops below 0.3, mark status as `suspect` and warn4647### `stale` — Show assumptions that need re-verification481. Read all assumption records492. Filter to those where `last_verified` is more than 14 days ago503. Sort by blast_radius (highest first)514. Display with suggested verification actions5253### `seed` — Seed registry from MEMORY.md gotchas541. Read MEMORY.md552. Extract entries from "Gotchas", "Known Bugs", and "MCP Knowledge API Gotchas" sections563. For each entry, create an assumption record with:57 - category: inferred from content (api, dependency, behavior, etc.)58 - claim: the gotcha statement59 - evidence: "Discovered empirically" + date from MEMORY.md60 - confidence: 0.9 (verified by experience)61 - verification_method: suggested test6263## Schema6465Each assumption record:6667| Field | Type | Required | Description |68|-------|------|----------|-------------|69| id | string | yes | Unique identifier (category-slug format) |70| category | enum | yes | api, dependency, behavior, environment, tooling |71| claim | string | yes | What we assume to be true |72| evidence | string | yes | What supports this claim |73| source | string | yes | Where this was discovered (session, test, docs) |74| confidence | float | yes | 0.0 to 1.0 confidence score |75| created | string | yes | ISO 8601 creation timestamp |76| last_verified | string | yes | ISO 8601 last verification timestamp |77| verification_method | string | no | How to re-test this assumption |78| failure_history | array | no | Past verification failures with timestamps and details |79| status | enum | yes | active, suspect, retired, verified |80| blast_radius | string | no | What breaks if this assumption is wrong |81| dependencies | array | no | Other assumptions this depends on |8283## Output8485Always end with a summary:8687```88## Assumption Registry Status8990Total: {N} assumptions91Active: {N} | Suspect: {N} | Retired: {N}92Stale (>14 days): {N}93Highest blast radius unverified: {assumption_id}94```