# Contracts 2, 3, 4 — Option Enumeration / Plan Gap / Direct-Response Root SSOT: [`rules/advisory-depth.md`](../../../../../rules/advisory-depth.md) §"Contract 2~4" parent: [`README.md`](README.md) ## Contract 2 — Exhaustive Option Enumeration When the user mentions any ordering, comparison, design choice, or "how should I do X", the agent must enumerate the **full option space**, not only the option the user happens to have named. ### Rule of thumb - If the user names 1 ordering of N items, enumerate all `N!` orderings. - If the user names 1 design approach, enumerate at least the canonical alternatives (typically 3–5). - If the user asks "which library", enumerate the realistic candidates with their distinct trade-offs. - If the user describes a workflow with N steps, list which steps can be reordered, which can be parallelized, which can be skipped, and which are blocking. ### Per-option fields For each option in the enumeration: ```text - **케이스 / Case:** - **적용 상황 / When it fits:** - **고려사항 / Considerations:** - **장점 / Pros:** - **단점 / Cons:** - **비교 / Compared to others:** ``` ### Conditional recommendation (NOT flat) After enumerating, the agent provides a **conditional recommendation**: ```text - If → use