Existing life-helper already has the Redmine project (id=12), 8 persona categories, and Gitea remote, so this commit applies only the local-side pieces of the cloud-handson convention: - .claude/settings.json (safe-but-maximal permissions: allow-all + deny dangerous) - .claude/agents/ (8 persona subagents: planner/architect/designer/developer/reviewer/qa/release/documenter) - .claude/workflows/persona-pipeline.js - CLAUDE.md (Design-First hard gate) - docs/ skeleton (Diátaxis + ADR + design templates + QUEUE-PROTOCOL) - scripts/enqueue.sh - .env.example .gitignore: switched .claude/ blanket-ignore to .claude/settings.local.json so the new settings/agents/workflows actually commit. .env and nutrition/ stay ignored. Existing root SoT files (huberman-protocols.md, habit-*.md, data-model.md, schema/) are untouched. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
설계서: <기능명> (#)
상태: Draft 작성: [AI] Architect · 최종수정: 추적성 — Redmine: # · 관련 ADR: <ADR-NNNN 또는 없음> · 구현 파일: <경로 또는 TBD> · 테스트: <경로 또는 TBD>
1. 목적 (Why)
이 기능이 푸는 문제. Planner 의 목표 1줄 인용.
2. 범위 (Scope)
- 포함: ...
- 제외 (out of scope): ...
3. 인수조건 (Acceptance Criteria)
- ...
- ...
4. 컨텍스트 & 제약
- 의존성: 거래소 API / DB / 알림 / 외부 라이브러리.
- 제약: 성능, 레이트리밋, 리스크(돈), 보안.
- 가정: ...
5. 아키텍처 개요
- 모듈/파일 구조 (목록).
- 데이터 흐름 (텍스트 다이어그램).
- I/O ↔ 순수 전략 로직 경계 명시 (테스트 가능성).
<여기에 ASCII 흐름도>
6. 데이터 모델
- 입력 / 출력 / 저장 구조, 타입, 경계 검증 규칙.
7. 함수 명세 (Function Specs)
| 함수 | 책임(1줄) | 시그니처(잠정) | 입력 | 출력 | 에러/실패 | 복잡? |
|---|---|---|---|---|---|---|
<name> |
단순 / 복잡 |
복잡 기준: 분기/상태기계, 외부 I/O, 리스크(주문·잔고) 경로, 비자명 알고리즘. → 해당 함수는
fn-<name>.md작성. 단순(게터·포매터 등)은 이 표로 충분.
8. 흐름 / 알고리즘
- 핵심 시나리오 단계별. 상태 전이.
9. 엣지케이스 & 에러 처리
- 경계값, 실패 모드, 재시도/백오프.
- 안전한 기본값(API 실패 시 거래 중단 등).
10. 테스트 계획
- 단위/통합 케이스 목록 (각 인수조건에 매핑).
- 모킹/드라이런 전략 (거래소 API 등).
11. 리스크 & 대안 검토
- 선택한 접근 vs 대안, 트레이드오프.
- 되돌리기 어려운 결정 → ADR 로 분리 (
adr/NNNN-*.md).
12. 미해결 질문 (Open Questions)
- ...