# PortfolioHub SRS Index 이 문서는 `docs/SRS/` 하위 requirement 문서의 운영 기준과 등록 현황을 관리한다. ## Requirement 작성 규칙 - Requirement 하나당 문서 하나를 사용한다. - 새 requirement ID의 source of truth는 이 문서의 `Next Requirement ID`다. - Type 분류는 주된 사용자/외부 계약을 기준으로 결정한다. - `Interface`: API, CLI, UI 등 사용자가 직접 조작하거나 호출하는 방식 - `Data`: 저장 구조, 스키마, 데이터 형식 자체가 핵심 제약인 경우 - `Exception & Error Handling`: 오류 응답, 복구, 재시도 전략이 핵심인 경우 - 그 외는 관련 운영 기준에 따라 적절한 Type을 선택한다. - 각 requirement는 최소한 `Status`, `Type`, `Priority`, `Owner`, `Intent`, `Requirement`, `Acceptance Criteria`, `Impacted Area`, `Change Log`를 포함해야 한다. - 새 requirement가 추가되면 `Requirement Register`와 `Next Requirement ID`를 함께 갱신한다. - 최근 변경 요약은 최신 항목을 위에 두고 최대 5건만 유지한다. ## Next Requirement ID - `REQ-005` ## Requirement Register | REQ ID | Title | Type | Status | Priority | Owner | File | |---|---|---|---|---|---|---| | REQ-001 | 포트폴리오 댓글형 메모 이력 지원 | Interface | Approved | Medium | Justin | `docs/SRS/Interface/REQ-001_portfolio-comment-history.md` | | REQ-002 | 포트폴리오 태깅 및 태그 기반 검색 지원 | Interface | Approved | Medium | Justin | `docs/SRS/Interface/REQ-002_portfolio-tagging-and-search.md` | | REQ-003 | 포트폴리오 필수 필드 및 거래소/시장 데이터 정의 | Data | Proposed | Medium | Justin | `docs/SRS/Data/REQ-003_portfolio-required-fields.md` | | REQ-004 | 포트폴리오 소유주 기반 접근 제어 | Interface | Proposed | High | Justin | `docs/SRS/Interface/REQ-004_portfolio-ownership-access-control.md` | ## Recent Change Log Summary - 2026-04-14 — `REQ-002`를 Approved로 전환했다. - 2026-04-14 — `REQ-002`에 태그 정규화 규칙과 `includeTags`/`excludeTags`/`matchMode` 검색 계약을 추가해 승인 blocker를 줄였다. - 2026-04-14 — `REQ-004`에 사용자 귀속 봇 principal(`bot_principals.owner_user_id`) 및 봇 토큰 실효 사용자 매핑 규칙(AC6, AC7)을 추가했다. - 2026-04-13 — `REQ-004` 포트폴리오 소유주(`owner_user_id`) 및 소유권 기반 접근 제어 requirement를 추가했다. - 2026-04-13 — `REQ-003`에서 태그 필터 기반 조회의 결정성 유지 책임을 소비 서비스(stock-picker)로 이관했다. ## Status Transition Evidence - `Proposed` → `Approved`: Owner가 지정되고 requirement 문서 리뷰가 완료되며 acceptance criteria가 누락 없이 검토되어야 한다. - `Approved` → `Implemented`: 구현 코드가 병합되고 관련 문서 및 테스트 경로가 requirement 또는 traceability matrix에 연결되어야 한다. - `Implemented` → `Verified`: 자동 테스트 또는 수동 검증 evidence가 확인되어야 한다. - `Verified` → `Released`: 배포 또는 릴리스 노트 반영 evidence가 확인되어야 한다. ## Related Documents - Requirement files: `docs/SRS//REQ-XXX_.md` - Traceability matrix: `docs/SRS/traceability-matrix.md`