docs: 문서 재정리 — historical 223개 압축/삭제 + DOCS.md SoT 지도 (md 268→66) #225

Merged
altair823 merged 8 commits from docs/reorg into main 2026-06-27 12:57:09 +00:00
Owner

요약

여러 세션 누적으로 ~268개 md 로 불어난 문서를 재구조화·압축해, "현재 코드베이스의 진실(SoT)이 뭔지, 어느 문서가 최신인지"를 즉시 알 수 있게 한다. 사용자 지침: stale·outdated 정보 최대한 감축, diverged 과거 문서 destructive 허용, durable 내용은 삭제 전 living 문서로 흡수(안전망), 원본은 git history 보존.

5-에이전트 전수 분석 → 방안 C(max-compress) 승인 → 7-phase 실행. md 문서 268 → 66 (−202), −81,677줄.

설계: docs/superpowers/specs/2026-06-27-doc-reorg-design.md

무엇이 바뀌나

신규 (SoT 명확화)

  • DOCS.md (root) — 문서 지도: "알고 싶은 것 → 어느 문서가 진실" 표 + 구역(living/계약/증거) 맵. 사용자 1순위 pain 직접 해소.
  • CHANGELOG.md (root) — release 변경 이력 인덱스.

삭제 (223개, git history 보존)

  • docs/superpowers/plans/ (64) · handoffs/ (8) · poc/+research/ (3) — 머지 완료 작업의 실행/측정 스캐폴딩 (durable 0 또는 HOTFIXES 에 이미 있음).
  • tasks/p0..p10/ (86) · docs/superpowers/specs/ feature specs (55) — 작업/feature 설계, 코드+HOTFIXES+ARCHITECTURE 가 대체.
  • docs/spec/ 스텁 (7) — 오펀 포인터(inbound 0).

durable 보존 (삭제 전 흡수 — 안전망)

  • ARCHITECTURE §핵심 구현 불변식 신설: VectorStore upsert 원자성 · RAG score-gate/budget · md-heading-v2 우선순위 · chunk_id 충돌 회피 · PDF OCR 엔진 근거 (전부 현재 코드 대조 검증).
  • CLAUDE.md §Allowed/forbidden deps: 86 spec 에 흩어진 경계를 crate-group 표 1개로 통합 (Cargo.toml 검증).

슬림 (stale 제거)

  • HANDOFF.md 181→45줄 (한 줄 요약이 v0.18.0 이었음 → 현재 v0.32.0 phase 대시보드).
  • tasks/INDEX.md 185→40줄 (삭제될 spec 으로 82 링크 → per-component 상태 표).
  • component README 12개: 깨질 task-spec 링크 정리 + 흡수 crate(normalize/parse-types) 참조 정정.
  • CLAUDE.md: §Spec contract 재작성 + 3구역·"historical 누적 금지" 정책 명문화(재발 방지).

유지

  • 설계 계약 2026-04-27-final-form-design.md (frozen, 유일 계약) + 본 doc-reorg spec.
  • 모든 living(README/ARCHITECTURE/HANDOFF/HOTFIXES/INDEX/components/wire-schema/DOGFOOD/SMOKE/mcp-usage) · release-notes(load-bearing) · 증거(dogfood/v0.18.0, rust_report).

검증

  • kept 문서 깨진 markdown 링크 0 (전수 스캔 — python 으로 모든 링크 타깃 존재 확인).
  • 트리: docs/superpowers/ = specs 2개, tasks/p*/ 없음, 스텁 없음.
  • durable 4건 ARCHITECTURE 존재, 의존성 표 CLAUDE 존재.
  • 복구 가능: git log --all -- <path> / git checkout <sha> -- <path>.

비범위

  • 코드 0 변경 (문서 only). 빌드 무관.
  • HOTFIXES 본문 보존 (live 진실 — 삭제 파일로의 inline breadcrumb 은 DOCS.md 가 "git history" 로 안내, broken link 아님).
  • frozen 설계 계약 무변경.

