Part of #333. ## Scope admin에서 COMPLETED raw_post를 검증하는 UI를 구축. ## Deliverables - [ ] 타입 재생성 - \`packages/web/lib/supabase/warehouse-types.ts\` 삭제 - \`packages/web/lib/supabase/prod-types.ts\` 신규 (prod 프로젝트 기반 \`supabase gen types typescript\`) - \`packages/web/lib/supabase/assets-types.ts\` 신규 (assets 프로젝트 기반) - \`package.json\` scripts에 \`gen:types:prod\` / \`gen:types:assets\` - [ ] \`packages/web/lib/api/admin/raw-posts.ts\` - \`useRawPostsList({status, platform, source_id, limit, offset})\` - \`useVerifyRawPost()\` (useMutation, onSuccess invalidate) - \`useRawPostsStats()\` - [ ] \`packages/web/app/admin/raw-posts/page.tsx\` - 탭: \`COMPLETED\`(기본) / \`IN_PROGRESS\` / \`ERROR\` / \`VERIFIED\` - 행: R2 썸네일 / caption / parse_result JSON(접힘) / **검증 버튼** - 필터 querystring 동기화 - [ ] Orval 재생성: \`cargo run --bin dump_openapi\` → \`bun orval\` - [ ] 환경변수 (만약 web에서 직접 assets 읽기 한다면): \`NEXT_PUBLIC_ASSETS_DATABASE_API_URL\`, \`NEXT_PUBLIC_ASSETS_DATABASE_ANON_KEY\` ## Acceptance - \`bun run typecheck\` 통과 - \`/admin/raw-posts\` 접근 → COMPLETED 탭에서 cloud assets의 completed 항목 리스팅 - 검증 버튼 → 로컬 prod \`public.posts\`에 새 포스트 생성 확인 ## Depends on - #6 (verify API 계약 확정)
Part of #333.
Scope
admin에서 COMPLETED raw_post를 검증하는 UI를 구축.
Deliverables
Acceptance
Depends on