From b2ef128acc90faf7cfd168cf4be6c0a70c2b1052 Mon Sep 17 00:00:00 2001 From: thxforall <113906780+thxforall@users.noreply.github.com> Date: Mon, 13 Jul 2026 18:24:27 +0900 Subject: [PATCH] =?UTF-8?q?docs(handoffs):=20QA=20wayfinder=20#907=20resol?= =?UTF-8?q?ved=20=ED=95=B8=EB=93=9C=EC=98=A4=ED=94=84=20(frontier=20#908/#?= =?UTF-8?q?909/#910)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #907 반복 prod 뮤테이션 viability resolve (AFK 백엔드조사 → HITL grilling → codex REVISE 교차검증 → 재-grill → 개정). 채택기준(모든 side-effect 검증된 inverse+비용 fail-closed+실사용자 노출0)·플로우 배치·안전 rail 확정, mechanism→#908/per-endpoint→#909 graduate. VTON 무인증·무상한 보안발견=vault 노트+공개 prep redaction. 이전 핸드오프가 워크트리 sweep으로 소실된 문제 방지 위해 커밋. Co-Authored-By: Claude Opus 4.8 (1M context) --- ...07-13-qa-wayfinder-907-resolved-handoff.md | 68 +++++++++++++++++++ docs/handoffs/README.md | 1 + 2 files changed, 69 insertions(+) create mode 100644 docs/handoffs/2026-07-13-qa-wayfinder-907-resolved-handoff.md diff --git a/docs/handoffs/2026-07-13-qa-wayfinder-907-resolved-handoff.md b/docs/handoffs/2026-07-13-qa-wayfinder-907-resolved-handoff.md new file mode 100644 index 000000000..e8610a573 --- /dev/null +++ b/docs/handoffs/2026-07-13-qa-wayfinder-907-resolved-handoff.md @@ -0,0 +1,68 @@ +# Handoff — QA wayfinder 맵 #904 (#907 resolved · frontier #908/#909/#910) + +**날짜:** 2026-07-13 · **세션:** #907(반복 prod 뮤테이션 viability) grilling → codex 교차검증 REVISE → 개정 resolve · 보안 에스컬레이션 +**맵:** [#904](https://github.com/decodedcorp/decoded/issues/904) 🗺️ 운영사이트(decoded.style) 에이전틱 QA + +--- + +## 이게 뭔가 (한 줄) + +decoded.style 컨슈머 사이트 QA 시나리오 매트릭스 + 반복 harness 설계 spec을 확정하는 wayfinder 맵. **계획까지**(구현은 `/to-tickets → /implement`). 이번 세션은 **frontier 티켓 #907을 resolve**하고 다음 frontier를 정리. + +## 이번 세션에 완료된 것 + +### ✅ #907 반복 prod 뮤테이션 viability — **RESOLVED·CLOSED** + +파이프라인: **AFK 백엔드 사실조사(Rust `api-server`) → HITL grilling(5분기) → codex 적대적 교차검증(REVISE) → 재-grill(2) → 개정 resolve.** + +**채택 기준:** prod 반복 QA 허용 = ①모든 side-effect(sync/async DB·스토리지·인덱스·AI)에 검증된 inverse + ②비용 fail-closed + ③실사용자 노출0, **일 때만.** + +- **safe core (prod 반복):** login · QA↔QA follow(직렬) · comment(QA포스트) · look-set save(사전부재확인) · **읽기(수용된 예외** — 글로벌 집계 노이즈 known-risk 문서화, 서버측 QA-제외는 후속) +- **강등(local/mock or 조건부 수동 canary):** post create/decode/try · VTON · post-like · signup · report +- **QA 계정 ≥2**(직렬 뮤테이션; 병렬은 lease pool) +- **안전 rail:** manifest 삭제(ID+owner+run_id+시각 일치) · 다신호 cleanup 검증(DB404+피드/프로필 부재+인덱스 task 완료) · R2 잔여물 gap 명시 + +**codex가 잡은 교훈(다음 세션도 유의):** 초안 grilling이 **3개 틀린 전제** 위에 있었음 — 실코드로 전부 확정: ①포스트 GET=`view_count`++·`view_log` INSERT(읽기≠side-effect0) ②Style DNA build=Gemini 호출(반복루프≠$0) ③`delete_post`가 R2 미정리(create→delete≠self-cleanup). **원인=조사를 5질문에 바운드→더 넓은 side-effect 표면 놓침.** 결정 티켓은 **엔드포인트별 side-effect 전수**를 얕게라도 훑고, 외부 모델 교차검증을 붙일 것. + +- resolution 상세 = [#907](https://github.com/decodedcorp/decoded/issues/907) resolution 코멘트(추상). 맵 #904 Decisions-so-far 등재 완료. + +## 현재 frontier (전부 OPEN·unclaimed) + +#905/#906/#907 closed. + +| 티켓 | type | 무엇 | 노트 | +| --- | --- | --- | --- | +| [#908](https://github.com/decodedcorp/decoded/issues/908) | grilling | harness 아키텍처(결정적/탐색적/하이브리드) | **먼저 권장** — #909 매트릭스 shape. **#907이 mechanism 입력 넘김**(run ledger·fail-closed 예산 차단기·스토리지 cleanup/TTL·account lease pool·서버측 QA 집계 제외·AI mock/격리 프로젝트) — #908 pointer 코멘트에 등재 | +| [#909](https://github.com/decodedcorp/decoded/issues/909) | grilling | 시나리오 우선순위 + 매트릭스 | C9 뮤테이션 행을 **엔드포인트별 inverse 검증표**로 재구성(#907). signup=commissioning 체크리스트. pointer 코멘트 등재 | +| [#910](https://github.com/decodedcorp/decoded/issues/910) | grilling | 세부 컴포넌트 검증 해상도(Storybook 없음) | 독립. prep 코멘트=대상집합(25 vs 74 DS배럴)·회귀자동화 vs 육안 | + +**prep 코멘트:** frontier 티켓에 AFK prep 첨부됨(workflow wfllzo7kz). ⚠️ **#909 prep은 VTON auth 노출이 redact됨**(아래 보안 참조) — 나머지 매트릭스 뼈대는 유효. + +## 🔒 보안 항목 (QA 범위 밖 — landed) + +- **VTON 무인증·무비용상한 발견**: `/api/v1/vton`이 인증·rate-limit·비용상한 없이 원격 Vertex 호출(아이템 체이닝 증폭) → GCP 쿼터가 유일 방벽. **QA 이슈 아닌 독립 보안 이슈.** +- vault 보안노트 작성+커밋(decoded-docs `Inbox/2026-07-13-vton-unauth-uncapped-security-finding.md`, file:line 근거, 팀 triage 대상). ⚠️ **vault branch `codex/marketing-research`에 커밋됨·미push** — 팀 공유하려면 push 필요. +- **공개 노출 redaction 완료**: `decodedcorp/decoded`는 **PUBLIC**. #907·#909 prep 코멘트의 악용상세(무인증·무상한·file:line) 제거, 4개 티켓 전부 clean 확인. + +## 재개 방법 + +- `/wayfinder #904` — **권장 #908 먼저**(아키텍처가 #909 shape + #907 mechanism 입력 수령). #910 독립. +- 병렬: frontier 3개 서로 다른 세션 동시 claim 가능(순수 결정 티켓, 브랜치 불필요). 착수 전 `gh issue edit --add-assignee @me`. + +## ⚠️ 규약·주의 (이 맵 특유 + 이번 세션 발견) + +- **PUBLIC repo**: 민감/악용 상세(엔드포인트 auth·비용·file:line·취약점)는 **로컬·vault만**, 공개 트래커(이슈·맵)엔 **추상 결론만**. Claude auto-mode classifier가 위반 차단. 사용자에게 공개 게시 여부 명시 확인. +- **⚠️ 워크트리 공유 위험**: 메인 워크트리를 다른 세션들이 수시로 branch checkout(홈페이지 작업 등) → **untracked 파일이 sweep으로 소실**(이전 QA 핸드오프가 이렇게 사라짐). **핸드오프는 반드시 커밋**(이 파일은 격리 worktree `docs/904-qa-wayfinder-907-handoff` 브랜치에 커밋됨). #904 작업 자체는 GitHub 이슈+`docs/qa/`라 브랜치 무관. +- **grilling=HITL**: 결정은 사람. 사실은 조사. 결정 티켓 resolve는 세션당 1개. + +## 남은 수동 액션 + +- 맵 #904를 GitHub **Project #3**에 수동 추가(gh 토큰 project scope 없음). +- vault 보안노트 **push**(팀 공유 시) — 현재 `codex/marketing-research`에 로컬 커밋만. + +## 참조 + +- 맵: [#904](https://github.com/decodedcorp/decoded/issues/904) · 인벤토리: `docs/qa/consumer-surface-inventory.md`(dev) +- 맵 규약: `docs/agent/setup/issue-tracker.md` § Wayfinding operations · handoff 규약: `docs/agent/handoff.md` +- 제품 본질: `/CONTEXT.md` · 라우트: `docs/agent/web-routes-and-features.md` +- 겹침: 이미지 최적화 #810(perf, 중복회피) · i18n #767/#768(SEO) · Style DNA 무드 #802/#849 diff --git a/docs/handoffs/README.md b/docs/handoffs/README.md index 1b184a71c..6bd276219 100644 --- a/docs/handoffs/README.md +++ b/docs/handoffs/README.md @@ -32,6 +32,7 @@ status vocab: `active`(이어가는 중) · `blocked`(외부 의존 대기) · ` | ----------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------- | | **active** | AI 하네스 표준화 | [2026-06-25-ai-harness-standardization](2026-06-25-ai-harness-standardization-handoff.md) | | **active** | Locale / i18n | [2026-06-18-locale-i18n-harness](2026-06-18-locale-i18n-harness.md) (P2 1b-2·Phase2/3 잔여 — P3 완료) | +| **active** | QA wayfinder #904 | [2026-07-13-qa-wayfinder-907-resolved](2026-07-13-qa-wayfinder-907-resolved-handoff.md) (#907 resolved · frontier #908/#909/#910 — #908 먼저) | | **blocked** | Entity 검색 잔여 | [2026-07-02-entity-search-remaining](2026-07-02-entity-search-remaining-handoff.md) (배포 후 확인 + 임베딩 — #759 완료) | | **blocked** | dev→main Release | [2026-06-28-dev-main-release](2026-06-28-dev-main-release-handoff.md) (팀 승인 + prod migration 대기) |