Files
llm-wiki/.agents/plugins/wiki-superpowers/rules/reporting-standards/output-split.md
T

90 lines
4.7 KiB
Markdown

# Output Split Policy
Root SSOT: [`rules/reporting-standards.md`](../../../../../rules/reporting-standards.md) §"Output Split Policy"
parent: [`README.md`](README.md)
긴 보고서는 **파일에 분할 저장**, 터미널 dump 금지. 터미널은 네비게이션 레이어, 디스크는 깊이.
## When to split
다음 중 **하나라도 참** 이면 분할:
- in-scope 파일 수 > 3
- §4 Per-File Findings 하위섹션 수 ≥ 5
- 전체 §1~§7 응답 추정 ~10,000자 초과
- 사용자가 "save" / "저장" / "파일로" / "report" / "보고서" 라고 말함
단일 파일 / 단순 lookup / 짧은 advisory 는 분할하지 않는다 — 전체 본문 터미널 유지.
## What to save
산출물 유형별 저장 경로 + CLAUDE.md §15 게이트:
| 산출물 유형 | 저장 경로 | 게이트 |
|---|---|---|
| Multi-doc audit / research report | `docs/superpowers/specs/YYYY-MM-DD-<topic>-report.md` (+ per-file-findings) | — |
| 신규 raw 문서 | `raw/<category>/<slug>.md` | `wiki-doc-author` 또는 `wiki-source-summarizer` agent dispatch |
| Canonical 추출 (raw → wiki) | `wiki/concepts/<slug>.md` 또는 `wiki/projects/<project>/<topic>.md` | **`/ingest` 게이트만 허용** — agent 가 직접 `wiki/interview/` · `wiki/portfolio/` · `wiki/blog/` 에 작성 금지 |
| Derived (interview / portfolio / blog) | `wiki/interview/[<cat>/]<slug>.md`, `wiki/portfolio/<slug>.md`, `wiki/blog/<slug>-YYYY-MM-DD.md` | **원천 canonical status ∈ {reviewed, verified, published-ready}** 필수. 미달 시 BLOCKED |
| Adversarial review report | `docs/superpowers/specs/YYYY-MM-DD-<topic>-adversarial-review.md` | findings ≥ 5 시 권장 |
메타 보고서의 경우 **두 파일**:
1. **`<topic>-report.md`** (master) — §1 Executive Summary + §2 Evidence Matrix + §3 Coverage + §4 (한 줄 요약 + 링크) + §5 Priority + §6 Follow-Up + §7 Verification + §8 Artifacts
2. **`<topic>-per-file-findings.md`** — expanded §4 (`READ_FULL` / `READ_PARTIAL` 파일당 하위섹션, deep 템플릿)
Naming:
- `YYYY-MM-DD` = 보고서 작성일
- `<topic>` = 짧은 kebab-case slug. 예: `branch-notes-audit`, `link-integrity-audit`, `keycloak-canonical-extraction`
- 동일 이름 존재 시 `-v2`, `-v3` 접미사. 명시적 사용자 지시 없는 덮어쓰기 금지.
## Pipeline Gate Enforcement (CLAUDE.md §15)
본 rule 은 다음을 hard rule 로 강제. 위반 시 draft `BLOCKED`:
1. **`wiki/interview/` · `wiki/portfolio/` · `wiki/blog/` 직접 작성 금지** — 즉시 `NEEDS_CONTEXT` 반환. `/projectize` · `/interviewize` · `/blogify` 또는 수동 작성 전용.
2. **derived 문서 작성 전 원천 canonical status 검증 강제**`reviewed | verified | published-ready` 미만이면 BLOCKED. 응답에 `원천 <path> status: <value>` 명시 + status grep 출력 첨부.
3. **`/ingest` 목적지는 `wiki/concepts/``wiki/projects/` 만** — 다른 wiki 하위 디렉토리 ingest 금지.
4. **canonical 문서 Sources 필수**`wiki/concepts/` · `wiki/projects/` 작성 시 외부 자료 (`raw/official-docs/` · `raw/company-tech-blogs/`) wikilink 1개 이상 없으면 BLOCKED.
## What stays in the terminal
터미널은 **네비게이션 레이어만**:
```markdown
# [작업명] 보고서 — 터미널 요약
**일자:** YYYY-MM-DD
**범위:** <N개 파일>
**Verdict:** COMPLETE | PARTIAL | BLOCKED
**전체 보고서:** `docs/superpowers/specs/YYYY-MM-DD-<topic>-report.md`
**파일별 상세:** `docs/superpowers/specs/YYYY-MM-DD-<topic>-per-file-findings.md`
## 1. 한눈 요약 (전체본)
## 2. Evidence Matrix (전체본 — 행 수 많아도 매트릭스는 터미널 유지)
## 5. 우선순위 권고 (전체본)
## 6. 후속 작업 (전체본)
## 7. 검증 (실행 명령 + 결과)
```
터미널에서 생략: §3 Coverage 상세, §4 Per-File Findings 본문 (요약 한 줄만), §8 Artifacts (위 frontmatter 링크로 대체).
§4 본문을 터미널에 그대로 붙여넣어 출력을 부풀리지 않는다.
## Link format
저장 파일 경로는 워크스페이스 루트 기준 상대 경로. **절대 경로 금지**.
`docs/superpowers/specs/2026-05-23-branch-notes-audit-report.md`
`/home/donghyeon/Documents/LLM Wiki/docs/...`
## Pre-send check (split-specific)
송신 직전 다음 확인. 하나라도 실패하면 draft 폐기:
1. 두 파일이 실제로 디스크에 쓰였는가? (Write 도구 실행 결과 확인)
2. 터미널 본문에 두 파일의 상대 경로 링크 포함?
3. 터미널 본문에 §4 Per-File Findings 상세 미포함? (요약 한 줄만 허용)
4. 두 파일이 §1~§7 (master) / §4 expanded (per-file) 각자 자기 위치에서 완비?
5. 두 파일 헤더 frontmatter (일자, 범위, Verdict) 서로 일치?