docs(dcy-009): confirm-req-implemented — REQ-044/045 Implemented, bat-019 confirmed

머지 PR #16(7f15c6b) 반영. 사용자 read 엔드포인트 delivery 완료. REQ-045 env토큰 처리 200+empty로 문서 동기화(change-req).

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 10:46:35 +09:00
co-authored by Claude Opus 4.8
parent 7f15c6b664
commit 853a9bdab8
6 changed files with 98 additions and 15 deletions
@@ -1,6 +1,6 @@
# REQ-044: GET /v1/assets 권한 완화 — require_admin → require_read
- Status: Approved
- Status: Implemented
- Approved By: 팀장 (Claude), 2026-06-27 (confirm-req)
- Type: Interface
- Priority: High
@@ -44,6 +44,43 @@
## Change Log
### CHG-20260627-02
- Date: 2026-06-27
- Author: 팀장 (Claude)
#### Change Summary
- 상태 `Approved` → `Implemented` (confirm-req-implemented).
#### Intent
- BAT-019 PR #16이 main(`7f15c6b`)으로 머지 완료됨에 따라 구현·검증 완료를 공식화한다.
#### Acceptance Criteria Delta
- Added: 없음
- Updated: 없음
- Removed: 없음
#### Impacted Area Delta
- Docs: 상태 전환 기록만.
- Modules: 변경 없음.
- Tests: 변경 없음.
#### Delivery Trace Delta
- Batches: BAT-019
- PR: #16 (main 머지, HEAD `7f15c6b`)
- QC: PASS (독립 qc-reviewer)
- Releases: 미정
#### Revalidation Impact
- Reverification Needed: no
- Existing Implementation Invalidated: no
- Status Recommendation: Implemented
- Follow-up Action: 없음
#### Validation Plan
- BAT-019 verification.md Evidence — 472 passed, 0 failed (2026-06-27). AC-1~9 전부 PASS.
---
### CHG-20260627-01
- Date: 2026-06-27
- Author: Justin Ko
@@ -1,6 +1,6 @@
# REQ-045: 사용자 가용 데몬 목록 read 엔드포인트 신설
- Status: Approved
- Status: Implemented
- Approved By: 팀장 (Claude), 2026-06-27 (confirm-req)
- Type: Interface
- Priority: High
@@ -41,12 +41,51 @@
## Notes
- OQ-2(엔드포인트 경로·응답 스키마 형태): design 단계에서 기존 라우팅 컨벤션(`/v1/daemons` vs `/v1/users/me/daemons` 등)을 분석해 확정. 이 REQ에서는 경로를 확정하지 않으며 design Deferred. confirm-req 시 blocker 아님 — design 단계 위임 가능.
- OQ-3("가용 데몬" 의미): 현재 기본안은 사용자 소유 데몬 전체(`find_candidate_daemons_for_user`). active 여부 필터링이 필요한지(소유 active 전체 vs 미바인딩 후보) design에서 확정. 이 REQ에서는 "caller 소유 데몬"으로만 명시하며 active 필터는 design 위임.
- env 기반 token(`token_source="env"`)은 `user_id`가 None이다. 이 경우 `auth.user_id`가 없어 caller 스코프 적용이 불가 — design에서 env 토큰의 처리 방침(거부 vs 전체 반환)을 확정할 것. 기본안: DB 토큰만 허용(user_id 없으면 HTTP 403).
- env 기반 token(`token_source="env"`)은 `user_id`가 None이다. 이 경우 `auth.user_id`가 없어 caller 스코프 적용이 불가. **구현 확정(BAT-019 design/CHG-20260627-02): user_id=None이면 빈 목록 `[]` HTTP 200 반환.** 403 거부 대신 빈 목록으로 안전하게 처리하며, env토큰 호출자는 소유 데몬이 없는 것으로 간주한다. 초안의 "기본안: DB 토큰만 허용(user_id 없으면 HTTP 403)"은 폐기한다. 근거: BAT-019 design.md OQ-2 결정 + AC-4/verification evidence `test_daemons_admin_token_with_user_id_none_returns_empty` PASSED.
- NFR-1(기존 admin asset 관리·토큰 daemon 바인딩 회귀 0)은 AC-7 회귀 확인으로 흡수한다.
- NFR-2(caller 스코프 정확)는 AC-1/3/6으로 흡수한다.
## Change Log
### CHG-20260627-02
- Date: 2026-06-27
- Author: 팀장 (Claude)
#### Change Summary
- 상태 `Approved` → `Implemented` (confirm-req-implemented) + Notes env토큰 처리 정정(change-req: "403 거부" → "빈 목록 200").
#### Intent
- BAT-019 PR #16이 main(`7f15c6b`)으로 머지 완료됨에 따라 구현·검증 완료를 공식화한다.
- QC가 지적한 문서(Notes: "user_id 없으면 HTTP 403")-구현(빈 목록 200) 불일치를 해소한다.
#### Acceptance Criteria Delta
- Added: 없음
- Updated: AC-4(데몬 없으면 빈 목록 200)는 env토큰(user_id=None) 케이스에도 적용됨을 명확히 함. AC 본문 변경 없음(이미 "해당 사용자에게 데몬이 없는 경우 빈 목록"으로 커버). Notes의 env토큰 처리 방침 기술 정정.
- Removed: Notes의 "기본안: DB 토큰만 허용(user_id 없으면 HTTP 403)" 폐기.
#### Impacted Area Delta
- Docs: REQ-045 Notes 내 env토큰 처리 기술 정정.
- Modules: 변경 없음 (구현은 이미 빈 목록 200으로 배포됨).
- Tests: 변경 없음 (`test_daemons_admin_token_with_user_id_none_returns_empty` PASSED — 이미 커버).
#### Delivery Trace Delta
- Batches: BAT-019
- PR: #16 (main 머지, HEAD `7f15c6b`)
- QC: PASS (독립 qc-reviewer, env토큰 문서-구현 불일치 지적 → 이번 change-req로 해소)
- Releases: 미정
#### Revalidation Impact
- Reverification Needed: no
- Existing Implementation Invalidated: no (구현은 이미 빈 목록 200, 문서만 맞춤)
- Status Recommendation: Implemented
- Follow-up Action: 없음
#### Validation Plan
- BAT-019 verification.md Evidence — 472 passed, 0 failed (2026-06-27). AC-1~7 전부 PASS.
- env토큰 케이스: `test_daemons_admin_token_with_user_id_none_returns_empty` PASSED.
---
### CHG-20260627-01
- Date: 2026-06-27
- Author: Justin Ko