시험 항목 (Test Plan)

  • DOCS.md 하나로 "현재 진실/최신/계약/증거" 식별 가능.
  • kept 문서에서 깨진 링크 클릭 안 됨(0건 확인).
  • git log --all -- docs/superpowers/plans/ 로 삭제 원본 복구 가능.

Assisted-by: Claude Code

## 요약 여러 세션 누적으로 ~268개 md 로 불어난 문서를 **재구조화·압축**해, "**현재 코드베이스의 진실(SoT)이 뭔지, 어느 문서가 최신인지**"를 즉시 알 수 있게 한다. 사용자 지침: stale·outdated 정보 최대한 감축, diverged 과거 문서 destructive 허용, **durable 내용은 삭제 전 living 문서로 흡수**(안전망), 원본은 git history 보존. 5-에이전트 전수 분석 → 방안 C(max-compress) 승인 → 7-phase 실행. **md 문서 268 → 66 (−202), −81,677줄.** 설계: `docs/superpowers/specs/2026-06-27-doc-reorg-design.md` ## 무엇이 바뀌나 **신규 (SoT 명확화)** - **`DOCS.md`** (root) — 문서 지도: "알고 싶은 것 → 어느 문서가 진실" 표 + 구역(living/계약/증거) 맵. 사용자 1순위 pain 직접 해소. - **`CHANGELOG.md`** (root) — release 변경 이력 인덱스. **삭제 (223개, git history 보존)** - `docs/superpowers/plans/` (64) · `handoffs/` (8) · `poc/`+`research/` (3) — 머지 완료 작업의 실행/측정 스캐폴딩 (durable 0 또는 HOTFIXES 에 이미 있음). - `tasks/p0..p10/` (86) · `docs/superpowers/specs/` feature specs (55) — 작업/feature 설계, 코드+HOTFIXES+ARCHITECTURE 가 대체. - `docs/spec/` 스텁 (7) — 오펀 포인터(inbound 0). **durable 보존 (삭제 전 흡수 — 안전망)** - ARCHITECTURE §핵심 구현 불변식 신설: VectorStore upsert 원자성 · RAG score-gate/budget · md-heading-v2 우선순위 · chunk_id 충돌 회피 · PDF OCR 엔진 근거 (전부 **현재 코드 대조 검증**). - CLAUDE.md §Allowed/forbidden deps: 86 spec 에 흩어진 경계를 crate-group 표 1개로 통합 (Cargo.toml 검증). **슬림 (stale 제거)** - `HANDOFF.md` 181→45줄 (한 줄 요약이 v0.18.0 이었음 → 현재 v0.32.0 phase 대시보드). - `tasks/INDEX.md` 185→40줄 (삭제될 spec 으로 82 링크 → per-component 상태 표). - component README 12개: 깨질 task-spec 링크 정리 + 흡수 crate(normalize/parse-types) 참조 정정. - CLAUDE.md: §Spec contract 재작성 + 3구역·"historical 누적 금지" 정책 명문화(재발 방지). ## 유지 - 설계 계약 `2026-04-27-final-form-design.md` (frozen, 유일 계약) + 본 doc-reorg spec. - 모든 living(README/ARCHITECTURE/HANDOFF/HOTFIXES/INDEX/components/wire-schema/DOGFOOD/SMOKE/mcp-usage) · release-notes(load-bearing) · 증거(dogfood/v0.18.0, rust_report). ## 검증 - **kept 문서 깨진 markdown 링크 0** (전수 스캔 — python 으로 모든 링크 타깃 존재 확인). - 트리: `docs/superpowers/` = specs 2개, `tasks/p*/` 없음, 스텁 없음. - durable 4건 ARCHITECTURE 존재, 의존성 표 CLAUDE 존재. - 복구 가능: `git log --all -- <path>` / `git checkout <sha> -- <path>`. ## 비범위 - 코드 0 변경 (문서 only). 빌드 무관. - HOTFIXES 본문 보존 (live 진실 — 삭제 파일로의 inline breadcrumb 은 DOCS.md 가 "git history" 로 안내, broken link 아님). - frozen 설계 계약 무변경. ## 시험 항목 (Test Plan) - [ ] `DOCS.md` 하나로 "현재 진실/최신/계약/증거" 식별 가능. - [ ] kept 문서에서 깨진 링크 클릭 안 됨(0건 확인). - [ ] `git log --all -- docs/superpowers/plans/` 로 삭제 원본 복구 가능. Assisted-by: Claude Code
altair823 added 8 commits 2026-06-27 12:52:37 +00:00
여러 세션 누적으로 ~268개로 불어난 문서를 3 병렬 explorer 로 전수 특성화한 뒤
재정리 설계. 코어(living+frozen)는 건강하고 SoT 도 territory 별로 정의돼 있으나
단일 지도 부재 + historical 아티팩트(plans 64·handoffs 8) 가 트리에 섞임.

