adr
Architecture decision records: the WHY behind code, anchored to a symbol/file/project. Survive reindexes; find_node attaches a node's decisions. Ops:
record: needs title+decision. Anchor with repository+symbolPath or +filePath; omit both for project-wide. Optional context, consequences, status.
list: records for a project, filter by repository/symbolPath/filePath/status.
update: needs id; status:"superseded"+supersededById, or "deprecated".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | update: record id (from adr list or find_node decisions). | |
| op | Yes | record: create a decision record. list: read records. update: amend or supersede one. | |
| limit | No | list: max records (default 20). | |
| title | No | record: short imperative title, e.g. "No pgvector". | |
| status | No | record/update: lifecycle status. | |
| context | No | Why (constraints, alternatives rejected). | |
| decision | No | record: what was decided. | |
| feedback | No | Optional: report how a previous answer worked out; piggybacks on any call. | |
| filePath | No | Anchor: repo-relative file path. | |
| projectId | No | Project id from init/list_projects. Omit for the active project. | |
| repository | No | Repository full name, e.g. "owner/repo". Omit when the project has one repository. | |
| symbolPath | No | Anchor: symbolPath as find_node / locate returns. | |
| consequences | No | Trade-offs accepted. | |
| supersededById | No | update: id of the replacement record. |