12 KiB
12 KiB
Software Requirement Specification Index
목적
- 이 문서는 프로젝트의 SRS 운영 기준과 requirement 목록을 관리하는 entry point이다.
- 개별 requirement의 상세 내용은 타입별 폴더 하위
req-XXX_*.md파일에서 관리한다.
사용 방법
- 새로운 requirement가 필요하면
Next Requirement ID를 확인하고docs/srs/<Type>/req-XXX_<slug>.md파일을 생성한다. - 초안 작성은
draft-req, 승인 전환은confirm-req, 변경 대응은change-req, 구현 완료 전환은confirm-req-implementedskill을 기준으로 수행한다. - requirement 추가 또는 변경 후
Next Requirement ID,Requirement Register,Recent Change Log Summary를 함께 갱신한다.
상태 정의
- Proposed: 초안 상태이며 구현 기준으로 확정되지 않음
- Approved: 구현 기준으로 승인됨
- Implemented: 구현과 검증이 완료됨
- Deprecated: 더 이상 유지하지 않음
Requirement 타입 분류 도표
| 타입 | 정의 | 예시 |
|---|---|---|
| Configuration | 설정 옵션, 커스터마이징 포인트 | 환경 변수, 옵션 항목 |
| Data | 데이터 구조, 저장/로드, 파일 형식, 스키마 | DB 스키마, import payload |
| Deployment | 배포 방식, 운영 절차, 배포 환경 | 서비스 실행, 운영 가이드 |
| Documentation | 문서 작성, 가이드, 매뉴얼, 안내서 | 사용자 가이드, API 문서 |
| Exception | 오류 처리, 예외 복구, 재시도 전략 | parser 오류, validation 실패 |
| Installation | 시스템 설치, 환경 구성, 초기화 절차 | venv, MCP 등록, DB 초기화 |
| Integration | 외부 시스템 연동, 플러그인, 확장 | KB/토스/서울페이 import |
| Interface | 사용자 상호작용 방식 | MCP tool, Streamlit UI |
| Migration | 데이터 이전, 버전 업그레이드 | SQLite schema migration |
| Non-Functional | 성능, 보안, 확장성, 호환성, 신뢰성 | 개인정보/금융정보 보호, UX 성능, 아키텍처 유지보수성 |
| Testing | 테스트 전략, QA 요구사항, 검증 방식 | parser regression, report validation |
Next Requirement ID
- Current:
REQ-019 - Rule:
Requirement Register에 있는 가장 큰 REQ 번호보다 정확히 1 커야 한다.
Requirement Register
| ID | Title | Type | Status | Priority | Owner | Link |
|---|---|---|---|---|---|---|
| REQ-001 | 분류 규칙 운영 액션의 DB 경로 일관성 및 삭제 노출 | Interface | Implemented | High | 렛저장인 | req-001_category-rule-ops.md |
| REQ-002 | 운영 안전 백업·복구·검증 DB 워크플로우 | Non-Functional | Implemented | High | 렛저장인 | req-002_operational-safety-backup-restore-validation-db.md |
| REQ-003 | Statement-unavailable 계좌 수동 증빙 및 잔액대조 | Interface | Implemented | High | 렛저장인 | req-003_statement-unavailable-manual-evidence-balance-reconciliation.md |
| REQ-004 | Browser/Streamlit E2E evidence 환경 복구 | Testing | Implemented | High | 렛저장인 | req-004_browser-streamlit-e2e-evidence-recovery.md |
| REQ-005 | Dashboard operations hub/liquidity/monthly cashflow | Interface | Implemented | High | 렛저장인 | req-005_dashboard-operations-hub-liquidity-monthly-cashflow.md |
| REQ-006 | pytest/AppTest/Smoke CI 자동화 | Testing | Implemented | High | 렛저장인 | req-006_pytest-apptest-smoke-ci-automation.md |
| REQ-007 | MCP response contract versioning governance | Interface | Implemented | High | 렛저장인 | req-007_mcp-response-contract-versioning-governance.md |
| REQ-008 | CI contract regression and lint required checks | Testing | Implemented | High | 렛저장인 | req-008_ci-contract-regression-and-lint-required-checks.md |
| REQ-009 | Asset snapshot/manual assets valuation model | Data | Implemented | High | 렛저장인 | req-009_asset-snapshot-manual-assets-valuation-model.md |
| REQ-010 | Asset snapshot/net worth read MCP and dashboard alignment | Interface | Implemented | High | 렛저장인 | req-010_asset-snapshot-net-worth-read-mcp-and-dashboard-alignment.md |
| REQ-011 | Manual asset CRUD / month-end snapshot write model | Data | Implemented | High | 렛저장인 | req-011_manual-asset-crud-month-end-snapshot-write-model.md |
| REQ-012 | Manual asset CRUD / snapshot close MCP and operator dashboard alignment | Interface | Implemented | High | 렛저장인 | req-012_manual-asset-crud-snapshot-close-mcp-and-operator-dashboard-alignment.md |
| REQ-013 | Backend core layering / SQLite infrastructure split and service facade compatibility | Non-Functional | Implemented | High | 렛저장인 | req-013_backend-core-layering-sqlite-infrastructure-service-facade-compatibility.md |
| REQ-014 | MCP/Streamlit adapter seam realignment and contract-preserving gateway | Interface | Implemented | High | 렛저장인 | req-014_mcp-streamlit-adapter-seam-realignment-contract-preserving-gateway.md |
| REQ-015 | Transactional write service split and compatibility-preserving domain extraction | Non-Functional | Implemented | High | 렛저장인 | req-015_transactional-write-service-split-compatibility.md |
| REQ-016 | Import pipeline application/infrastructure split and evidence-preserving parser relocation | Non-Functional | Implemented | High | 렛저장인 | req-016_import-pipeline-application-infrastructure-split.md |
| REQ-017 | Advanced finance workflow service split and compatibility-preserving domain isolation | Non-Functional | Implemented | High | 렛저장인 | req-017_advanced-finance-workflow-service-split.md |
| REQ-018 | MCP/Streamlit adapter surface narrowing and baseline refresh for dcy-011 completion | Interface | Implemented | High | 렛저장인 | req-018_adapter-surface-narrowing-baseline-refresh.md |
Recent Change Log Summary
- 2026-06-26 23:31 KST: dcy-001 후속 첫 구현 범위로 REQ-001을 Approved 상태로 등록.
- 2026-06-26 23:41 KST: BAT-001 검증 및 검수관 PASS_WITH_NOTES 근거로 REQ-001을 Implemented 상태로 전환.
- 2026-06-27 10:17 KST: dcy-002 후속 운영 안전장치 범위로 REQ-002를 생성하고 사용자 승인 기본안에 따라 Approved 상태로 등록.
- 2026-06-27 10:33 KST: BAT-002 verification 및 jarcaledgerqc PASS 근거로 REQ-002를 Implemented 상태로 전환.
- 2026-06-29 KST: dcy-003 confirmed 범위로 REQ-003을 생성하고 BAT-003 구현·검증 대상으로 등록.
- 2026-06-29 KST: dcy-004 confirmed 범위로 REQ-004를 생성하고 BAT-004 browser evidence 구현·검증 대상으로 등록.
- 2026-06-29 20:03 KST: dcy-005 confirmed 범위로 REQ-005를 Proposed 상태로 생성하고 dashboard operations hub/liquidity/monthly cashflow 요구사항으로 등록.
- 2026-06-29 21:08 KST: REQ-005를 Approved로 전환하고 dcy-005 구현 입력으로 확정.
- 2026-06-30 16:48 KST: BAT-005 구현·검증 evidence와
pytest -qPASS, synthetic Streamlit browser evidence를 근거로 REQ-005를 Implemented로 전환. - 2026-06-30 14:42 KST: dcy-006 confirmed 범위로 REQ-006을 Proposed 상태로 생성하고 GitHub Actions 기반 pytest/AppTest/HTTP smoke/DB safety smoke CI 요구사항으로 등록.
- 2026-06-30 14:50 KST: REQ-006을 Approved로 전환하고 BAT-006 standard batch 입력으로 확정.
- 2026-06-30 15:29 KST: BAT-006 구현과 jarcaledgerqc PASS_WITH_NOTES 검증을 근거로 REQ-006을 Implemented로 전환.
- 2026-06-30 18:35 KST: dcy-007 confirmed 범위를
REQ-007(MCP response contract versioning governance)과REQ-008(CI contract regression and lint required checks) Proposed 상태로 생성했다. - 2026-06-30 18:56 KST:
REQ-007,REQ-008을 승인 게이트 재검토 후 Approved로 전환했다. - 2026-06-30 KST: BAT-007 구현과 contract regression/lint/smoke 검증 evidence를 근거로
REQ-007,REQ-008을 Implemented로 전환했다. - 2026-06-30 21:17 KST: dcy-008 confirmed 범위를
REQ-009(asset snapshot/manual assets valuation model)과REQ-010(asset snapshot/net worth read MCP and dashboard alignment) Proposed 상태로 생성했다. - 2026-06-30 21:24 KST:
REQ-009,REQ-010을 승인 게이트 재검토 후 Approved로 전환했다. - 2026-06-30 22:05 KST: BAT-008 구현·검증 evidence, fresh Streamlit browser smoke, jarcaledgerqc PASS gate를 근거로
REQ-009,REQ-010을 Implemented로 전환했다. - 2026-07-01 09:00 KST: dcy-009 confirmed 범위를
REQ-011(manual asset CRUD / month-end snapshot write model)과REQ-012(manual asset CRUD / snapshot close MCP and operator dashboard alignment) Proposed 상태로 생성했다. - 2026-07-01 09:02 KST:
REQ-011,REQ-012를 승인 게이트 재검토 후 Approved로 전환했다. - 2026-07-01 10:52 KST: BAT-009 구현·검증 evidence, full pytest PASS, MCP tool discovery, browser smoke를 근거로
REQ-011,REQ-012를 Implemented로 전환했다. - 2026-07-03 00:15 KST: dcy-010 confirmed 범위를
REQ-013,REQ-014로 생성하고 승인 상태를 정리했다. - 2026-07-03 00:18 KST: BAT-010 구현·검증 evidence, full pytest PASS, MCP tool discovery, browser smoke를 근거로
REQ-013,REQ-014를 Implemented로 전환했다. - 2026-07-03 07:30 KST: dcy-011 confirmed 범위를
REQ-015Proposed로 생성하고 첫 delivery 입력으로 Approved 상태로 전환했다. - 2026-07-03 07:39 KST: BAT-011 write-service split 구현과 full pytest/MCP discovery evidence를 근거로
REQ-015를 Implemented로 전환했다. - 2026-07-03 07:49 KST: dcy-011 Phase 5 import pipeline split 범위를
REQ-016으로 생성하고 BAT-012 입력으로 Approved 상태를 확정했다. - 2026-07-03 07:53 KST: BAT-012 import pipeline split 구현과 full pytest/MCP discovery evidence를 근거로
REQ-016을 Implemented로 전환했다. - 2026-07-03 07:55 KST: dcy-011 Phase 6 advanced workflow split 범위를
REQ-017로 생성하고 BAT-013 입력으로 Approved 상태를 확정했다. - 2026-07-03 08:01 KST: BAT-013 advanced workflow split 구현과 full pytest/MCP discovery evidence를 근거로
REQ-017을 Implemented로 전환했다. - 2026-07-03 08:03 KST: dcy-011 Phase 7 adapter narrowing + baseline refresh 범위를
REQ-018로 생성하고 BAT-014 입력으로 Approved 상태를 확정했다. - 2026-07-03 08:23 KST: BAT-014 adapter narrowing + baseline refresh 구현과 AppTest/full pytest/MCP discovery evidence를 근거로
REQ-018을 Implemented로 전환했다.