record_entry
Record decisions, constraints, or pipelines to build durable project memory with validated required fields.
Instructions
Unified write tool: record a decision, constraint, or pipeline. Required fields by kind (validated server-side): decision needs summary/problem/why_chosen; constraint needs rule/reason; pipeline needs name/purpose/steps.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which kind of entry to record. | |
| name | No | pipeline: name. | |
| rule | No | constraint: the rule, imperative. | |
| tags | No | tags for retrieval. | |
| scope | No | constraint: 'global' or a file/module path. | global |
| steps | No | pipeline: ordered steps. | |
| origin | No | who authored this (default agent). | |
| reason | No | constraint: why it exists. Min 40 chars. | |
| problem | No | decision: what forced it. Min 40 chars. | |
| purpose | No | pipeline: why it exists. Min 40 chars. | |
| summary | No | decision: what was decided (1-2 sentences). | |
| hardness | No | constraint: absolute vs advisory. | absolute |
| tradeoffs | No | decision: what was given up. Encouraged. | |
| related_to | No | ids of related entries; get_context traverses these. | |
| supersedes | No | decision: ids of prior decisions this replaces. | |
| why_chosen | No | decision: the reasoning. Min 60 chars. | |
| constraints | No | pipeline: rules that apply. | |
| enforced_by | No | constraint: test/command that checks it (named, never run). | |
| project_dir | No | Absolute path to the target project. Creates .context/ if needed. | |
| alternatives | No | decision: options considered and why rejected. | |
| what_we_tried | No | decision: prior attempts. Encouraged. | |
| when_to_invoke | No | pipeline: triggers. Encouraged. | |
| retrieval_hints | No | 2-4 alternate phrasings for retrieval. | |
| constraints_created | No | decision: new constraints this introduces. | |
| triggering_incident | No | constraint: the incident behind it. |