Files

1.8 KiB

id, status
id status
ac-0015 active

공유 전략 identity와 revision 계약

Criterion

nick은 전략의 독립 저장 identity이며 trim 후 비어 있지 않고 전략 간 유일해야 한다. 생성에서 nick을 생략하면 기존 호환성을 위한 결정적 기본값을 만들고 explicit null 또는 blank는 거부해야 하며, PATCH에서 nick을 생략하면 name·config 변경과 관계없이 기존 값을 보존해야 한다. admin PATCH는 기존 전략 row의 ID를 유지하면서 요청된 nick·name·config·status의 실질적 변경을 원자적으로 반영하고 revision을 증가시켜야 하며, 모든 참조 포트폴리오의 이후 portfolio-hub API 조회는 commit된 최신 nick, 설정과 revision을 반환해야 한다.

Verification

  • 성공 조건: 사용자 지정 nick 생성과 nick 단독 PATCH 뒤 ID는 동일하고 revision은 단조 증가하며, name·config만 바꾼 PATCH는 기존 nick을 보존하고 참조 포트폴리오 조회에 최신 nick, 설정과 revision이 나타난다.
  • 실패·경계 조건: explicit null·blank·중복 nick은 무변경으로 거부되고 no-op PATCH는 revision을 올리지 않으며, 동시 partial PATCH도 명시적으로 바꾸지 않은 nick이나 다른 최신 필드를 잃지 않는다.
  • 검사 방법: API/repository 회귀와 실제 PostgreSQL 동시 partial PATCH 시험으로 omission/null/blank/중복, ID, revision, nick 보존·변경, name/config/status 및 포트폴리오 read-back을 검사한다.
  • 현재 구현 평가: FOR UPDATE 기반 update, 사용자 지정·trim·null/blank·중복·no-op·revision 테스트와 생략된 nick 보존 PostgreSQL 시험이 존재한다. 포트폴리오 strategy_nick read-back을 직접 단언하는 테스트는 없어 그 검증은 PARTIAL이다.