record_decision
Record an architectural decision with context, tags, and optional locking to prevent reverts across sessions and IDEs.
Instructions
Record one architectural decision. Set do_not_revert=true to lock it across sessions and IDEs. Returns {decision_id, session_id}. To change it later use supersede_decision (preserves the audit trail) or set_decision_flag (toggle do_not_revert / tags).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional list of tag strings (e.g. ["security", "auth"]). Surfaces in list_decisions / list_tags filters. | |
| force | No | If true, skip the implicit `check_conflict` duplicate/conflict warning step. Use when you've already reviewed a conflict and want to record anyway. | |
| symbol | No | Optional function/class name within file_path to scope the decision to (e.g. "login"). With do_not_revert, the lock then blocks only edits INSIDE that symbol; edits elsewhere in the file warn instead. Requires file_path. | |
| context | No | Why this won (alternatives, what would force re-examination) | |
| decision | Yes | The decision itself (1 sentence is fine) | |
| file_path | No | Optional file/path the decision pertains to | |
| session_id | No | Optional session id to attach to (auto-generated if omitted) | |
| do_not_revert | No | If true, mark the decision as protected — future sessions will see do_not_revert=true and must NOT propose changes that conflict without surfacing this decision to the user first. Default false. |