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:
2026-06-27 12:03:33 +09:00
co-authored by Claude Opus 4.8
parent 853a9bdab8
commit 233cbc3df6
5 changed files with 74 additions and 4 deletions
@@ -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