설계(방안 B): 3구역 분리(living/frozen/archive) + root DOCS.md SoT 지도 신설 +
오펀 stub 7 삭제 + release-notes 9→CHANGELOG.md 통합 + historical 을
docs/archive/ 로 git mv + stale 컴포넌트 README 2건 수정 + CLAUDE.md §docs 갱신.
frozen specs/tasks 는 거버넌스 앵커라 무변경(이동 전 frozen→대상 링크 grep gate).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
초안의 archive-이동 안은 폐기(frozen 끼리 결합도 높아 이동이 무결성 깸).
사용자 지침("stale 최대한 줄이기, diverged 과거 문서 destructive 허용,
durable 은 삭제 전 living 흡수")을 반영.

5-에이전트 전수 분석 근거로 확정 범위(C):
- 삭제(~220, git 보존): plans 64 + handoffs 8 + 스텁 7 + tasks/p* 86 + feature specs 55
- 유지: 설계 계약(2026-04-27) + 본 spec + 모든 living + release-notes + 증거
- 추출(안전망): durable 4건(LanceDB upsert/RAG score-gate/PDF chunk_id 충돌/
  heading 우선순위) → ARCHITECTURE, 의존성 경계표 → CLAUDE.md
- DOCS.md(SoT 지도)·CHANGELOG.md 신설, HANDOFF/INDEX/HOTFIXES/components 슬림

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
doc-reorg(C) Phase 1: 삭제 예정 task spec 의 비자명 durable invariant 를
현재 코드 대조 검증 후 living 문서로 흡수(안전망).

ARCHITECTURE §핵심 구현 불변식 신설:
- VectorStore upsert 순서/원자성 (SQLite-first 3-state → Lance, committed 필터)
- RAG score-gate + context/completion budget (독립 계산, provenance 헤더 drift)
- md-heading-v2 청킹 우선순위 (Phase1 v1-동등 + Phase2 oversize 후처리)
- chunk_id 충돌 회피 split-key variant (pdf #c / code #L / md #seg)
- PDF OCR 엔진 PoC 근거 (single-binary → qwen2.5vl, 측정표는 git history)

CLAUDE.md §Allowed/forbidden deps: 86 task spec 에 흩어진 경계를 crate-group
표 1개로 통합(Cargo.toml 대조 검증), task-spec 참조 제거.

stale 경로(/build/dogfood) dogfood 스케일·latency 측정은 resurrect 안 함.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
doc-reorg(C) Phase 2:
- DOCS.md (root): "알고 싶은 것 → SoT" 표 + 구역(living/계약/증거) 맵 +
  "삭제된 historical = git history, durable 은 living 흡수" 선언 + 재발방지 원칙.
  → 사용자 1순위 pain("뭐가 최신/진실인지") 직접 해소.
- CHANGELOG.md (root): release-notes 9개 역순 인덱스 + gitea 링크,
  미문서화 구간(v0.1~v0.19/v0.21~v0.27)은 Gitea releases 참조 명시.
- README 상단에 DOCS.md 포인터 1줄.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
doc-reorg(C) Phase 4a: 둘 다 심하게 stale(HANDOFF "한 줄 요약" v0.18.0 ·
이미 ship 된 fb-41 을 "미구현"으로 · v0.20 priorities 장기 closed; INDEX 는
삭제될 task spec 으로 82 markdown 링크 + 옛 버전 스탬프).

- HANDOFF 181→45줄: 현재 phase 표(흡수된 crate 반영) + 최근 마일스톤 포인터
  (dated 로그는 HOTFIXES/CHANGELOG/git) + 현재 다음-task 후보(P8/P9-5).
- INDEX 185→40줄: per-component 상태 표(spec 링크 제거) + HOTFIXES/CHANGELOG/
  설계계약 포인터. 옛 task spec 은 git history 안내.

durable 정보 손실 0(전부 HOTFIXES/CHANGELOG/ARCHITECTURE/code/git 에 있음).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
doc-reorg(C) Phase 4b+5:
- CLAUDE.md: doc-list 에 DOCS.md/CHANGELOG 추가 + zones(living/계약/증거) 정책 +
  "새 plan/handoff/per-feature spec 누적 금지(결정→HOTFIXES, 구조→ARCHITECTURE,
  릴리스→CHANGELOG)" 명문화. §Spec contract 재작성(task spec 삭제 반영: 유일
  frozen 계약 = 설계 doc, 구현 진실 = 코드). stale per-task-spec 참조 정정.
