fix(portfolio): name 검증에 한글+공백 허용 (minor-change, CHG-20260627-03)
_PORTFOLIO_NAME_RE + CLI _NAME_RE를 ^[a-zA-Z0-9가-힣 ._:-]{1,100}$로 완화. name은 (owner,name) 조회 키일 뿐 wire 식별자 아님. 475 passed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5
This commit is contained in:
@@ -56,6 +56,33 @@
|
||||
|
||||
## Change Log
|
||||
|
||||
### CHG-20260627-03
|
||||
- Date: 2026-06-27
|
||||
- Author: portfolio-hub-dev
|
||||
|
||||
#### Change Summary
|
||||
- `_PORTFOLIO_NAME_RE` 정규식 완화: 한글(가-힣) + 공백 허용 추가.
|
||||
|
||||
#### Intent
|
||||
- 포트폴리오 name은 `(owner_user_id, name)` 조회 키로만 쓰이며 wire 식별자가 아니므로 UTF-8 한글이 안전하다. 사용자 가독성 향상을 위해 한글 이름과 공백을 허용한다.
|
||||
|
||||
#### Acceptance Criteria Delta
|
||||
- No change (기존 AC 그대로 유지)
|
||||
|
||||
#### Impacted Area Delta
|
||||
- `app/schemas/portfolio.py`: `_PORTFOLIO_NAME_RE` → `^[a-zA-Z0-9가-힣 ._:\-]{1,100}$`, `validate_name` 에러 메시지 갱신.
|
||||
- `tests/test_portfolio_uuid.py`: 한글 name 통과(`test_name_validation_accepts_korean`), 기존 ASCII name 통과(`test_name_validation_accepts_ascii_unchanged`), 101자 초과 거부(`test_name_validation_rejects_over_100_chars`) 케이스 추가.
|
||||
|
||||
#### Delivery Trace Delta
|
||||
- Batches: minor-change (batch-lite 불필요 단일 저위험 변경)
|
||||
- Releases: pending
|
||||
|
||||
#### Revalidation Impact
|
||||
- Reverification Needed: no (기존 AC 충족 범위 확장만이며 거부 규칙 약화 없음 — `!` 등 비허용 문자는 여전히 거부)
|
||||
- Existing Implementation Invalidated: no
|
||||
- Status Recommendation: keep-implemented
|
||||
- Follow-up Action: 없음
|
||||
|
||||
### CHG-20260524-02
|
||||
- Date: 2026-05-24
|
||||
- Author: Hermes Agent
|
||||
|
||||
Reference in New Issue
Block a user