docs: ATP 카테고리로 기존 문서 이관
기존 Docs/ 프로젝트 고유 구조(Decisions/Features/Plans/Rules/Troubleshooting/ WorkDone + 루트 loose)를 ATP 표준 카테고리로 git mv 이관 (이력 보존). - adr: Dashboard_Architecture_gRPC - domain: subscription_tiers - development: Graphify_Setup_Guide, i18n_guidelines, Design_Principles - security: security_guidelines - issues: Troubleshooting 2건 - architecture: 구조문서 3 + 구현된 Plans 11 - backlog: Feature_Roadmap (미래 로드맵) - work-log: WorkDone 30건 - 카테고리 index 14개 + 루트 index.md ATP 구조 재작성 - 내부 링크 14건 수정 + database-schema prisma 경로 선재결함 정정 (../prisma → ../../packages/db/prisma) - verification-strategies.md 깨진 번들 링크 2건 정리 - lock 잔재 Docs/.!97170!index.md 제거 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0cc7c91629
commit
7cb2045ea2
|
|
@ -0,0 +1,54 @@
|
||||||
|
---
|
||||||
|
phase: documentation
|
||||||
|
agent: documentation-advisor
|
||||||
|
agent_version: 1
|
||||||
|
generated_at: 2026-06-17T11:29:33+09:00
|
||||||
|
concerns: []
|
||||||
|
concerns_checked: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# 문서화 보고
|
||||||
|
|
||||||
|
## 작성/수정된 문서
|
||||||
|
|
||||||
|
| 경로 | 카테고리 | 유형 | 링크 추가한 index | 교차 링크 |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| Docs/index.md | 루트 | 재작성 (ATP 카테고리 구조) | — | 전 카테고리 index.md 교차 링크 |
|
||||||
|
| Docs/adr/index.md | adr | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/architecture/index.md | architecture | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/development/index.md | development | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/backlog/index.md | backlog | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/domain/index.md | domain | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/issues/index.md | issues | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/security/index.md | security | 갱신 | Docs/index.md | — |
|
||||||
|
| Docs/work-log/index.md | work-log | 갱신 (30건 날짜 내림차순) | Docs/index.md | — |
|
||||||
|
| Docs/analysis/index.md | analysis | 갱신 ("현재 등록된 문서 없음") | Docs/index.md | — |
|
||||||
|
| Docs/changes/index.md | changes | 갱신 ("현재 등록된 문서 없음") | Docs/index.md | — |
|
||||||
|
| Docs/contracts/index.md | contracts | 갱신 ("현재 등록된 문서 없음") | Docs/index.md | — |
|
||||||
|
| Docs/maintenance/index.md | maintenance | 갱신 ("현재 등록된 문서 없음") | Docs/index.md | — |
|
||||||
|
| Docs/feedback/index.md | feedback | 갱신 ("현재 등록된 문서 없음") | Docs/index.md | — |
|
||||||
|
| Docs/usage/index.md | usage | 갱신 ("현재 등록된 문서 없음") | Docs/index.md | — |
|
||||||
|
| Docs/work-log/2026-03-27_Voice_Channels_Implementation.md | work-log | 링크 수정 (2건) | — | issues/ 교차 링크 수정 |
|
||||||
|
| Docs/work-log/2026-04-20_Monorepo_Migration_And_gRPC_Test.md | work-log | 링크 수정 (1건) | — | adr/ 교차 링크 수정 |
|
||||||
|
| Docs/architecture/database-schema.md | architecture | 링크 수정 (2건) | — | prisma/ 경로 깊이 조정 |
|
||||||
|
| Docs/backlog/Feature_Roadmap.md | backlog | 링크 수정 (4건) | — | architecture/ 교차 링크 수정 |
|
||||||
|
| Docs/architecture/Audit_Channel_Plan.md | architecture | 링크 수정 (1건) | — | backlog/ 교차 링크 수정 |
|
||||||
|
| Docs/architecture/Event_Schedule_Management_Plan.md | architecture | 링크 수정 (1건) | — | backlog/ 교차 링크 수정 |
|
||||||
|
| Docs/architecture/YouTube_Music_Playback_Plan.md | architecture | 링크 수정 (1건) | — | backlog/ 교차 링크 수정 |
|
||||||
|
|
||||||
|
## 작업 요약
|
||||||
|
|
||||||
|
- 편집한 index 수: 15개 (루트 index.md 포함)
|
||||||
|
- 수정한 링크 수: 12건 (지정된 7개 파일에서, database-schema.md 2건, Feature_Roadmap.md 4건, Voice_Channels 2건 포함)
|
||||||
|
- 비어있는 카테고리: analysis, changes, contracts, feedback, maintenance, usage (6개) — "현재 등록된 문서 없음" 명시
|
||||||
|
- graph/index.md: 손대지 않음 (graphify 자동생성 영역)
|
||||||
|
|
||||||
|
## 의사결정 기록 위치
|
||||||
|
|
||||||
|
- ATP 이관 후속 작업 (index 링크 채우기 + 루트 index 재작성 + 깨진 링크 수정) 은 별도 ADR 없음 — 이관 자체가 이미 완료된 상태에서의 메타데이터 정비 작업
|
||||||
|
|
||||||
|
## 추후 문서화가 필요한 항목
|
||||||
|
|
||||||
|
- ADR 파일명 규칙 미준수: `Dashboard_Architecture_gRPC.md` 는 `ADR-0001-dashboard-grpc-proxy.md` 형식이어야 하나 이번 작업 범위(이동/삭제 금지)에서 제외. 추후 rename 고려 필요.
|
||||||
|
- analysis/, changes/, contracts/, maintenance/, usage/ 카테고리에 실제 문서 등록 필요.
|
||||||
|
- backlog/Feature_Roadmap.md 내 `Docs/Plans/` 경로로 하드코딩된 텍스트 참조(링크가 아닌 텍스트)가 남아있으나 링크 수정 금지 범위 외 항목이므로 별도 정비 필요.
|
||||||
|
|
@ -0,0 +1,214 @@
|
||||||
|
---
|
||||||
|
schema_version: 2
|
||||||
|
session_id: 20260617-112933
|
||||||
|
resumed_from: null
|
||||||
|
started_at: 2026-06-17T11:29:33+09:00
|
||||||
|
ended_at: 2026-06-17T11:52:00+09:00
|
||||||
|
user_request: |
|
||||||
|
기존문서들을 ATP 카테고리로 이관하게 도와
|
||||||
|
# memory_decision: 후보 1-3 수용(글로벌 ~/.claude/auto-loaded-context.md 기입은 §6 게이트 — 사용자 승인 대기). 후보 4는 Open Item 유지.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Summary
|
||||||
|
기존 `Docs/` (대문자, git 55파일 추적) 의 프로젝트 고유 구조(Decisions/Features/Plans/Rules/Troubleshooting/WorkDone + 루트 loose)를 `/atp:init` 이 생성한 ATP 표준 카테고리(adr/analysis/architecture/backlog/changes/contracts/development/domain/issues/maintenance/security/usage/work-log)로 이관. 이력 보존 위해 `git mv`. 이관 후 카테고리 index 링크 갱신 + 루트 index.md 재작성.
|
||||||
|
|
||||||
|
# Invocations
|
||||||
|
- id: inv-001
|
||||||
|
layer: orchestrator
|
||||||
|
name: orchestrator
|
||||||
|
parent_invocation_id: null
|
||||||
|
started_at: 2026-06-17T11:29:33+09:00
|
||||||
|
input_digest: "Docs 구조 조사 + git 추적/케이스 확인 + 분류 기준 로드"
|
||||||
|
output_digest: "물리 dir=Docs(대문자), core.ignorecase=true, 55파일 추적, stale lock 파일 1건 발견"
|
||||||
|
model_choice:
|
||||||
|
phase: analyze
|
||||||
|
dispatch_size: direct
|
||||||
|
tier: large
|
||||||
|
effort: medium
|
||||||
|
resolved_model: inherit
|
||||||
|
capped: false
|
||||||
|
capped_from: null
|
||||||
|
escalation_reason: null
|
||||||
|
fallback_reason: null
|
||||||
|
rationale: "분류 매핑 판단 + 케이스/이력 위험 분석 — orchestrator 직접"
|
||||||
|
- id: inv-002
|
||||||
|
layer: orchestrator
|
||||||
|
name: orchestrator
|
||||||
|
parent_invocation_id: null
|
||||||
|
started_at: 2026-06-17T11:38:00+09:00
|
||||||
|
input_digest: "git mv 53파일 + git rm lock 1 + rmdir 구 디렉토리 6"
|
||||||
|
output_digest: "53/53 이동 성공, 0 실패. 깨진 내부 링크 7건 식별"
|
||||||
|
model_choice:
|
||||||
|
phase: code
|
||||||
|
dispatch_size: m-batch
|
||||||
|
tier: medium
|
||||||
|
effort: low
|
||||||
|
resolved_model: inherit
|
||||||
|
capped: false
|
||||||
|
capped_from: null
|
||||||
|
escalation_reason: null
|
||||||
|
fallback_reason: null
|
||||||
|
rationale: "기계적 git mv — orchestrator 직접 실행(파괴적 게이트 user 승인 완료)"
|
||||||
|
- id: inv-003
|
||||||
|
layer: advisor
|
||||||
|
name: documentation-advisor
|
||||||
|
parent_invocation_id: null
|
||||||
|
started_at: 2026-06-17T11:39:00+09:00
|
||||||
|
input_digest: "카테고리별 이관 내용 + 깨진 링크 7건 명세"
|
||||||
|
output_digest: "22파일 편집(14 카테고리 index + 루트 index + 링크 12개 수정). self_verification pass"
|
||||||
|
artifacts: [.atp/work-session/20260617-112933/documentation.md]
|
||||||
|
model_choice:
|
||||||
|
phase: docs
|
||||||
|
dispatch_size: m-batch
|
||||||
|
tier: medium
|
||||||
|
effort: medium
|
||||||
|
resolved_model: sonnet
|
||||||
|
capped: false
|
||||||
|
capped_from: null
|
||||||
|
escalation_reason: null
|
||||||
|
fallback_reason: null
|
||||||
|
rationale: "14 카테고리 index + 루트 index 재작성 + 링크 수정 = documentation 도메인, 기계적 — medium"
|
||||||
|
|
||||||
|
# Advisor Invocation Decision Log
|
||||||
|
- advisor: requirements-advisor
|
||||||
|
decision: skip
|
||||||
|
rationale: '스코프 명확 — 사용자 요청 "기존문서를 ATP 카테고리로 이관" 단일 목적. 미결은 분류 정책(user 결정)뿐.'
|
||||||
|
checked_at: 2026-06-17T11:30:00+09:00
|
||||||
|
- advisor: graphify-lookup-advisor
|
||||||
|
decision: skip
|
||||||
|
rationale: '코드 구조 조사 불필요 — 문서 파일 이동 작업. 파일 목록은 직접 Glob/git ls-files 로 확보.'
|
||||||
|
checked_at: 2026-06-17T11:30:00+09:00
|
||||||
|
- advisor: research-advisor
|
||||||
|
decision: skip
|
||||||
|
rationale: '외부 자료 불필요. 분류 기준은 document-category-classification.md 로컬 문서로 충분.'
|
||||||
|
checked_at: 2026-06-17T11:30:00+09:00
|
||||||
|
- advisor: design-advisor
|
||||||
|
decision: skip
|
||||||
|
rationale: '분류 매핑이 design 산출물 — 대부분 파일명/index 로 확정적. 흔들리는 축은 design trade-off 아닌 user 정책 결정(Plans/WorkDone 목적지). orchestrator 가 매핑 작성 + AskUserQuestion plan 게이트(§5.0 (b/c)).'
|
||||||
|
checked_at: 2026-06-17T11:31:00+09:00
|
||||||
|
- advisor: documentation-advisor
|
||||||
|
decision: call
|
||||||
|
rationale: '이관 후 14개 카테고리 index.md 링크 채우기 + 루트 index.md 재작성 = documentation-advisor 도메인(카테고리 index 링크 필수).'
|
||||||
|
checked_at: 2026-06-17T11:31:00+09:00
|
||||||
|
- advisor: verification-advisor
|
||||||
|
decision: skip
|
||||||
|
rationale: '코드 변경 0줄(문서 이동). 코드 검증 N/A. 대신 orchestrator 가 링크 무결성/orphan/이동 성공 직접 확인.'
|
||||||
|
checked_at: 2026-06-17T11:31:00+09:00
|
||||||
|
- advisor: graph-refresh-checker
|
||||||
|
decision: skip
|
||||||
|
rationale: 'docs-only 변경, code scope 미변경(§3.2 no-scope-change). graphify add-on 판정과 무관하게 scope 변경 없음.'
|
||||||
|
checked_at: 2026-06-17T11:31:00+09:00
|
||||||
|
|
||||||
|
# Decisions
|
||||||
|
- by: user
|
||||||
|
at: 2026-06-17T11:35:00+09:00
|
||||||
|
decision: "Plans → 구현/미구현 분리(구현 architecture/, 미구현 backlog/), WorkDone → work-log/, lock 파일 git rm, 실행 진행"
|
||||||
|
rationale: "AskUserQuestion 4축 응답"
|
||||||
|
related_invocations: [inv-001]
|
||||||
|
- by: orchestrator
|
||||||
|
at: 2026-06-17T11:36:00+09:00
|
||||||
|
decision: "Plans 12개 분리 확정: 11개 구현됨(WorkDone 대조 + Setup_Wizard 는 apps/bot/src/commands/setup.ts 로 확인)→architecture/, Feature_Roadmap→backlog/"
|
||||||
|
rationale: "WorkDone 30건 + 코드 grep 으로 구현 상태 전수 대조. 실측 카운트 Plans=12 WorkDone=30 (총 55 재대조)"
|
||||||
|
related_invocations: [inv-001]
|
||||||
|
|
||||||
|
# Conflicts
|
||||||
|
|
||||||
|
# verified_by_me
|
||||||
|
- 링크 무결성: python3 상대링크 존재 검증 145건 중 143 유효. 잔존 2건은 init 템플릿 잔재(아래).
|
||||||
|
- 구경로 링크 잔존 0 (Troubleshooting|Decisions|Plans|Features|Rules|WorkDone grep CLEAN).
|
||||||
|
- orphan 0: 모든 이관 문서가 카테고리 index 링크됨 + 14 카테고리 전부 루트 index 등재.
|
||||||
|
- git mv 53/53 성공, lock 파일 git rm 1, 구 디렉토리 6 정리. rename 정합 확인.
|
||||||
|
|
||||||
|
# graph_refresh
|
||||||
|
- skip: no-scope-change (docs-only 변경, code scope 미변경 — 프로토콜 §3.2)
|
||||||
|
|
||||||
|
# needs_user_verification
|
||||||
|
- (선택) 커밋 여부 결정 — 마이그레이션 일괄. 프로젝트 CLAUDE.md 에 커밋 정책 미정의 → 사용자 확인 필요.
|
||||||
|
|
||||||
|
# Open Items
|
||||||
|
- 'Docs/.!97170!index.md — git rm 처리 완료 (user 승인).'
|
||||||
|
- '선재 결함(마이그레이션 무관): Docs/development/verification-strategies.md 의 ./agent-team-protocol.md 링크 2건 깨짐. 이 문서는 /atp:init 이 번들에서 복사했으나 agent-team-protocol.md 는 플러그인 번들에만 존재(프로젝트 미복사). init 템플릿 설계 갭 — 별도 처리 필요.'
|
||||||
|
- '선재 결함(이번 세션 수정): Docs/architecture/database-schema.md 의 prisma 링크가 monorepo 전환 시 doc-sync 누락으로 ../prisma/ (repo-root, 미존재) 를 가리키고 있었음. 실제 위치 packages/db/prisma/schema.prisma 로 정정.'
|
||||||
|
- 'ADR 파일명 규약: Docs/adr/Dashboard_Architecture_gRPC.md 가 ADR-NNNN 규약 미준수 (documentation-advisor concern). 향후 정규화 후보.'
|
||||||
|
|
||||||
|
# User Signals
|
||||||
|
user_signals:
|
||||||
|
positive:
|
||||||
|
- quote_or_paraphrase: "AskUserQuestion 4축 1라운드 수락 + '진행'"
|
||||||
|
about: "분류 매핑/정책 게이트를 한 번에 수락 — 옵션 설계가 결정 축을 잘 덮음"
|
||||||
|
negative: []
|
||||||
|
|
||||||
|
# Retrospective
|
||||||
|
Retrospective:
|
||||||
|
signals:
|
||||||
|
positive:
|
||||||
|
- quote_or_paraphrase: "AskUserQuestion 4축 1라운드 수락 + '진행'"
|
||||||
|
about: "Plans 분류(구현/미구현 분리), WorkDone 목적지, lock 파일 처리, 실행 진행 여부 — 4개 결정 축을 단일 라운드로 압축했고 사용자가 한 번에 수락"
|
||||||
|
negative: []
|
||||||
|
|
||||||
|
what_went_well:
|
||||||
|
- "AskUserQuestion 4축 압축 설계 — 대규모 파일 이동 전 불확실한 결정 포인트(Plans 분류 정책, WorkDone 목적지, stale 파일 처리, 실행 게이트) 를 사전조사 단계에서 전부 발굴해 1라운드에 묶어 제시. 사용자가 이견 없이 수락하고 자율 진행된 것은 옵션 설계가 결정 축을 충분히 덮었다는 검증."
|
||||||
|
- "macOS case-insensitive FS 함정을 조기 탐지 — git ls-files 'docs/*' 가 0을 반환했을 때 즉시 의심하고 'Docs/*'(대문자)로 재확인해 55파일 추적 확정. 오판 없이 진행."
|
||||||
|
- "알려진 총합(55) 대조로 분류 카운트 오류를 스스로 정정 — 초기 14+28=42 오산을 총 55 재대조로 12+30+나머지 구조로 교정. 외부 피드백 없이 내부 일관성 검사로 수정."
|
||||||
|
- "python3 링크 존재 검증 스크립트 활용 — 단순 stale-path grep 대신 실제 파일 존재 여부를 검증해 마이그레이션 무관 선재 결함(database-schema.md 의 monorepo 전환 시 누락된 prisma 경로)까지 표면화하고 이번 세션에서 즉시 수정."
|
||||||
|
|
||||||
|
what_to_improve:
|
||||||
|
- "atp:init 번들이 verification-strategies.md 에 agent-team-protocol.md 링크를 삽입하지만, agent-team-protocol.md 자체는 번들에 포함되지 않아 init 직후부터 깨진 링크가 발생한다. 이번 세션에서 표면화된 init 템플릿 설계 갭 — 별도 이슈로 처리 필요."
|
||||||
|
- "ADR 파일명이 ADR-NNNN 규약을 미준수한 채로 이관됨 (Docs/adr/Dashboard_Architecture_gRPC.md). 마이그레이션 시 파일명 정규화 여부를 결정 축에 포함하거나 Open Item 으로 명시하는 규율 필요."
|
||||||
|
|
||||||
|
memory_candidates:
|
||||||
|
- name: macos-case-insensitive-git-ls-files-trap
|
||||||
|
type: feedback
|
||||||
|
description: macOS case-insensitive FS + core.ignorecase=true 환경에서 git ls-files 패턴은 대소문자를 맞춰야 한다
|
||||||
|
body_draft: |
|
||||||
|
macOS (HFS+/APFS default case-insensitive) + `git config core.ignorecase=true` 환경에서 `git ls-files 'docs/*'` 는 물리 디렉토리가 `Docs/`(대문자)이면 0건을 반환할 수 있다. git 인덱스가 저장한 케이스와 패턴 케이스가 불일치할 때 발생하는 함정.
|
||||||
|
|
||||||
|
**Why:** 2026-06-17 세션에서 `git ls-files 'docs/*'` 가 0을 반환해 "미추적" 오판 위험이 있었으나, 물리 경로 `Docs/`(대문자)를 확인 후 `git ls-files 'Docs/*'` 로 재실행해 55파일 추적 확정. 단발 실수가 아니라 macOS 개발 환경 전반의 재현성 있는 함정.
|
||||||
|
|
||||||
|
**How to apply:** `git ls-files <path>` 결과가 예상보다 적거나 0이면, 먼저 `ls` 로 물리 디렉토리명의 실제 케이스를 확인한 뒤 패턴 케이스를 일치시켜 재실행. git 인덱스 케이스는 최초 add 시점 케이스로 고정되므로 물리명이 정답.
|
||||||
|
rationale_for_saving: macOS 개발 환경에서 재현성이 높고, git ls-files 결과 0이 "파일 없음"과 "케이스 불일치" 두 원인을 가짐을 코드/문서에서 유도할 수 없다. 이 함정은 관찰로만 드러난다.
|
||||||
|
signal_source: observation
|
||||||
|
docs_sync_target: null
|
||||||
|
|
||||||
|
- name: known-total-cross-check-for-classification-count
|
||||||
|
type: feedback
|
||||||
|
description: 분류 카운트 합산은 알려진 전체 수와 대조해 오산을 잡는다
|
||||||
|
body_draft: |
|
||||||
|
파일 분류 작업(git ls-files, 카테고리 매핑 등)에서 각 카테고리 카운트를 합산한 뒤 **알려진 전체 추적 파일 수와 대조**해 일치 여부를 확인한다.
|
||||||
|
|
||||||
|
**Why:** 2026-06-17 세션에서 Plans=14, WorkDone=28 로 초기 집계했으나 합산이 총 55와 맞지 않았다. 총합 재대조로 Plans=12, WorkDone=30 으로 정정. 외부 피드백 없이 내부 일관성 검사만으로 오류를 발견한 패턴.
|
||||||
|
|
||||||
|
**How to apply:** 분류/카운트 작업의 마지막 단계에서 `sum(카테고리별 수) == 알려진 전체 수` 를 명시적으로 확인. 불일치 시 각 카테고리를 재집계. 알려진 전체 수는 `git ls-files | wc -l` 또는 equivalent 로 먼저 고정.
|
||||||
|
rationale_for_saving: 카테고리 분류·마이그레이션 작업에서 반복 적용 가능한 검증 패턴. 코드나 문서에서 유도되지 않으며 관찰로 드러난 교훈.
|
||||||
|
signal_source: observation
|
||||||
|
docs_sync_target: null
|
||||||
|
|
||||||
|
- name: link-audit-surfaces-pre-existing-doc-debt
|
||||||
|
type: feedback
|
||||||
|
description: 마이그레이션 링크 감사(파일 존재 검증)는 마이그레이션 무관 선재 문서 부채를 표면화한다 — 그 자리에서 수정한다
|
||||||
|
body_draft: |
|
||||||
|
대규모 문서 마이그레이션 후 링크 감사를 단순 stale-path grep 이 아니라 **실제 파일 존재 여부 검증**(예: python3 스크립트로 상대 링크 resolve) 으로 수행하면, 마이그레이션과 무관한 선재 결함도 함께 드러난다.
|
||||||
|
|
||||||
|
**Why:** 2026-06-17 세션에서 python3 링크 존재 검증 145건 수행 중, `database-schema.md` 의 `../prisma/` 링크가 monorepo 전환 시 doc-sync 누락으로 이미 깨진 상태였음이 표면화됐다. 이 결함은 이번 마이그레이션이 아닌 이전 monorepo 전환 시 발생한 것.
|
||||||
|
|
||||||
|
**How to apply:** 링크 감사 결과에서 "마이그레이션 원인" 과 "선재 원인" 을 분리해 기록. 선재 결함은 범위 밖이라도 가능하면 그 자리에서 수정(이번 세션처럼). 수정 불가 시 Open Items 에 명시하고 별도 이슈로 이관. stale-path grep 만으로는 이 계층을 볼 수 없으므로 실존 검증을 권장.
|
||||||
|
rationale_for_saving: 링크 감사 방법론 선택(grep vs 존재 검증)이 결과 품질에 미치는 차이. 코드/git log 에서 유도 불가. 마이그레이션이 있는 모든 프로젝트에서 재현성 있음.
|
||||||
|
signal_source: observation
|
||||||
|
docs_sync_target: null
|
||||||
|
|
||||||
|
- name: atp-init-bundle-missing-agent-team-protocol-link-gap
|
||||||
|
type: project
|
||||||
|
description: atp:init 번들이 verification-strategies.md 에 agent-team-protocol.md 링크를 생성하지만 파일 자체는 번들에 미포함 — init 직후 깨진 링크 발생
|
||||||
|
body_draft: |
|
||||||
|
`/atp:init` 실행 시 번들에서 `Docs/development/verification-strategies.md` 가 복사되며, 이 파일은 `./agent-team-protocol.md` 를 2곳 참조한다. 그러나 `agent-team-protocol.md` 는 플러그인 번들에만 존재하고 프로젝트 디렉토리에는 복사되지 않아, init 직후부터 링크가 깨진 상태.
|
||||||
|
|
||||||
|
**현황:** Kord 프로젝트에서 2026-06-17 세션 링크 감사 중 발견. Open Items 에 등재. 별도 처리(agent-team-protocol.md 를 번들에 포함하거나 링크를 외부 URL 로 교체) 필요.
|
||||||
|
rationale_for_saving: atp:init 설계 갭으로, 이 프로젝트 외 atp:init 을 사용하는 모든 프로젝트에서 동일하게 재현. 코드/문서에서 식별하기 어려운 구조적 누락.
|
||||||
|
signal_source: observation
|
||||||
|
docs_sync_target: null
|
||||||
|
|
||||||
|
protocol_feedback:
|
||||||
|
- "atp:init 번들 점검 필요: verification-strategies.md 가 ./agent-team-protocol.md 를 참조하지만 해당 파일이 번들에 포함되지 않아 init 직후 깨진 링크가 발생한다. 번들에 포함하거나 참조를 외부 링크로 교체하는 수정 필요 (structural: true — 모든 atp:init 프로젝트에서 재현)."
|
||||||
|
- "대규모 문서 마이그레이션 절차에 링크 감사 방법론 명시 추천: stale-path grep 이 아니라 파일 존재 검증(python3 또는 equivalent)을 권장 방법으로 기술하면 선재 문서 부채 표면화 효과를 기대할 수 있음."
|
||||||
|
|
||||||
|
applied_changes: []
|
||||||
|
|
@ -3,3 +3,12 @@
|
||||||
When the user types `/graphify`, invoke the Skill tool with `skill: "graphify"` before doing anything else.
|
When the user types `/graphify`, invoke the Skill tool with `skill: "graphify"` before doing anything else.
|
||||||
- 프로젝트의 구조 변경이나 문서 갱신시 실시간 업데이트를 원한다면 `python3 -m graphify.watch .` 실행을 추천하세요.
|
- 프로젝트의 구조 변경이나 문서 갱신시 실시간 업데이트를 원한다면 `python3 -m graphify.watch .` 실행을 추천하세요.
|
||||||
- Ollama 연동 및 트러블슈팅 설정 등은 `Docs/Features/Graphify_Setup_Guide.md` 문서를 참고하세요.
|
- Ollama 연동 및 트러블슈팅 설정 등은 `Docs/Features/Graphify_Setup_Guide.md` 문서를 참고하세요.
|
||||||
|
|
||||||
|
<!-- atp:begin -->
|
||||||
|
## 문서화 정책 (docs-first)
|
||||||
|
작업 시작 전 `docs/index.md` → 카테고리 `index.md` → 구체 문서 순으로 읽는다.
|
||||||
|
## 에이전트 팀 운영
|
||||||
|
`/task [요청]` 으로 Orchestrator+Advisor+Worker 팀 모드 진입(명시 호출 전용).
|
||||||
|
위임 토폴로지는 호스트 capability 자가판정(Tier A/A-flat/B)을 따른다 — 번들 `docs/development/platform-adapters.md`.
|
||||||
|
권위 레퍼런스: atp 플러그인 번들 `docs/development/agent-team-protocol.md`.
|
||||||
|
<!-- atp:end -->
|
||||||
|
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
# Kord Documentation Index
|
|
||||||
|
|
||||||
이 루트 색인 문서는 프로젝트 내의 모든 구조화된 문서를 카테고리별로 모아 탐색을 돕기 위해 작성되었습니다.
|
|
||||||
|
|
||||||
|
|
||||||
## 정책 및 규칙 (Rules)
|
|
||||||
|
|
||||||
- [보안 가이드라인 (Security Rules)](Rules/security_guidelines.md)
|
|
||||||
- [다국어 지원 개발 가이드라인 (i18n Development Guidelines)](Rules/i18n_guidelines.md)
|
|
||||||
|
|
||||||
|
|
||||||
## 기능 명세 (Features)
|
|
||||||
|
|
||||||
- [임시 음성 채널 자동화 (Temp Voice Channels)](Features/temp_voice_channels.md)
|
|
||||||
|
|
||||||
|
|
||||||
## 기획서 (Plans)
|
|
||||||
|
|
||||||
- [에러 안내 기능 기획서 (Error Guidance Plan)](Plans/Error_Guidance_Plan.md)
|
|
||||||
- [다국어 지원 기획서 (i18n Plan)](Plans/i18n_Plan.md)
|
|
||||||
- [서버 이벤트 일정 관리 기능 기획안 (Event Schedule Management Plan)](Plans/Event_Schedule_Management_Plan.md)
|
|
||||||
- [YouTube 음악 재생 기능 기획안 (YouTube Music Playback Plan)](Plans/YouTube_Music_Playback_Plan.md)
|
|
||||||
- [재련 미니게임 기획서 (Refinement Mini-Game Plan)](Plans/MiniGame_Refinement_Plan.md)
|
|
||||||
|
|
||||||
|
|
||||||
## 아키텍처 및 정책 결정 (Decisions)
|
|
||||||
|
|
||||||
- [구독 티어 시스템 설계 (Subscription Tiers)](Decisions/subscription_tiers.md)
|
|
||||||
|
|
||||||
|
|
||||||
## 트러블슈팅 (Troubleshooting)
|
|
||||||
|
|
||||||
- [Voice Channel Missing Permissions (50013) 해결건](Troubleshooting/50013_Missing_Permissions.md)
|
|
||||||
- [Temp Voice 유령 채널 미삭제 버그 해결건](Troubleshooting/handleLeave_ghost_channel.md)
|
|
||||||
|
|
||||||
|
|
||||||
## 진행/완료 내역 (Work Done)
|
|
||||||
|
|
||||||
- [2026-03-27: 봇 상태 메시지 기능 구현 (Bot Presence Implementation)](WorkDone/2026-03-27_Presence_Implementation.md)
|
|
||||||
- [2026-03-27: 임시 음성 채널 기능 구현 (Temp Voice Channels Implementation)](WorkDone/2026-03-27_Voice_Channels_Implementation.md)
|
|
||||||
- [2026-03-27: 임시 음성 채널 고도화 (Voice Channels Improvements)](WorkDone/2026-03-27_Voice_Channels_Improvements.md)
|
|
||||||
- [2026-03-27: 다국어 지원 구현 (i18n Implementation)](WorkDone/2026-03-27_i18n_Implementation.md)
|
|
||||||
- [2026-03-27: i18n 테스트 코드 검사 도구 구현 (i18n Check Tool Implementation)](WorkDone/2026-03-27_i18n_Check_Tool_Implementation.md)
|
|
||||||
- [2026-03-27: /config 명령어 및 기능 관리 리팩토링 (Config & Feature Refactoring)](WorkDone/2026-03-27_Config_And_Feature_Refactoring.md)
|
|
||||||
- [2026-03-27: 감사 채널 구현 (Audit Log Channel Implementation)](WorkDone/2026-03-27_Audit_Log_Channel_Implementation.md)
|
|
||||||
- [2026-03-27: 권한 진단 기능 구현 (Permission Audit Implementation)](WorkDone/2026-03-27_Permission_Audit_Implementation.md)
|
|
||||||
- [2026-03-27: 에러 안내 UX 개선 및 통합 (Error Guidance UX Implementation)](WorkDone/2026-03-27_Error_Guidance_UX_Implementation.md)
|
|
||||||
- [2026-03-27: Kord 프로젝트 초기 설정 (Project Initial Setup)](WorkDone/2026-03-27_Project_Initial_Setup.md)
|
|
||||||
- [2026-03-30: 서버 이벤트 일정 관리 Phase 1 구현 (Event Schedule Phase 1 Implementation)](WorkDone/2026-03-30_Event_Schedule_Phase1_Implementation.md)
|
|
||||||
- [2026-03-30: 서버 이벤트 일정 관리 Phase 2 구현 (Event Schedule Phase 2 Implementation)](WorkDone/2026-03-30_Event_Schedule_Phase2_Implementation.md)
|
|
||||||
- [2026-03-30: 서버 이벤트 시작 시점 공지 구현 (Event Schedule Start Announcement Implementation)](WorkDone/2026-03-30_Event_Schedule_Start_Announcement_Implementation.md)
|
|
||||||
- [2026-03-30: 이벤트 리마인더 분 단위 옵션 구현 (Event Reminder Offsets Implementation)](WorkDone/2026-03-30_Event_Reminder_Offsets_Implementation.md)
|
|
||||||
- [2026-03-30: 명령어 계층 구조 리팩토링 (Hierarchical Command Refactoring)](WorkDone/2026-03-30_HierarchicalRefactor.md)
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
# ADR 인덱스
|
||||||
|
|
||||||
|
**카테고리 용도**: 기술 선택·아키텍처 원칙에 대한 되돌리기 어려운 결정. 불변(append-only). 결정을 뒤집을 때는 기존 ADR 을 수정하지 않고 새 ADR 을 발행하여 "supersedes ADR-NNNN" 명시.
|
||||||
|
|
||||||
|
파일명 규칙: `ADR-NNNN-kebab-case-title.md` (NNNN 은 0001 부터 순차 증가)
|
||||||
|
|
||||||
|
## 결정 목록
|
||||||
|
|
||||||
|
| ADR | 제목 | 상태 | 날짜 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| — | [결정 사항: 대시보드-봇 통신 아키텍처 (gRPC Proxy)](./Dashboard_Architecture_gRPC.md) | accepted | 2026-04-20 |
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Analysis — 코드/흐름/성능/리스크 분석
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
현재 등록된 문서 없음
|
||||||
|
|
@ -210,6 +210,6 @@ await auditLogService.log(guild, {
|
||||||
|
|
||||||
| 문서 | 링크 |
|
| 문서 | 링크 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 기능 로드맵 | [`Feature_Roadmap.md`](./Feature_Roadmap.md) |
|
| 기능 로드맵 | [`Feature_Roadmap.md`](../backlog/Feature_Roadmap.md) |
|
||||||
| 권한 감사 기획서 | [`Permission_Audit_Plan.md`](./Permission_Audit_Plan.md) |
|
| 권한 감사 기획서 | [`Permission_Audit_Plan.md`](./Permission_Audit_Plan.md) |
|
||||||
| 에러 안내 기획서 | `Docs/Plans/Error_Guidance_Plan.md` |
|
| 에러 안내 기획서 | `Docs/Plans/Error_Guidance_Plan.md` |
|
||||||
|
|
@ -308,7 +308,7 @@ enum EventStatus {
|
||||||
|
|
||||||
| 문서 | 링크 |
|
| 문서 | 링크 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 기능 로드맵 | [`Feature_Roadmap.md`](./Feature_Roadmap.md) |
|
| 기능 로드맵 | [`Feature_Roadmap.md`](../backlog/Feature_Roadmap.md) |
|
||||||
| 감사 채널 기획안 | [`Audit_Channel_Plan.md`](./Audit_Channel_Plan.md) |
|
| 감사 채널 기획안 | [`Audit_Channel_Plan.md`](./Audit_Channel_Plan.md) |
|
||||||
| i18n 기획안 | [`i18n_Plan.md`](./i18n_Plan.md) |
|
| i18n 기획안 | [`i18n_Plan.md`](./i18n_Plan.md) |
|
||||||
| 설정 마법사 기획안 | [`Setup_Wizard_Plan.md`](./Setup_Wizard_Plan.md) |
|
| 설정 마법사 기획안 | [`Setup_Wizard_Plan.md`](./Setup_Wizard_Plan.md) |
|
||||||
|
|
@ -309,6 +309,6 @@ interface GuildMusicSession {
|
||||||
|
|
||||||
| 문서 | 링크 |
|
| 문서 | 링크 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 기능 로드맵 | [`Feature_Roadmap.md`](./Feature_Roadmap.md) |
|
| 기능 로드맵 | [`Feature_Roadmap.md`](../backlog/Feature_Roadmap.md) |
|
||||||
| 임시 음성 채널 기획 | [`Temp_Voice_Channel_Plan.md`](./Temp_Voice_Channel_Plan.md) |
|
| 임시 음성 채널 기획 | [`Temp_Voice_Channel_Plan.md`](./Temp_Voice_Channel_Plan.md) |
|
||||||
| 에러 안내 기획 | [`Error_Guidance_Plan.md`](./Error_Guidance_Plan.md) |
|
| 에러 안내 기획 | [`Error_Guidance_Plan.md`](./Error_Guidance_Plan.md) |
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# 데이터베이스 테이블 구조
|
# 데이터베이스 테이블 구조
|
||||||
|
|
||||||
이 문서는 [Prisma 스키마](../prisma/schema.prisma)를 기준으로 한 **PostgreSQL** 테이블 구조 요약입니다.
|
이 문서는 [Prisma 스키마](../../packages/db/prisma/schema.prisma)를 기준으로 한 **PostgreSQL** 테이블 구조 요약입니다.
|
||||||
|
|
||||||
## 개요
|
## 개요
|
||||||
|
|
||||||
|
|
@ -239,4 +239,4 @@ erDiagram
|
||||||
|
|
||||||
## 스키마 변경 시
|
## 스키마 변경 시
|
||||||
|
|
||||||
실제 DDL은 `prisma/migrations/` 아래 마이그레이션 SQL과 동기화됩니다. 구조를 바꾼 뒤에는 이 문서와 [schema.prisma](../prisma/schema.prisma)를 함께 맞추는 것이 좋습니다.
|
실제 DDL은 `prisma/migrations/` 아래 마이그레이션 SQL과 동기화됩니다. 구조를 바꾼 뒤에는 이 문서와 [schema.prisma](../../packages/db/prisma/schema.prisma)를 함께 맞추는 것이 좋습니다.
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
kind: architecture
|
||||||
|
title: Architecture 카테고리 인덱스
|
||||||
|
description: 시스템 경계·저장 구조·구성 파일 맵 등 아키텍처 문서 인덱스.
|
||||||
|
owner: template-maintainer
|
||||||
|
stability: stable
|
||||||
|
last_reviewed: 2026-05-07
|
||||||
|
---
|
||||||
|
|
||||||
|
# Architecture — 시스템 경계 / 저장 구조 / 구성 파일 맵
|
||||||
|
|
||||||
|
이 카테고리는 본 템플릿의 **오래 유지될 구조 설명** 을 모은다. 런타임 동작 변경 이력은 `changes/`, 기술 선택 결정은 `adr/` 로 분리.
|
||||||
|
|
||||||
|
## 문서
|
||||||
|
|
||||||
|
- [프로젝트 구조 (Project Structure)](./Project_Structure.md)
|
||||||
|
- [데이터베이스 테이블 구조](./database-schema.md)
|
||||||
|
- [Kord - 임시 음성 채널 제어 (Temp Voice Channels)](./temp_voice_channels.md)
|
||||||
|
- [감사 채널 기획서 (Audit Log Channel Plan)](./Audit_Channel_Plan.md)
|
||||||
|
- [Kord - 봇 상태 메시지 기획 (Bot Presence / Activity)](./Bot_Presence_Plan.md)
|
||||||
|
- [Kord - 에러 안내 기능 기획 (Error Guidance UX)](./Error_Guidance_Plan.md)
|
||||||
|
- [Kord - 서버 이벤트 일정 관리 기능 기획안 (Event Schedule Management)](./Event_Schedule_Management_Plan.md)
|
||||||
|
- [낚시 미니게임 구현 기획안](./Fishing_MiniGame_Plan.md)
|
||||||
|
- [Refinement Mini-Game Implementation Plan](./MiniGame_Refinement_Plan.md)
|
||||||
|
- [권한 감사 기능 기획서 (Permission Audit Plan)](./Permission_Audit_Plan.md)
|
||||||
|
- [봇 설정 도우미 (Setup Wizard) 기획서](./Setup_Wizard_Plan.md)
|
||||||
|
- [Kord - 임시 음성 채널 기능 기획 (Temporary Voice Channels)](./Temp_Voice_Channel_Plan.md)
|
||||||
|
- [Kord - YouTube 음악 재생 기능 기획안 (YouTube Music Playback)](./YouTube_Music_Playback_Plan.md)
|
||||||
|
- [Kord - 다국어 지원 기획 (i18n / Internationalization)](./i18n_Plan.md)
|
||||||
|
|
||||||
|
## 관련 카테고리
|
||||||
|
|
||||||
|
- 기술/운영 결정의 **불변 레코드** 는 `../adr/`
|
||||||
|
- 재사용 가능한 **개발 규칙** 은 `../development/`
|
||||||
|
- graphify 산출물 메타는 `../graph/`
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
| **목표** | 봇의 모든 사용자 표시 텍스트(명령어 응답, 에러 메시지, UI 라벨 등)를 다국어로 제공 |
|
| **목표** | 봇의 모든 사용자 표시 텍스트(명령어 응답, 에러 메시지, UI 라벨 등)를 다국어로 제공 |
|
||||||
| **기본 언어** | 영어 (English) — fallback 언어 |
|
| **기본 언어** | 영어 (English) — fallback 언어 |
|
||||||
| **계층별 언어 설정** | 서버(Guild) 단위 → 사용자(User) 단위로 우선순위 적용 |
|
| **계층별 언어 설정** | 서버(Guild) 단위 → 사용자(User) 단위로 우선순위 적용 |
|
||||||
| **기획서** | [`i18n_Plan.md`](./i18n_Plan.md) |
|
| **기획서** | [`i18n_Plan.md`](../architecture/i18n_Plan.md) |
|
||||||
|
|
||||||
**핵심 고려사항**
|
**핵심 고려사항**
|
||||||
- Locale 키-값 구조 설계 (JSON / YAML 등)
|
- Locale 키-값 구조 설계 (JSON / YAML 등)
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
| **목표** | 봇이 각 기능을 수행하기 위해 충분한 권한을 가지고 있는지 진단하고 보고서를 생성 |
|
| **목표** | 봇이 각 기능을 수행하기 위해 충분한 권한을 가지고 있는지 진단하고 보고서를 생성 |
|
||||||
| **트리거** | 슬래시 명령어 (`/audit-permissions` 등) |
|
| **트리거** | 슬래시 명령어 (`/audit-permissions` 등) |
|
||||||
| **출력** | 실행한 채널에 Embed 형태의 권한 진단 보고서 전송 |
|
| **출력** | 실행한 채널에 Embed 형태의 권한 진단 보고서 전송 |
|
||||||
| **기획서** | [`Permission_Audit_Plan.md`](./Permission_Audit_Plan.md) |
|
| **기획서** | [`Permission_Audit_Plan.md`](../architecture/Permission_Audit_Plan.md) |
|
||||||
|
|
||||||
**핵심 고려사항**
|
**핵심 고려사항**
|
||||||
- 기능별 필요 권한 매핑 테이블 (Feature → Required Permissions)
|
- 기능별 필요 권한 매핑 테이블 (Feature → Required Permissions)
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
| **목표** | 관리자가 지정한 텍스트 채널에 봇의 이벤트·문제 상황·서비스 상태 변동을 자동 기록 |
|
| **목표** | 관리자가 지정한 텍스트 채널에 봇의 이벤트·문제 상황·서비스 상태 변동을 자동 기록 |
|
||||||
| **등록 방식** | 관리자가 명령어로 채널 생성 또는 기존 채널 등록 |
|
| **등록 방식** | 관리자가 명령어로 채널 생성 또는 기존 채널 등록 |
|
||||||
| **기록 대상** | 에러 발생, 봇 재시작, 기능 status 변동, 권한 이슈 감지 등 |
|
| **기록 대상** | 에러 발생, 봇 재시작, 기능 status 변동, 권한 이슈 감지 등 |
|
||||||
| **기획서** | [`Audit_Channel_Plan.md`](./Audit_Channel_Plan.md) |
|
| **기획서** | [`Audit_Channel_Plan.md`](../architecture/Audit_Channel_Plan.md) |
|
||||||
|
|
||||||
**핵심 고려사항**
|
**핵심 고려사항**
|
||||||
- 감사 로그 메시지 분류 체계 (severity: info / warn / error)
|
- 감사 로그 메시지 분류 체계 (severity: info / warn / error)
|
||||||
|
|
@ -114,7 +114,7 @@
|
||||||
| **목표** | 서버 관리자가 인터랙션 기반으로 봇의 주요 설정을 단계별로 완료할 수 있는 설정 마법사 제공 |
|
| **목표** | 서버 관리자가 인터랙션 기반으로 봇의 주요 설정을 단계별로 완료할 수 있는 설정 마법사 제공 |
|
||||||
| **트리거** | 슬래시 명령어 (`/setup` 등) |
|
| **트리거** | 슬래시 명령어 (`/setup` 등) |
|
||||||
| **UI 형태** | Embed + Button + Select Menu 조합의 스텝 바이 스텝 인터랙션 |
|
| **UI 형태** | Embed + Button + Select Menu 조합의 스텝 바이 스텝 인터랙션 |
|
||||||
| **기획서** | [`Setup_Wizard_Plan.md`](./Setup_Wizard_Plan.md) |
|
| **기획서** | [`Setup_Wizard_Plan.md`](../architecture/Setup_Wizard_Plan.md) |
|
||||||
|
|
||||||
**핵심 고려사항**
|
**핵심 고려사항**
|
||||||
- 설정 항목 정의 (언어, 감사 채널, 임시 음성 채널 생성기 등)
|
- 설정 항목 정의 (언어, 감사 채널, 임시 음성 채널 생성기 등)
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Backlog — 미채택 아이디어, 재검토 트리거
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
- [Kord - 기능 로드맵 (Feature Roadmap)](./Feature_Roadmap.md)
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Changes — 실제 동작이 바뀐 구현 변경 이력
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
현재 등록된 문서 없음
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Contracts — 외부/내부 계약 스펙
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
현재 등록된 문서 없음
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
# 문서 카테고리 분류 기준
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
|
||||||
|
`changes/` 남용을 줄이고, 문서의 주된 목적에 따라 카테고리를 일관되게 선택하기 위한 기준이다.
|
||||||
|
|
||||||
|
> 프로젝트 성격에 따라 아래 카테고리 목록에서 해당 없는 것은 삭제하고, 필요한 카테고리는 추가한다. 예: 웹 UI 가 있는 프로젝트는 `uiux-qa-report/` 를 추가할 수 있다.
|
||||||
|
|
||||||
|
## 핵심 원칙
|
||||||
|
|
||||||
|
- 카테고리는 "무엇이 바뀌었는가" 보다 **"이 문서를 나중에 왜 다시 찾는가"** 를 기준으로 선택한다.
|
||||||
|
- 한 문서에는 하나의 주 목적만 둔다.
|
||||||
|
- 문서가 두 목적을 동시에 가지면, 오래 참조할 기준 문서를 우선 만들고 필요할 때만 보조 문서를 추가한다.
|
||||||
|
|
||||||
|
## 카테고리 선택 기준
|
||||||
|
|
||||||
|
| 카테고리 | 이럴 때 사용 | 이럴 때는 사용하지 않음 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `adr/` | 기술 선택/아키텍처 원칙에 대한 **불변 결정 레코드**. ORM/프레임워크/배포 방식/레이어 경계 등 되돌리기 어려운 결정 | 단건 구현 변경, 일회성 분석 |
|
||||||
|
| `analysis/` | 코드/데이터 흐름/성능/리스크를 이해하거나 원인을 추적하는 문서 | 수정 결과 changelog, 장기 운영 기준, 계약 스펙 |
|
||||||
|
| `architecture/` | 시스템 경계, 레이어 규칙, 저장 구조, 데이터 흐름, 스케줄러 설계처럼 오래 유지될 구조 설명 | 단건 변경 이력, 일회성 조사, ADR 에 가까운 결정(→ `adr/`) |
|
||||||
|
| `backlog/` | 미채택 자동화/기능 아이디어, 재검토 트리거 조건 기록. 구현되지 않았지만 흔적 남길 가치 있는 것 | 확정된 로드맵, 완료된 작업 기록 |
|
||||||
|
| `changes/` | 이미 반영된 구현 변경의 이력(changelog). 런타임 동작·스케줄러 룰·DB 스키마·외부 클라이언트 계약이 실제로 바뀐 경우 | 분석만 한 경우, 문서만 동기화한 경우, 재사용 가이드/절차, 장애 조사만 있고 수정이 없는 경우 |
|
||||||
|
| `contracts/` | 외부/내부 **계약 기준 문서**. HTTP 엔드포인트 계약, CLI/커맨드 스펙, 내부 모듈 간 인터페이스 | 특정 날짜의 변경 이력, 조사 메모 |
|
||||||
|
| `development/` | 반복해서 재사용할 개발 규칙, 절차, 워크플로우, 툴 운영 기준. 이 문서 자체도 여기 속함 | 특정 구현 변경 이력, 단건 장애 보고서 |
|
||||||
|
| `domain/` | 프로젝트가 다루는 **도메인 지식** (업계 규칙, 용어 정의, 비즈니스 룰 등) | 구현 변경 이력, 내부 구조 |
|
||||||
|
| `issues/` | 운영 이슈, 장애, 재현 조건, 영향 범위, 원인, 대응 내역 | 일반 기능 변경 기록, 장기 가이드 |
|
||||||
|
| `maintenance/` | 운영자가 따라야 하는 점검, 수동 조치, 배치, 데이터 정리, 유지보수 절차 | 개발 규칙, 분석 보고서 |
|
||||||
|
| `security/` | 인증/인가, 입력 검증, 비밀 값 관리, 보안 정책/패턴을 설명하는 기준 문서 | 특정 기능 수정 이력 자체 |
|
||||||
|
| `usage/` | 이식자·사용자 관점 운영 가이드, FAQ, 체크리스트 | 내부 구조 설명(→ `architecture/`), 개발 규칙(→ `development/`) |
|
||||||
|
| `work-log/` | 작업 중간 기록, 세션 간 handoff 메모, 시점성 있는 진행 로그 | 최종 기준 문서, 장기 참조용 설명 |
|
||||||
|
| `graph/` | **자동 생성** (graphify). 사람이 손으로 편집하지 않음. `index.md` 만 메타로 커밋 | 사람이 작성하는 아키텍처 설명(→ `architecture/`) |
|
||||||
|
|
||||||
|
## `changes/` 를 써도 되는 경우
|
||||||
|
|
||||||
|
- 코드가 실제로 수정되었다.
|
||||||
|
- 또는 코드가 소비하는 설정/정적 데이터가 바뀌어 실제 동작이 달라졌다.
|
||||||
|
- 문서의 중심이 "현재 구조 설명" 이 아니라 "이번 작업에서 무엇이 왜 바뀌었는지" 다.
|
||||||
|
- 읽는 사람이 "언제 어떤 구현 변화가 들어갔는지" 를 확인하려고 이 문서를 찾는다.
|
||||||
|
|
||||||
|
## `changes/` 로 보내면 안 되는 경우
|
||||||
|
|
||||||
|
- 구현은 그대로고 설명만 보강했다.
|
||||||
|
- README / CLAUDE.md 와 docs/ 를 동기화했다.
|
||||||
|
- 재사용 가능한 작업 절차나 작성 규칙을 정리했다(→ `development/`).
|
||||||
|
- 버그 원인/구조를 분석했지만 수정은 아직 없다(→ `analysis/`).
|
||||||
|
- 운영 장애를 복기하고 재현/영향 범위를 남기는 것이 핵심이다(→ `issues/`).
|
||||||
|
|
||||||
|
## 빠른 결정 순서
|
||||||
|
|
||||||
|
1. 기술 선택/아키텍처 원칙에 대한 되돌리기 어려운 결정인가? → `adr/`.
|
||||||
|
2. 운영 장애나 이슈 대응 기록인가? → `issues/`.
|
||||||
|
3. 프로젝트의 업무 도메인 지식인가? → `domain/`.
|
||||||
|
4. 외부/내부 계약 스펙인가? → `contracts/`.
|
||||||
|
5. 현재 기준의 구조/가이드를 설명하는 문서인가? → `architecture/`, `development/`, `security/` 중 하나.
|
||||||
|
6. 조사, 비교, 원인 추적, 리스크 파악이 핵심인가? → `analysis/`.
|
||||||
|
7. 수동 운영 절차나 유지보수 실행 가이드인가? → `maintenance/`.
|
||||||
|
8. 진행 중인 작업 메모인가? → `work-log/`.
|
||||||
|
9. 미채택 아이디어/흔적인가? → `backlog/`.
|
||||||
|
10. 위가 아니고 실제 구현 변경 이력을 남기는 문서인가? 그때만 → `changes/`.
|
||||||
|
|
||||||
|
## 함께 작성하는 규칙
|
||||||
|
|
||||||
|
- 구현 변경과 장기 기준 문서가 동시에 필요하면, 기준 문서는 해당 도메인 카테고리(`contracts/`, `architecture/`, `domain/` 등) 에 두고 `changes/` 에는 변경 요약만 남긴다.
|
||||||
|
- 문서 동기화만 했다면 원칙적으로 `changes/` 를 만들지 말고, 대상 기준 문서를 직접 갱신한다.
|
||||||
|
- 장애 수정이 있었더라도 핵심 가치가 장애 원인과 대응 이력 보존이라면 `issues/` 를 우선하고, 필요할 때만 관련 `changes/` 를 추가한다.
|
||||||
|
- ADR 에 해당하는 결정이면 `changes/` 대신 `adr/` 에 불변 레코드로 남긴다.
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Development — 개발 규칙 / 절차 / 툴 운영
|
||||||
|
|
||||||
|
반복해서 재사용할 규칙/워크플로우/툴 사용법을 둔다. 이 카테고리에 문서를 추가할 때는 `./document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
- [Graphify Setup & Guide](./Graphify_Setup_Guide.md) — graphify 도구 설치·Ollama 연동·Watch Mode 적용 가이드
|
||||||
|
- [i18n (다국어 지원) 개발 가이드라인](./i18n_guidelines.md) — Kord 봇 다국어 지원 개발 규칙
|
||||||
|
- [Kord 디자인 원칙 (Design Principles)](./Design_Principles.md) — 기능 설계 및 UX 고도화 핵심 원칙
|
||||||
|
- [Verification Strategies Registry](./verification-strategies.md) — `verification-advisor` 가 읽는 검증 전략 레지스트리 (프로젝트별 `cmd` 를 채워 사용)
|
||||||
|
- [문서 카테고리 분류 기준](./document-category-classification.md) — 카테고리 분류 기준 (불필요한 카테고리는 프로젝트에 맞게 정리)
|
||||||
|
|
||||||
|
> atp 플러그인 번들 레퍼런스(`agent-team-protocol.md`, `agent-catalog.md`, `documentation-guidelines.md`, `search-tool-matrix.md`)는 플러그인 캐시에 있으며 이 프로젝트로 복사되지 않는다. 에이전트가 `${CLAUDE_PLUGIN_ROOT}/docs/...` 로 직접 참조한다.
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
# Verification Strategies Registry
|
||||||
|
|
||||||
|
`verification-advisor` 가 읽는 단일 레지스트리. 이 파일에 등록된 전략만 검증 대상이 된다. 전략 추가/수정 시 이 파일만 변경하면 에이전트 구조(tier) 는 건드릴 필요 없다.
|
||||||
|
|
||||||
|
## 검증 사다리 (L1 / L2 / L3)
|
||||||
|
|
||||||
|
프로젝트의 검증은 3단으로 나뉜다. 코드 변경의 성격에 따라 **적용할 최소 L 레벨** 이 결정된다.
|
||||||
|
|
||||||
|
| 레벨 | 대상 | 신뢰 범위 |
|
||||||
|
|---|---|---|
|
||||||
|
| **L1** | 단위·회귀 (타입체크 + 단위/회귀 테스트) | "내가 고친 라인이 깨지지 않음" + "과거 버그가 재발하지 않음" |
|
||||||
|
| **L2** | 원격/외부 의존 계약 (live contract 테스트) | "외부 서비스 스키마·필드가 우리 기대와 정합" |
|
||||||
|
| **L3** | End-to-end (실제 런타임·DB·외부 서비스 전부 도는 시나리오) | "사용자 시나리오가 실제 스택에서 끝까지 동작" |
|
||||||
|
|
||||||
|
### 버그 범주 → 적용 L 레벨 (예시 · 프로젝트 맞춤)
|
||||||
|
|
||||||
|
프로젝트 특성에 맞게 아래 표를 채운다.
|
||||||
|
|
||||||
|
| 버그/변경 범주 | 의무 레벨 |
|
||||||
|
|---|---|
|
||||||
|
| 외부 API 스키마/응답 파싱 수정 | L1 + L2 |
|
||||||
|
| 외부 서비스 설정 상수 변경 | L1 + L2 |
|
||||||
|
| 인증/인가/롤 플로우 수정 | L1 + L2 + L3 |
|
||||||
|
| 순수 도메인 로직 (외부 의존 없음) | L1 |
|
||||||
|
| 인프라 설정 (container/env/compose) | L1 + 수동 스모크 |
|
||||||
|
|
||||||
|
**회귀 테스트 의무**: 버그 수정 커밋은 해당 버그를 재현하는 테스트를 같이 포함한다. revert 시 테스트가 실패하고, 수정 후엔 통과해야 한다.
|
||||||
|
|
||||||
|
### 실행 수단
|
||||||
|
|
||||||
|
프로젝트 루트에 통합 검증 스크립트를 둘 것을 권장한다 (예: `scripts/verify.sh`, `make verify`, `cargo xtask verify`). 스크립트는 L1 → L2 → 로그 스캔 순차 실행을 담당.
|
||||||
|
|
||||||
|
- L2 를 조건부로 비활성화하는 환경 변수를 제공 (원격 꺼진 CI 대비). 예: `SKIP_LIVE_CONTRACT=1`.
|
||||||
|
- 원격 테스트의 seed/live URL 미지정 시 L2 는 자동 skip 처리되도록 구성.
|
||||||
|
|
||||||
|
## 사용 규약
|
||||||
|
|
||||||
|
- `verification-advisor` 는 호출 시 변경 scope 를 받아 매칭되는 전략만 실행한다.
|
||||||
|
- 전략 개수에 따라 tier 가 자동 결정된다:
|
||||||
|
- 1개 → advisor 가 직접 실행 (tier 2)
|
||||||
|
- 2개 이상 → `worker:` 필드가 있는 전략은 해당 worker spawn (tier 3), 나머지는 advisor 순차 실행
|
||||||
|
- 신규 worker 도입은 atp 플러그인 번들 `agent-team-protocol.md` §9 의 확장 트리거 참조.
|
||||||
|
|
||||||
|
### 집합 전수 AC 실행 지침
|
||||||
|
|
||||||
|
design.md 의 "검증 포인트" 에 다음 형식의 AC 가 있으면 "집합 전수 체크" 유형으로 분류한다.
|
||||||
|
|
||||||
|
```
|
||||||
|
AC-N: <집합명> 전수 N건 ... (grep -c ... == N)
|
||||||
|
```
|
||||||
|
|
||||||
|
실행 방법:
|
||||||
|
|
||||||
|
1. AC 에 명시된 `grep -c` 명령을 그대로 실행한다.
|
||||||
|
2. 반환값이 AC 에 명시된 기대 수와 다르면 **blocker FAIL** 로 판정한다.
|
||||||
|
3. 실패 시 출력: 실제 매치 수 + 누락된 항목을 diff 또는 목록으로 제시.
|
||||||
|
|
||||||
|
집합 전수 AC 는 특성상 "부분 통과"가 없다 — 기대 수에서 1 이라도 어긋나면 전체 FAIL. 규약 근거는 프로토콜 §4.3 + `design-advisor.md` "집합 전수 체크 AC 패턴" 섹션.
|
||||||
|
|
||||||
|
## 전략 (템플릿)
|
||||||
|
|
||||||
|
아래는 YAML 스켈레톤이다. 프로젝트 기술 스택에 맞게 `cmd` 를 교체한다 (`pnpm` / `yarn` / `npm` / `cargo` / `go test` / `pytest` / `mvn test` 등).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
strategies:
|
||||||
|
# ── L1 ────────────────────────────────────────
|
||||||
|
- id: typecheck
|
||||||
|
cmd: <프로젝트 타입체크 명령> # e.g. pnpm typecheck / cargo check / mypy .
|
||||||
|
scope: all
|
||||||
|
timeout_s: 180
|
||||||
|
failure_severity: blocker
|
||||||
|
|
||||||
|
- id: unit
|
||||||
|
cmd: <프로젝트 단위 테스트 명령> # e.g. pnpm test / cargo test / pytest
|
||||||
|
scope: <src glob> # e.g. src/**
|
||||||
|
timeout_s: 600
|
||||||
|
failure_severity: blocker
|
||||||
|
|
||||||
|
# ── L2 ────────────────────────────────────────
|
||||||
|
- id: contract-<external>
|
||||||
|
cmd: <계약 테스트 명령>
|
||||||
|
scope:
|
||||||
|
- <외부 의존이 집중된 경로>
|
||||||
|
timeout_s: 60
|
||||||
|
failure_severity: blocker
|
||||||
|
preconditions:
|
||||||
|
- "<외부 서비스 기동 확인 방법>"
|
||||||
|
- "<필요 환경 변수>"
|
||||||
|
note: |
|
||||||
|
원격 미기동 또는 seed 미지정 시 runtime 에서 skip 처리.
|
||||||
|
blocker 로 두는 이유는 "원격이 떠 있는데 계약 위반" 이 사용자 장애로 직결되기 때문.
|
||||||
|
|
||||||
|
# ── 통합 ──────────────────────────────────────
|
||||||
|
- id: verify-all
|
||||||
|
cmd: <통합 검증 스크립트> # e.g. pnpm verify / make verify
|
||||||
|
scope: all
|
||||||
|
timeout_s: 900
|
||||||
|
failure_severity: blocker
|
||||||
|
note: "L1 + L2 + 로그 스캔 통합. ATP task 세션 종료 전 의무."
|
||||||
|
```
|
||||||
|
|
||||||
|
## 필드 정의
|
||||||
|
|
||||||
|
| 필드 | 의미 |
|
||||||
|
|---|---|
|
||||||
|
| `id` | 전략 식별자 (unique) |
|
||||||
|
| `cmd` | 실행 명령 |
|
||||||
|
| `scope` | glob. 이 패턴에 변경이 걸칠 때만 실행 |
|
||||||
|
| `timeout_s` | 초 단위 타임아웃 |
|
||||||
|
| `failure_severity` | `blocker` (실패 시 전체 검증 실패) \| `warning` (기록만) |
|
||||||
|
| `worker` (optional) | spawn 할 worker 이름. 미지정 시 advisor 직접 실행 |
|
||||||
|
|
||||||
|
## 확장 시
|
||||||
|
|
||||||
|
- 새 전략 추가: 위 YAML 블록에 항목 추가.
|
||||||
|
- Worker 분리가 필요한 수준에 도달 (브라우저 테스트, 장시간 E2E 등): `worker:` 필드 붙이고 해당 worker 파일 신설 + `verification-advisor.md` 의 tools 에 `Agent` 추가.
|
||||||
|
- 기준은 atp 플러그인 번들 `agent-team-protocol.md` §9 확장 트리거 레지스트리.
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Domain — 도메인 지식
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
- [구독 티어 시스템 (Subscription Tiers)](./subscription_tiers.md)
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Feedback — 검토·수정 요청 캡처 inbox
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
현재 등록된 문서 없음
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
# graphify 산출물 본체는 재생성 가능하므로 커밋하지 않는다.
|
||||||
|
# index.md 와 본 .gitignore 만 커밋 대상.
|
||||||
|
|
||||||
|
*
|
||||||
|
!index.md
|
||||||
|
!.gitignore
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
---
|
||||||
|
kind: graphify-meta
|
||||||
|
last_generated_at: null
|
||||||
|
source_commit: null
|
||||||
|
scopes: []
|
||||||
|
---
|
||||||
|
|
||||||
|
# Graph — graphify 산출물 메타
|
||||||
|
|
||||||
|
이 디렉토리는 `/graphify` 가 생성하는 지식 그래프 산출물의 **메타 정보만** 커밋한다. HTML/JSON/audit 본체는 `.gitignore` 대상이며 재생성 가능하다.
|
||||||
|
|
||||||
|
> 설치·적용 가이드는 `atp-graphify` add-on 번들의 `graphify-usage.md` 참조.
|
||||||
|
|
||||||
|
## 엔트리포인트 사용법
|
||||||
|
|
||||||
|
- 구조 탐색이 필요한 작업 전에 이 파일의 `last_generated_at` 과 `source_commit` 을 확인한다.
|
||||||
|
- 메인 브랜치 기준 마지막 소스 커밋보다 뒤쳐져 있다면 `graph-refresh-checker` 서브에이전트를 호출해 staleness 판정을 받는다.
|
||||||
|
- 판정 결과가 `partial-stale` / `fully-stale` 이면 메인 에이전트가 `/graphify` 를 호출해 재생성하고, 이 파일을 갱신한다.
|
||||||
|
- 더 이상 관련 없는 scope (제거된 모듈 등) 의 산출물은 재생성 전 **삭제** 한다.
|
||||||
|
|
||||||
|
## 산출물 레이아웃
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/graph/
|
||||||
|
├── index.md # 이 파일 — 메타, 커밋 대상
|
||||||
|
├── .gitignore # 본체 무시
|
||||||
|
└── <scope>/ # scope 별 산출물 디렉토리 (무시됨)
|
||||||
|
├── graph.html
|
||||||
|
├── graph.json
|
||||||
|
└── audit.md
|
||||||
|
```
|
||||||
|
|
||||||
|
scope 예시: `src`, `src-features`, `docs`, `full` 등. 한 번에 여러 scope 를 운용할 수 있다.
|
||||||
|
|
||||||
|
## Scopes
|
||||||
|
|
||||||
|
_현재 생성된 그래프 없음._
|
||||||
|
|
||||||
|
| scope | 마지막 생성 | 소스 커밋 | 대상 경로 | 요약 |
|
||||||
|
| --- | --- | --- | --- | --- |
|
||||||
|
|
||||||
|
## 갱신 시 체크리스트
|
||||||
|
|
||||||
|
- [ ] frontmatter 의 `last_generated_at`, `source_commit`, `scopes` 갱신
|
||||||
|
- [ ] 아래 "Scopes" 표에 한 줄 추가/갱신
|
||||||
|
- [ ] 폐기된 scope 가 있다면 해당 디렉토리 `rm -rf` + 표에서 제거
|
||||||
204
Docs/index.md
204
Docs/index.md
|
|
@ -1,76 +1,160 @@
|
||||||
# Kord Documentation Index
|
# Kord Documentation Index
|
||||||
|
|
||||||
이 루트 색인 문서는 프로젝트 내의 모든 구조화된 문서를 카테고리별로 모아 탐색을 돕기 위해 작성되었습니다.
|
이 루트 색인 문서는 프로젝트 내의 모든 구조화된 문서를 ATP 카테고리별로 모아 탐색을 돕기 위해 작성되었습니다.
|
||||||
|
|
||||||
## 아키텍처 및 시스템 (Architecture & System)
|
---
|
||||||
|
|
||||||
- [프로젝트 구조 (Project Structure)](Project_Structure.md)
|
## ADR — 아키텍처·기술 결정 기록
|
||||||
- [데이터베이스 스키마 구조 (Database Schema)](database-schema.md)
|
|
||||||
|
|
||||||
## 정책 및 규칙 (Rules)
|
되돌리기 어려운 기술 선택·아키텍처 원칙의 불변 레코드. → [adr/index.md](./adr/index.md)
|
||||||
|
|
||||||
- [보안 가이드라인 (Security Rules)](Rules/security_guidelines.md)
|
- [결정 사항: 대시보드-봇 통신 아키텍처 (gRPC Proxy)](./adr/Dashboard_Architecture_gRPC.md)
|
||||||
- [다국어 지원 개발 가이드라인 (i18n Development Guidelines)](Rules/i18n_guidelines.md)
|
|
||||||
|
|
||||||
## 기능 명세 (Features)
|
---
|
||||||
|
|
||||||
- [임시 음성 채널 자동화 (Temp Voice Channels)](Features/temp_voice_channels.md)
|
## Analysis — 코드/흐름/성능/리스크 분석
|
||||||
- [Graphify 설정 및 연동 가이드 (Graphify Setup Guide)](Features/Graphify_Setup_Guide.md)
|
|
||||||
|
|
||||||
## 기획서 (Plans)
|
→ [analysis/index.md](./analysis/index.md)
|
||||||
|
|
||||||
- [감사 채널 기획서 (Audit Channel Plan)](Plans/Audit_Channel_Plan.md)
|
(현재 문서 없음)
|
||||||
- [봇 상태 메시지 기획서 (Bot Presence Plan)](Plans/Bot_Presence_Plan.md)
|
|
||||||
- [에러 안내 기능 기획서 (Error Guidance Plan)](Plans/Error_Guidance_Plan.md)
|
|
||||||
- [다국어 지원 기획서 (i18n Plan)](Plans/i18n_Plan.md)
|
|
||||||
- [서버 이벤트 일정 관리 기능 기획안 (Event Schedule Management Plan)](Plans/Event_Schedule_Management_Plan.md)
|
|
||||||
- [기능 로드맵 (Feature Roadmap)](Plans/Feature_Roadmap.md)
|
|
||||||
- [YouTube 음악 재생 기능 기획안 (YouTube Music Playback Plan)](Plans/YouTube_Music_Playback_Plan.md)
|
|
||||||
- [재련 미니게임 기획서 (Refinement Mini-Game Plan)](Plans/MiniGame_Refinement_Plan.md)
|
|
||||||
- [권한 진단 기획서 (Permission Audit Plan)](Plans/Permission_Audit_Plan.md)
|
|
||||||
- [초기 설정 마법사 기획서 (Setup Wizard Plan)](Plans/Setup_Wizard_Plan.md)
|
|
||||||
- [임시 음성 채널 기획서 (Temp Voice Channel Plan)](Plans/Temp_Voice_Channel_Plan.md)
|
|
||||||
- [낚시 미니게임 기획안 (Fishing Mini-Game Plan)](Plans/Fishing_MiniGame_Plan.md)
|
|
||||||
|
|
||||||
## 아키텍처 및 정책 결정 (Decisions)
|
---
|
||||||
|
|
||||||
- [구독 티어 시스템 설계 (Subscription Tiers)](Decisions/subscription_tiers.md)
|
## Architecture — 시스템 경계 / 레이어 / 설계
|
||||||
- [대시보드-봇 통신 아키텍처 (Dashboard gRPC Architecture)](Decisions/Dashboard_Architecture_gRPC.md)
|
|
||||||
|
|
||||||
## 트러블슈팅 (Troubleshooting)
|
시스템 구조, 기능 기획서, DB 스키마 등 오래 유지될 구조 설명. → [architecture/index.md](./architecture/index.md)
|
||||||
|
|
||||||
- [Voice Channel Missing Permissions (50013) 해결건](Troubleshooting/50013_Missing_Permissions.md)
|
- [프로젝트 구조 (Project Structure)](./architecture/Project_Structure.md)
|
||||||
- [Temp Voice 유령 채널 미삭제 버그 해결건](Troubleshooting/handleLeave_ghost_channel.md)
|
- [데이터베이스 테이블 구조](./architecture/database-schema.md)
|
||||||
|
- [Kord - 임시 음성 채널 제어 (Temp Voice Channels)](./architecture/temp_voice_channels.md)
|
||||||
|
- [감사 채널 기획서 (Audit Log Channel Plan)](./architecture/Audit_Channel_Plan.md)
|
||||||
|
- [Kord - 봇 상태 메시지 기획 (Bot Presence / Activity)](./architecture/Bot_Presence_Plan.md)
|
||||||
|
- [Kord - 에러 안내 기능 기획 (Error Guidance UX)](./architecture/Error_Guidance_Plan.md)
|
||||||
|
- [Kord - 서버 이벤트 일정 관리 기능 기획안 (Event Schedule Management)](./architecture/Event_Schedule_Management_Plan.md)
|
||||||
|
- [낚시 미니게임 구현 기획안](./architecture/Fishing_MiniGame_Plan.md)
|
||||||
|
- [Refinement Mini-Game Implementation Plan](./architecture/MiniGame_Refinement_Plan.md)
|
||||||
|
- [권한 감사 기능 기획서 (Permission Audit Plan)](./architecture/Permission_Audit_Plan.md)
|
||||||
|
- [봇 설정 도우미 (Setup Wizard) 기획서](./architecture/Setup_Wizard_Plan.md)
|
||||||
|
- [Kord - 임시 음성 채널 기능 기획 (Temporary Voice Channels)](./architecture/Temp_Voice_Channel_Plan.md)
|
||||||
|
- [Kord - YouTube 음악 재생 기능 기획안 (YouTube Music Playback)](./architecture/YouTube_Music_Playback_Plan.md)
|
||||||
|
- [Kord - 다국어 지원 기획 (i18n / Internationalization)](./architecture/i18n_Plan.md)
|
||||||
|
|
||||||
## 진행/완료 내역 (Work Done)
|
---
|
||||||
|
|
||||||
- [2026-03-27: 봇 상태 메시지 기능 구현 (Bot Presence Implementation)](WorkDone/2026-03-27_Presence_Implementation.md)
|
## Backlog — 미채택 아이디어 / 재검토 예정
|
||||||
- [2026-03-27: 임시 음성 채널 기능 구현 (Temp Voice Channels Implementation)](WorkDone/2026-03-27_Voice_Channels_Implementation.md)
|
|
||||||
- [2026-03-27: 임시 음성 채널 고도화 (Voice Channels Improvements)](WorkDone/2026-03-27_Voice_Channels_Improvements.md)
|
→ [backlog/index.md](./backlog/index.md)
|
||||||
- [2026-03-27: 다국어 지원 구현 (i18n Implementation)](WorkDone/2026-03-27_i18n_Implementation.md)
|
|
||||||
- [2026-03-27: i18n 테스트 코드 검사 도구 구현 (i18n Check Tool Implementation)](WorkDone/2026-03-27_i18n_Check_Tool_Implementation.md)
|
- [Kord - 기능 로드맵 (Feature Roadmap)](./backlog/Feature_Roadmap.md)
|
||||||
- [2026-03-27: /config 명령어 및 기능 관리 리팩토링 (Config & Feature Refactoring)](WorkDone/2026-03-27_Config_And_Feature_Refactoring.md)
|
|
||||||
- [2026-03-27: 감사 채널 구현 (Audit Log Channel Implementation)](WorkDone/2026-03-27_Audit_Log_Channel_Implementation.md)
|
---
|
||||||
- [2026-03-27: 권한 진단 기능 구현 (Permission Audit Implementation)](WorkDone/2026-03-27_Permission_Audit_Implementation.md)
|
|
||||||
- [2026-03-27: 에러 안내 UX 개선 및 통합 (Error Guidance UX Implementation)](WorkDone/2026-03-27_Error_Guidance_UX_Implementation.md)
|
## Changes — 런타임 동작 변경 이력
|
||||||
- [2026-03-27: Kord 프로젝트 초기 설정 (Project Initial Setup)](WorkDone/2026-03-27_Project_Initial_Setup.md)
|
|
||||||
- [2026-03-30: 서버 이벤트 일정 관리 Phase 1 구현 (Event Schedule Phase 1 Implementation)](WorkDone/2026-03-30_Event_Schedule_Phase1_Implementation.md)
|
→ [changes/index.md](./changes/index.md)
|
||||||
- [2026-03-30: 서버 이벤트 일정 관리 Phase 2 구현 (Event Schedule Phase 2 Implementation)](WorkDone/2026-03-30_Event_Schedule_Phase2_Implementation.md)
|
|
||||||
- [2026-03-30: 서버 이벤트 시작 시점 공지 구현 (Event Schedule Start Announcement Implementation)](WorkDone/2026-03-30_Event_Schedule_Start_Announcement_Implementation.md)
|
(현재 문서 없음)
|
||||||
- [2026-03-30: 이벤트 리마인더 분 단위 옵션 구현 (Event Reminder Offsets Implementation)](WorkDone/2026-03-30_Event_Reminder_Offsets_Implementation.md)
|
|
||||||
- [2026-03-30: 명령어 계층 구조 리팩토링 (Hierarchical Command Refactoring)](WorkDone/2026-03-30_HierarchicalRefactor.md)
|
---
|
||||||
- [2026-03-30: YouTube 음악 재생 Phase 1 구현 (YouTube Music Playback Phase 1 Implementation)](WorkDone/2026-03-30_YouTube_Music_Playback_Phase1_Implementation.md)
|
|
||||||
- [2026-03-31: YouTube 음악 재생 Phase 2 구현 (YouTube Music Playback Phase 2 Implementation)](WorkDone/2026-03-31_YouTube_Music_Playback_Phase2_Implementation.md)
|
## Contracts — 외부/내부 계약 스펙
|
||||||
- [2026-03-31: YouTube 음악 재생 Phase 3 구현 (YouTube Music Playback Phase 3 Implementation)](WorkDone/2026-03-31_YouTube_Music_Playback_Phase3_Implementation.md)
|
|
||||||
- [2026-03-30: 미니게임 시스템 및 재련 게임 구현 (Mini-Game System & Refinement Implementation)](WorkDone/2026-03-30_RefinementImplementation.md)
|
→ [contracts/index.md](./contracts/index.md)
|
||||||
- [2026-03-31: 낚시 미니게임 Phase 1 구현 (Fishing Mini-Game Phase 1 Implementation)](WorkDone/2026-03-31_Fishing_MiniGame_Phase1_Implementation.md)
|
|
||||||
- [2026-03-31: 낚시 미니게임 Phase 1 완료 (Fishing Mini-Game Phase 1 Completion)](WorkDone/2026-03-31_Fishing_MiniGame_Phase1_Completion.md)
|
(현재 문서 없음)
|
||||||
- [2026-04-07: 낚시 미니게임 Phase 2 구현 (Fishing Mini-Game Phase 2 Implementation)](WorkDone/2026-04-07_Fishing_MiniGame_Phase2_Implementation.md)
|
|
||||||
- [2026-04-07: 낚시 도감 및 크기 시스템 구현 (Fishing Dex and Size Implementation)](WorkDone/2026-04-07_Fishing_Dex_And_Size_Implementation.md)
|
---
|
||||||
- [2026-04-07: 낚시 크기 랭킹 구현 (Fishing Size Ranking Implementation)](WorkDone/2026-04-07_Fishing_Size_Ranking_Implementation.md)
|
|
||||||
- [2026-04-20: 모노레포 전환 및 gRPC 통신 테스트 완료 (Monorepo & gRPC Test)](WorkDone/2026-04-20_Monorepo_Migration_And_gRPC_Test.md)
|
## Development — 개발 규칙 / 절차 / 툴 운영
|
||||||
- [2026-04-21: README 로컬 접속 정보 업데이트 (README Local Connection Info Update)](WorkDone/2026-04-21_README_Local_Connection_Info_Update.md)
|
|
||||||
- [2026-04-21: gRPC Proto 파일 경로 인식 오류 수정 (gRPC Proto Path Resolution Fix)](WorkDone/2026-04-21_gRPC_Proto_Path_Resolution_Fix.md)
|
반복 재사용할 규칙·워크플로우·툴 사용법. → [development/index.md](./development/index.md)
|
||||||
- [2026-04-21: 인프라 치명적 오류 복구 및 안정화 (Infrastructure Recovery & Stability)](WorkDone/2026-04-21_Infrastructure_Recovery_And_Stability.md)
|
|
||||||
- [2026-04-21: 대시보드 Turbopack Panic 현상 해결 (Fix Dashboard Turbopack Panic)](WorkDone/2026-04-21_fix_dashboard_panic.md)
|
- [Graphify Setup & Guide](./development/Graphify_Setup_Guide.md)
|
||||||
- [2026-04-22: 테스트 프로세스 정리 (Process Cleanup)](WorkDone/2026-04-22_ProcessCleanup.md)
|
- [i18n (다국어 지원) 개발 가이드라인](./development/i18n_guidelines.md)
|
||||||
|
- [Kord 디자인 원칙 (Design Principles)](./development/Design_Principles.md)
|
||||||
|
- [Verification Strategies Registry](./development/verification-strategies.md)
|
||||||
|
- [문서 카테고리 분류 기준](./development/document-category-classification.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Domain — 도메인 지식
|
||||||
|
|
||||||
|
→ [domain/index.md](./domain/index.md)
|
||||||
|
|
||||||
|
- [구독 티어 시스템 (Subscription Tiers)](./domain/subscription_tiers.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Issues — 운영 장애/이슈 대응 기록
|
||||||
|
|
||||||
|
→ [issues/index.md](./issues/index.md)
|
||||||
|
|
||||||
|
- [50013 Missing Permissions (Voice Channel Creation)](./issues/50013_Missing_Permissions.md)
|
||||||
|
- [임시 음성 채널 미삭제 및 유령 방 버그 (handleLeave)](./issues/handleLeave_ghost_channel.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Maintenance — 수동 운영 절차 (마이그레이션/복구/배치)
|
||||||
|
|
||||||
|
→ [maintenance/index.md](./maintenance/index.md)
|
||||||
|
|
||||||
|
(현재 문서 없음)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Security — 인증/인가 / 입력 검증 / 비밀 값 관리
|
||||||
|
|
||||||
|
→ [security/index.md](./security/index.md)
|
||||||
|
|
||||||
|
- [보안 개발 가이드라인 (Security Rules)](./security/security_guidelines.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Usage — 이식자/운영자 사용 가이드
|
||||||
|
|
||||||
|
→ [usage/index.md](./usage/index.md)
|
||||||
|
|
||||||
|
(현재 문서 없음)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Work Log — 세션 간 handoff / 시점성 작업 메모
|
||||||
|
|
||||||
|
→ [work-log/index.md](./work-log/index.md)
|
||||||
|
|
||||||
|
- [Process Cleanup (2026-04-22)](./work-log/2026-04-22_ProcessCleanup.md)
|
||||||
|
- [Dashboard & Bot Stability Infrastructure Fix (2026-04-21)](./work-log/2026-04-21_fix_dashboard_panic.md)
|
||||||
|
- [인프라 치명적 오류 복구 및 안정화 (2026-04-21)](./work-log/2026-04-21_Infrastructure_Recovery_And_Stability.md)
|
||||||
|
- [gRPC Proto 파일 경로 인식 오류 수정 (2026-04-21)](./work-log/2026-04-21_gRPC_Proto_Path_Resolution_Fix.md)
|
||||||
|
- [Work Done: README 로컬 접속 정보 업데이트 (README Local Connection Info Update)](./work-log/2026-04-21_README_Local_Connection_Info_Update.md)
|
||||||
|
- [2026-04-20: 모노레포 전환 및 gRPC 통신 테스트 완료 (Monorepo & gRPC Test)](./work-log/2026-04-20_Monorepo_Migration_And_gRPC_Test.md)
|
||||||
|
- [2026-04-07: 낚시 크기 랭킹 구현](./work-log/2026-04-07_Fishing_Size_Ranking_Implementation.md)
|
||||||
|
- [2026-04-07 Fishing Dex and Size Implementation](./work-log/2026-04-07_Fishing_Dex_And_Size_Implementation.md)
|
||||||
|
- [2026-04-07 Fishing Mini-Game Phase 2 Implementation](./work-log/2026-04-07_Fishing_MiniGame_Phase2_Implementation.md)
|
||||||
|
- [2026-03-31 낚시 미니게임 Phase 1 완료](./work-log/2026-03-31_Fishing_MiniGame_Phase1_Completion.md)
|
||||||
|
- [2026-03-31 낚시 미니게임 Phase 1 구현](./work-log/2026-03-31_Fishing_MiniGame_Phase1_Implementation.md)
|
||||||
|
- [2026-03-31 - YouTube Music Playback Phase 3 Implementation](./work-log/2026-03-31_YouTube_Music_Playback_Phase3_Implementation.md)
|
||||||
|
- [Kord - YouTube 음악 재생 Phase 2 구현](./work-log/2026-03-31_YouTube_Music_Playback_Phase2_Implementation.md)
|
||||||
|
- [Kord - YouTube 음악 재생 Phase 1 구현](./work-log/2026-03-30_YouTube_Music_Playback_Phase1_Implementation.md)
|
||||||
|
- [2026-03-30: 이벤트 리마인더 분 단위 옵션 구현 (Event Reminder Offsets Implementation)](./work-log/2026-03-30_Event_Reminder_Offsets_Implementation.md)
|
||||||
|
- [2026-03-30: 서버 이벤트 시작 시점 공지 구현 (Event Schedule Start Announcement Implementation)](./work-log/2026-03-30_Event_Schedule_Start_Announcement_Implementation.md)
|
||||||
|
- [2026-03-30: 서버 이벤트 일정 관리 Phase 2 구현 (Event Schedule Phase 2 Implementation)](./work-log/2026-03-30_Event_Schedule_Phase2_Implementation.md)
|
||||||
|
- [2026-03-30: 서버 이벤트 일정 관리 Phase 1 구현 (Event Schedule Phase 1 Implementation)](./work-log/2026-03-30_Event_Schedule_Phase1_Implementation.md)
|
||||||
|
- [미니게임 시스템 및 재련(Refinement) 구현 완료 보고서](./work-log/2026-03-30_RefinementImplementation.md)
|
||||||
|
- [Gathered Command UI Refactoring (2026-03-30)](./work-log/2026-03-30_HierarchicalRefactor.md)
|
||||||
|
- [2026-03-27: 에러 안내 UX (Error Guidance) 개선 및 통합 Implementation](./work-log/2026-03-27_Error_Guidance_UX_Implementation.md)
|
||||||
|
- [2026-03-27: 권한 진단 (Permission Audit) 기능 구현 Implementation](./work-log/2026-03-27_Permission_Audit_Implementation.md)
|
||||||
|
- [2026-03-27: 감사 채널 (Audit Log Channel) 구현 Implementation](./work-log/2026-03-27_Audit_Log_Channel_Implementation.md)
|
||||||
|
- [2026-03-27: /config 명령어 구조 개선 및 기능 관리 리팩토링 (Config & Feature Refactoring)](./work-log/2026-03-27_Config_And_Feature_Refactoring.md)
|
||||||
|
- [2026-03-27: i18n 테스트 코드 검사 도구 구현 (i18n Check Tool Implementation)](./work-log/2026-03-27_i18n_Check_Tool_Implementation.md)
|
||||||
|
- [2026-03-27: 다국어 지원(i18n) 구현](./work-log/2026-03-27_i18n_Implementation.md)
|
||||||
|
- [2026-03-27: 임시 음성 채널 고도화 (서버별 설정 및 닉네임 폴백)](./work-log/2026-03-27_Voice_Channels_Improvements.md)
|
||||||
|
- [2026-03-27 작업 내역: 임시 음성 채널 기능 구현](./work-log/2026-03-27_Voice_Channels_Implementation.md)
|
||||||
|
- [2026-03-27: 봇 상태 메시지(Presence) 기능 구현](./work-log/2026-03-27_Presence_Implementation.md)
|
||||||
|
- [2026-03-27: Kord 프로젝트 초기 설정 및 파운데이션 구축 (Initial Setup)](./work-log/2026-03-27_Project_Initial_Setup.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Graph — graphify 산출물 메타
|
||||||
|
|
||||||
|
graphify 자동 생성 영역 — 손대지 말 것. → [graph/index.md](./graph/index.md)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Issues — 운영 장애/이슈 대응 기록
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
- [50013 Missing Permissions (Voice Channel Creation)](./50013_Missing_Permissions.md)
|
||||||
|
- [임시 음성 채널 미삭제 및 유령 방 버그 (handleLeave)](./handleLeave_ghost_channel.md)
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Maintenance — 수동 운영 절차 (마이그레이션/복구/배치)
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
현재 등록된 문서 없음
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Security — 인증/인가, 입력 검증, 비밀 값 관리
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
- [보안 개발 가이드라인 (Security Rules)](./security_guidelines.md)
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
kind: usage
|
||||||
|
title: Usage 카테고리 인덱스
|
||||||
|
description: 이식자·운영자 대상 사용 가이드(설정 체크리스트·FAQ 등) 인덱스.
|
||||||
|
owner: template-maintainer
|
||||||
|
stability: living
|
||||||
|
last_reviewed: 2026-05-07
|
||||||
|
---
|
||||||
|
|
||||||
|
# Usage — 이식자 사용 가이드
|
||||||
|
|
||||||
|
이 카테고리는 본 템플릿을 cp-R 로 **이식한 사용자 관점** 의 운영 문서를 모은다. 내부 구조 설명은 `architecture/`, 개발 규칙은 `development/` 로 분리.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
현재 등록된 문서 없음
|
||||||
|
|
@ -34,10 +34,10 @@
|
||||||
- *해결*: 개발 과정에선 소스 오류가 아님을 확인 후, 사용자에게 디스코드 포털에서의 활성화 작업 요청 조치.
|
- *해결*: 개발 과정에선 소스 오류가 아님을 확인 후, 사용자에게 디스코드 포털에서의 활성화 작업 요청 조치.
|
||||||
- **채널 생성 권한 충돌 (50013: Missing Permissions)**:
|
- **채널 생성 권한 충돌 (50013: Missing Permissions)**:
|
||||||
- *문제*: 봇이 임시 채널을 생성할 때 방장에게 `ManageRoles`, `ManageChannels` 등의 오버라이드 권한을 주려 했으나, 봇 자신에게 해당 권한이 서버 수준에서 부족하여 생성 실패 에러 발생.
|
- *문제*: 봇이 임시 채널을 생성할 때 방장에게 `ManageRoles`, `ManageChannels` 등의 오버라이드 권한을 주려 했으나, 봇 자신에게 해당 권한이 서버 수준에서 부족하여 생성 실패 에러 발생.
|
||||||
- *해결*: 권한 덮어쓰기 로직에 try-catch 래핑을 추가하여 실패 시 권한 오버라이드를 제외한 순정 채널로 생성하도록 우회 해결. 자세한 사항은 [50013_Missing_Permissions.md](../Troubleshooting/50013_Missing_Permissions.md) 참고.
|
- *해결*: 권한 덮어쓰기 로직에 try-catch 래핑을 추가하여 실패 시 권한 오버라이드를 제외한 순정 채널로 생성하도록 우회 해결. 자세한 사항은 [50013_Missing_Permissions.md](../issues/50013_Missing_Permissions.md) 참고.
|
||||||
- **퇴장 시 채널 미삭제 및 유령 방 버그**:
|
- **퇴장 시 채널 미삭제 및 유령 방 버그**:
|
||||||
- *문제*: 채널 내에 음악봇 등 봇만 남았을 때 삭제 조건이 작동하지 않고, 권한 문제로 삭제가 실패했을 때 DB 무결성이 깨지는 버그.
|
- *문제*: 채널 내에 음악봇 등 봇만 남았을 때 삭제 조건이 작동하지 않고, 권한 문제로 삭제가 실패했을 때 DB 무결성이 깨지는 버그.
|
||||||
- *해결*: 휴먼 카운트(`humanCount`) 도입 및 삭제 롤백 검증 처리. 자세한 사항은 [handleLeave_ghost_channel.md](../Troubleshooting/handleLeave_ghost_channel.md) 참조.
|
- *해결*: 휴먼 카운트(`humanCount`) 도입 및 삭제 롤백 검증 처리. 자세한 사항은 [handleLeave_ghost_channel.md](../issues/handleLeave_ghost_channel.md) 참조.
|
||||||
- **봇 재부팅 복구 (Boot Recovery)**:
|
- **봇 재부팅 복구 (Boot Recovery)**:
|
||||||
- *사유*: 봇 재시작·크래시 등으로 DB와 디스코드 실제 채널 상태가 어긋나게 될 경우를 방지.
|
- *사유*: 봇 재시작·크래시 등으로 DB와 디스코드 실제 채널 상태가 어긋나게 될 경우를 방지.
|
||||||
- *해결*: `VoiceService.syncChannels`로 부팅 시 DB를 기준으로 유령 방을 크로스체크 및 청소(Garbage Collection)하도록 반영. (다중 인스턴스 동시 실행 시 동일 작업이 겹칠 수 있으나 작업은 멱등에 가깝게 설계됨.)
|
- *해결*: `VoiceService.syncChannels`로 부팅 시 DB를 기준으로 유령 방을 크로스체크 및 청소(Garbage Collection)하도록 반영. (다중 인스턴스 동시 실행 시 동일 작업이 겹칠 수 있으나 작업은 멱등에 가깝게 설계됨.)
|
||||||
|
|
@ -29,4 +29,4 @@
|
||||||
- **지연 시간**: 로컬 환경 기준 10ms 이내의 빠른 응답 속도를 확인.
|
- **지연 시간**: 로컬 환경 기준 10ms 이내의 빠른 응답 속도를 확인.
|
||||||
|
|
||||||
## 관련 문서
|
## 관련 문서
|
||||||
- [대시보드 아키텍처 결정서](../Decisions/Dashboard_Architecture_gRPC.md)
|
- [대시보드 아키텍처 결정서](../adr/Dashboard_Architecture_gRPC.md)
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Work Log — 세션 간 handoff, 시점성 작업 메모
|
||||||
|
|
||||||
|
이 카테고리에 문서를 추가할 때는 `../development/document-category-classification.md` 의 분류 기준을 따른다.
|
||||||
|
|
||||||
|
## 목록
|
||||||
|
|
||||||
|
- [Process Cleanup (2026-04-22)](./2026-04-22_ProcessCleanup.md)
|
||||||
|
- [Dashboard & Bot Stability Infrastructure Fix (2026-04-21)](./2026-04-21_fix_dashboard_panic.md)
|
||||||
|
- [인프라 치명적 오류 복구 및 안정화 (2026-04-21)](./2026-04-21_Infrastructure_Recovery_And_Stability.md)
|
||||||
|
- [gRPC Proto 파일 경로 인식 오류 수정 (2026-04-21)](./2026-04-21_gRPC_Proto_Path_Resolution_Fix.md)
|
||||||
|
- [Work Done: README 로컬 접속 정보 업데이트 (README Local Connection Info Update)](./2026-04-21_README_Local_Connection_Info_Update.md)
|
||||||
|
- [2026-04-20: 모노레포 전환 및 gRPC 통신 테스트 완료 (Monorepo & gRPC Test)](./2026-04-20_Monorepo_Migration_And_gRPC_Test.md)
|
||||||
|
- [2026-04-07: 낚시 크기 랭킹 구현](./2026-04-07_Fishing_Size_Ranking_Implementation.md)
|
||||||
|
- [2026-04-07 Fishing Dex and Size Implementation](./2026-04-07_Fishing_Dex_And_Size_Implementation.md)
|
||||||
|
- [2026-04-07 Fishing Mini-Game Phase 2 Implementation](./2026-04-07_Fishing_MiniGame_Phase2_Implementation.md)
|
||||||
|
- [2026-03-31 낚시 미니게임 Phase 1 완료](./2026-03-31_Fishing_MiniGame_Phase1_Completion.md)
|
||||||
|
- [2026-03-31 낚시 미니게임 Phase 1 구현](./2026-03-31_Fishing_MiniGame_Phase1_Implementation.md)
|
||||||
|
- [2026-03-31 - YouTube Music Playback Phase 3 Implementation](./2026-03-31_YouTube_Music_Playback_Phase3_Implementation.md)
|
||||||
|
- [Kord - YouTube 음악 재생 Phase 2 구현](./2026-03-31_YouTube_Music_Playback_Phase2_Implementation.md)
|
||||||
|
- [Kord - YouTube 음악 재생 Phase 1 구현](./2026-03-30_YouTube_Music_Playback_Phase1_Implementation.md)
|
||||||
|
- [2026-03-30: 이벤트 리마인더 분 단위 옵션 구현 (Event Reminder Offsets Implementation)](./2026-03-30_Event_Reminder_Offsets_Implementation.md)
|
||||||
|
- [2026-03-30: 서버 이벤트 시작 시점 공지 구현 (Event Schedule Start Announcement Implementation)](./2026-03-30_Event_Schedule_Start_Announcement_Implementation.md)
|
||||||
|
- [2026-03-30: 서버 이벤트 일정 관리 Phase 2 구현 (Event Schedule Phase 2 Implementation)](./2026-03-30_Event_Schedule_Phase2_Implementation.md)
|
||||||
|
- [2026-03-30: 서버 이벤트 일정 관리 Phase 1 구현 (Event Schedule Phase 1 Implementation)](./2026-03-30_Event_Schedule_Phase1_Implementation.md)
|
||||||
|
- [미니게임 시스템 및 재련(Refinement) 구현 완료 보고서](./2026-03-30_RefinementImplementation.md)
|
||||||
|
- [Gathered Command UI Refactoring (2026-03-30)](./2026-03-30_HierarchicalRefactor.md)
|
||||||
|
- [2026-03-27: 에러 안내 UX (Error Guidance) 개선 및 통합 Implementation](./2026-03-27_Error_Guidance_UX_Implementation.md)
|
||||||
|
- [2026-03-27: 권한 진단 (Permission Audit) 기능 구현 Implementation](./2026-03-27_Permission_Audit_Implementation.md)
|
||||||
|
- [2026-03-27: 감사 채널 (Audit Log Channel) 구현 Implementation](./2026-03-27_Audit_Log_Channel_Implementation.md)
|
||||||
|
- [2026-03-27: /config 명령어 구조 개선 및 기능 관리 리팩토링 (Config & Feature Refactoring)](./2026-03-27_Config_And_Feature_Refactoring.md)
|
||||||
|
- [2026-03-27: i18n 테스트 코드 검사 도구 구현 (i18n Check Tool Implementation)](./2026-03-27_i18n_Check_Tool_Implementation.md)
|
||||||
|
- [2026-03-27: 다국어 지원(i18n) 구현](./2026-03-27_i18n_Implementation.md)
|
||||||
|
- [2026-03-27: 임시 음성 채널 고도화 (서버별 설정 및 닉네임 폴백)](./2026-03-27_Voice_Channels_Improvements.md)
|
||||||
|
- [2026-03-27 작업 내역: 임시 음성 채널 기능 구현](./2026-03-27_Voice_Channels_Implementation.md)
|
||||||
|
- [2026-03-27: 봇 상태 메시지(Presence) 기능 구현](./2026-03-27_Presence_Implementation.md)
|
||||||
|
- [2026-03-27: Kord 프로젝트 초기 설정 및 파운데이션 구축 (Initial Setup)](./2026-03-27_Project_Initial_Setup.md)
|
||||||
Loading…
Reference in New Issue