Puts the ledger in the agent's hands: a tool to check whether an idea was already decided before proposing it, a tool to record a new decision, and a briefing of everything already rejected to prepend to the agent's instructions.

## TLDR

- Checking an idea returns the matching prior decisions with their reasons; a rejected match means "do not re-propose this".
- Recording appends to the ledger and can persist it right away, so the next session remembers.
- The briefing lists every rejected idea as "do not propose again unless the user reopens the question"; it is empty when nothing was rejected yet.

## Before writing SPEC.md files

Read https://raw.githubusercontent.com/brillout/sdd/refs/heads/main/sdd.md
