Record Decision
arch_record_decisionRecord non-obvious architectural decisions; a similarity gate flags duplicates or related choices before writing.
Instructions
Record an architectural decision. Use when you pick a library, pattern, or boundary that wasn't obvious. The server runs a similarity gate against existing decisions in the group; possible outcomes:
created: a new decision was written.duplicate: a nearly identical decision already exists — nothing is written. Ask the user why arch_context did not surface it earlier.similar: a related decision exists — nothing is written. To explicitly replace it, re-call withsupersedesset to its id; otherwise sharpen the wording. Passingsupersedesbypasses the gate and marks the named prior decision as superseded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | Target group | |
| scope | No | global | |
| title | Yes | Short imperative title — e.g. "Use qwen3-embedding-0.6b for arch-layer text embeddings". | |
| context | Yes | One sentence: the problem that forced the decision. | |
| project | No | Optional. Project this decision is scoped to (same value the indexer uses in `payload.project`). Omit for decisions that apply across all projects in the group. | |
| decision | Yes | One sentence: what was chosen. | |
| supersedes | No | Id of a previous decision this one replaces. Bypasses the duplicate gate — pass only when you are deliberately replacing a known prior decision. | |
| consequences | Yes | Markdown bullet list, 2-5 items. Each item is one sentence: a consequence, a trade-off, or a required follow-up. | |
| alternatives_rejected | No | Markdown bullet list, one per rejected alternative: - **<option name>:** why rejected (one sentence) - **<option name>:** why rejected (one sentence) Use an empty string only if no real alternatives were considered. |