90 lines
4.7 KiB
Markdown
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) 서로 일치?
|