- docs/components/*/README.md (12): 삭제될 tasks/p*/ task-spec markdown 링크
  제거/plain-text 화 + 흡수된 crate(kebab-normalize→parse-md::normalize,
  kebab-parse-types→parse-md::types) 참조 정정.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
doc-reorg(C) Phase 6: 사용자 지침("stale 최대한 줄이기, diverged 과거 문서
destructive 허용")에 따라 머지 완료 작업의 historical 스캐폴딩 제거.

삭제 (git rm, history 보존):
- docs/superpowers/plans/ (64) — worker 실행 스캐폴딩, durable 0
- docs/superpowers/handoffs/ (8) — 측정 기록, durable 은 HOTFIXES 에 있음
- docs/superpowers/{poc,research}/ (3) — OCR PoC 비교 + 제거된 expansion 연구
- docs/spec/ (7) — 설계 계약으로 향하는 오펀 스텁(inbound 0)
- tasks/p0..p10/ (86) — 작업별 frozen 계약, 코드+HOTFIXES 가 대체
- docs/superpowers/specs/ feature specs (55) — feature 설계, 코드+ARCHITECTURE 대체

유지:
- docs/superpowers/specs/ = 설계 계약(2026-04-27) + 본 doc-reorg spec 2개만
- tasks/ = INDEX/HOTFIXES/_template/phase-* (living)
- durable invariant 4건 → ARCHITECTURE, 의존성 경계표 → CLAUDE (Phase 1 에서 흡수 완료)

복구: git log --all -- <path> / git checkout <sha> -- <path>.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
doc-reorg(C) Phase 7:
- v0.20.1-draft.md: 삭제된 korean-morphological spec/plan markdown 링크 2건 →
  plain text(git history 안내).
- parse/README.md: `kebab-parse-md → kebab-parse-types` dep 라인 정정
  (parse-types 는 v0.19.0 에 parse-md::types 모듈로 흡수, 별도 crate 아님).

검증: kept 문서 깨진 markdown 링크 0, 트리(superpowers=specs 2개·tasks/p* 없음·
스텁 없음), ARCHITECTURE durable 섹션 존재. md 문서 268 → 66.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
altair823 merged commit 60c9c56094 into main 2026-06-27 12:57:09 +00:00
altair823 deleted branch docs/reorg 2026-06-27 12:57:11 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: altair823-org/kebab#225