63 lines
4.9 KiB
Markdown
63 lines
4.9 KiB
Markdown
# advisory-depth (plugin split)
|
||
|
||
Root SSOT: [`rules/advisory-depth.md`](../../../../../rules/advisory-depth.md) (418줄)
|
||
|
||
본 폴더는 root rule 을 Antigravity 컨텍스트에서 lazy-load 하기 좋게 4개 sub-file 로 분할한 사본이다. 의미는 root 와 동일. 충돌 시 root 가 진실.
|
||
|
||
## 적용 대상
|
||
|
||
- Multi-file wiki 보고서 (research-lane, link-verifier, adversarial-reviewer)
|
||
- Direct-response 답변 (subagent dispatch 없이 controller 가 직접 답할 때)
|
||
- Brainstorming / design 대화 (wiki 구조, 문서 정책, taxonomy 결정)
|
||
- 개념 설명 / "explain X" 질문 (특히 `wiki/concepts/` 추출 후보)
|
||
- Plan gap reviews (`/ingest`, `/projectize`, `/interviewize`, `/blogify` 파이프라인)
|
||
- 위 어떤 작업에서든 single-finding 권고
|
||
|
||
## 핵심 메시지
|
||
|
||
> The user does not use this CLI to hear "this looks fine" or "this is a good idea". They use it for **practical engineering advice they could not produce alone**. Shallow advice is a failure even when the facts are correct.
|
||
|
||
## Sub-file index
|
||
|
||
| Sub-file | 다루는 Contract | 필독 시점 |
|
||
|---|---|---|
|
||
| [`contracts-1-causal-chain.md`](contracts-1-causal-chain.md) | Contract 1: Goal → Assumption → Problem → Action 7-field 사슬 + Why Assumption Surfacing | 모든 finding 작성 시 |
|
||
| [`contracts-2-3-4-structure.md`](contracts-2-3-4-structure.md) | Contract 2: 모든 옵션 열거 / 3: Plan Gap Detection / 4: Direct-Response Template | 비교·권고·plan 리뷰·direct answer 작성 시 |
|
||
| [`contracts-5-6-citation-grep.md`](contracts-5-6-citation-grep.md) | Contract 5: Citation Discipline (verbatim + file:line) / 6: Self-Grep Verification (실제 sed/grep 실행) | 인용 또는 quote 가 들어가는 모든 finding 작성 시 |
|
||
| [`contract-7-forbidden-words.md`](contract-7-forbidden-words.md) | Contract 7: 금지 마케팅 단어 + 외부 근거 요구 + Concept Organization Mode | 모든 advisory 응답 송신 직전 self-check |
|
||
|
||
## Antigravity-specific 메모
|
||
|
||
| 항목 | Antigravity 컨텍스트 |
|
||
|---|---|
|
||
| Contract 6 Self-Grep 실제 실행 여부 | hook 은 `$ sed -n` / `$ grep -nF` **문자열의 존재만** 검사. 진짜 실행됐는지는 검증 불가. agent 가 위조 출력을 적어도 hook 통과 — **진실성은 agent 자체 책임**. |
|
||
| Contract 7 금지어 (verbatim quote 밖) | hook G2 가 `docs/superpowers/specs/*.md` write 시 자동 enforce. 그 외 경로 / chat 본문에서는 self-check 단독. |
|
||
| Counterargument 존재 (Contract 1) | hook 미커버. agent self-check 단독. ≥1 Counterarg 없으면 finding `BLOCKED` 처리 자체가 agent 책임. |
|
||
| Plan Gap Detection (Contract 3) | hook 미커버. plan review 시 "looks fine" 응답 자체가 자동 `BLOCKED` 이지만 enforcement 없음 — self-check 단독. |
|
||
| Stop hook 한계 | chat 본문 응답은 어떤 검사도 받지 않음. Direct-Response Template (Contract 4) §1~§6 모두 self-check 로만 강제. |
|
||
|
||
## Anti-Patterns
|
||
|
||
| Pattern | Why fails | Replacement |
|
||
|---|---|---|
|
||
| "X를 추천합니다" without conditions | User cannot tell when X is wrong | Conditional recommendation: "If A → X, if B → Y" |
|
||
| One option presented, no alternatives | User cannot tell what they are giving up | Exhaustive Option Enumeration (Contract 2) |
|
||
| "성능이 떨어질 수 있다" / "고려가 필요하다" | Vague worry, not advice | Name the concrete failure mode and trigger condition |
|
||
| Listing only the user's named ordering (1→2→3) | Hides 5 other orderings | List all `N!` permutations and discuss each |
|
||
| Plan review returning "looks fine" | No advisory value | Contract 3 (gap matrix) |
|
||
| Long mermaid diagram with no per-finding analysis | Decoration, not advice | Diagrams allowed only as supplement |
|
||
| Finding without Original goal field | Cannot tell if critique or fabrication | Cite the spec/code line that states the original goal |
|
||
| Bilingual mirror response | User reads it twice | One language, the user's |
|
||
|
||
## Pre-Send Depth Check (essential 7 of 21)
|
||
|
||
송신 직전 다음 7개 확인. 전체 21 항목은 root rule §"Pre-Send Depth Check" 참조.
|
||
|
||
1. 모든 finding 이 Contract 1 의 7-field 사슬 (Original goal / Current state / Real-world assumptions / Gap / Required action / Why this action / Alternatives) 완비?
|
||
2. 모든 Original goal / Current state 가 **verbatim quote + `<path>:<line>`** (paraphrase 아닌 byte-for-byte)?
|
||
3. 모든 finding 이 최소 1개 실무 가정 + 무효 조건 + 사용자 검증 방법 포함?
|
||
4. 권고가 **조건부** (`if A → α, if B → β`)? 평탄 "추천: X" 금지?
|
||
5. 모든 finding 이 최소 1개 **Counterargument** + 검증 방법 포함? (0개면 자동 `BLOCKED`)
|
||
6. **금지 단어** (`100%`, `완벽`, `극한`, `절대로`, `최강`, `역사상 가장`, `명품`) 가 verbatim quote 밖에 등장하지 않음?
|
||
7. **Self-grep** 실제 실행 (Contract 6) — 모든 verbatim quote 에 대해 sed/grep 명령 실행 + 출력이 §7.1 에 기록됨? `V == 실제 명령 수` 일치?
|