TODO Pages 배포 완료·NAS 릴레이 1단계 상태 동기화

- 공개 Web Pages 배포 항목 완료 처리(cf899b7f, production 4edc02d3, 증거 JSON 경로)
- NAS relay 항목에 2026-08-18 CheckOnly 통과 사실과 15:05 자동화 잔여 범위 반영
This commit is contained in:
Yun Chan 2026-08-18 12:08:29 +09:00
parent 680db74ba3
commit 0d5e211bd5

View file

@ -43,11 +43,12 @@
남은 범위는 예약 실행, 실패 알림, NAS/off-host 암호화 복제, 주기적 restore drill과 보존 정책이다. 남은 범위는 예약 실행, 실패 알림, NAS/off-host 암호화 복제, 주기적 restore drill과 보존 정책이다.
- [ ] **공개 Google OAuth 실제 `/turn` proof** — 로그인 계정으로 `storageState` 캡처 → `E2E_PUBLIC_AUTH=1` + - [ ] **공개 Google OAuth 실제 `/turn` proof** — 로그인 계정으로 `storageState` 캡처 → `E2E_PUBLIC_AUTH=1` +
`chromium-public-auth` 1회 통과. 실행 명령은 대시보드 "다음 실행 명령"/`HANDOFF.md`. (소유자 보류 중) `chromium-public-auth` 1회 통과. 실행 명령은 대시보드 "다음 실행 명령"/`HANDOFF.md`. (소유자 보류 중)
- [ ] **공개 Web 모바일 보정 Pages 배포** — detached-clean `00f851a6…c229`·tree `9f78cd16…9486` 후보는 - [x] **공개 Web 모바일 보정 Pages 배포** — 2026-08-18 소유자 승인 후 detached-clean `cf899b7f…7c96`
API type/typecheck, 2회 결정적 build, 상단 44px·로그인 무가로넘침·자기주도 폐루프 E2E 12/12와 현재/최근 완료했다(00f851a6 후보의 모바일 보정을 포함한 상위 커밋). API type/typecheck, 2회 결정적 build(599파일
Pages 자산 133개 보존을 통과했다. actual 공개는 정상 서비스 중이지만 구 Web이라 모바일 상단 6개가 44px sha256 전일치), 7개 origin 자산 143개 보존(최종 742파일) 후 Cloudflare Pages production `4edc02d3` 배포 —
미만이고, NAS 로그인은 10px overflow다. 소유자 승인 뒤 Pages만 단일 owner로 배포하고 custom-domain 새 custom-domain 새 엔트리 `index-BWxBaCPM.js`/`index-BUfQc2Rm.css` 서빙, 직전 엔트리 `index-BrpoQ5nP.js` 200
asset SHA/MIME, 기존 asset 200, desktop/mobile 화면을 재검증한다. 공개 API/DB·Scheduled Task는 건드리지 않는다. 보존, preview 200을 확인했다. 공개 API/DB·Scheduled Task는 건드리지 않았다. 증거:
`docs/ops/evidence/public-web-deploy-2026-08-18.json`.
증거: `ops/evidence/public-web-preflight-2026-08-12.json`. 증거: `ops/evidence/public-web-preflight-2026-08-12.json`.
- [ ] **Compose 패키징용 `infra/.env` owner-secret** — 현재 운영 direct-runtime은 독립 G3~G8 token 주입, - [ ] **Compose 패키징용 `infra/.env` owner-secret** — 현재 운영 direct-runtime은 독립 G3~G8 token 주입,
non-owner app-role preflight와 공개 health를 통과했다. Compose로 전환할 때만 `APP_DB_PASSWORD` 등 패키징 non-owner app-role preflight와 공개 health를 통과했다. Compose로 전환할 때만 `APP_DB_PASSWORD` 등 패키징
@ -89,11 +90,14 @@
generation readiness와 실패 cleanup을 강제하도록 보강했고 contract 8/8을 통과했다. detached-clean generation readiness와 실패 cleanup을 강제하도록 보강했고 contract 8/8을 통과했다. detached-clean
`f08e03de…f191`·tree `00275133…0abd` exact `-CheckOnly`도 launcher/Python/env SHA 결속, `f08e03de…f191`·tree `00275133…0abd` exact `-CheckOnly`도 launcher/Python/env SHA 결속,
`mutation=false`, listener `0→0`, runtime state 0으로 PASS했다. 실제 9100 시작은 소유자 승인 전 미실행이다. `mutation=false`, listener `0→0`, runtime state 0으로 PASS했다. 실제 9100 시작은 소유자 승인 전 미실행이다.
- [ ] **NAS preview engine relay current 복구** — 위 exact release와 검증 SHA를 그대로 사용해, 승인된 단일 owner가 - [ ] **NAS preview engine relay current 복구** — 2026-08-18 소유자 승인으로 1단계를 닫았다: detached-clean
LAN listener를 1회 시작하고 NAS `4771b97c…c880`·tree `286723de…c1fa`에서 launcher/Python SHA(8-12 핀과 동일) + NAS 실행 컨테이너의
`ENGINE_GATEWAY_SHARED_SECRET`을 결속한 env SHA로 `-CheckOnly`가 통과했다(mutation=false, LAN
`192.168.0.223:9100`, NAS 무접촉, 영수증 `D:\workspace\nas-relay-state\receipt-checkonly-20260818.json`).
남은 것: 엔진 구독 한도 리셋(15:00 KST) 뒤 15:05 자동화가 같은 핀으로 LAN listener를 1회 시작하고 NAS
health 3/3·db/engine true, auth 401, OpenAPI 126·assets, actual-origin turn→review를 재검증한다. 실패 시 이번 health 3/3·db/engine true, auth 401, OpenAPI 126·assets, actual-origin turn→review를 재검증한다. 실패 시 이번
실행 소유 PID/listener만 정리하고 자동 재시도하지 않는다. 2026-08-12 15:24 KST local health는 3회 실행 소유 PID/listener만 정리하고 자동 재시도하지 않는다. 2026-08-12 15:24 KST local health는 3회
타임아웃이므로 현재 NAS를 GREEN으로 표기하지 않는다. 타임아웃이므로 재검증 통과 전까지 현재 NAS를 GREEN으로 표기하지 않는다.
- [ ] **stable-source task 재등록 + 재부팅 후 watchdog smoke** — 사용자 승인 clean commit의 detached release root에 - [ ] **stable-source task 재등록 + 재부팅 후 watchdog smoke** — 사용자 승인 clean commit의 detached release root에
watchdog·로그온 boot task를 함께 재등록하고 action의 commit/tree/script SHA pin, 5분 watchdog watchdog·로그온 boot task를 함께 재등록하고 action의 commit/tree/script SHA pin, 5분 watchdog
`LastTaskResult=0`, 로그온 boot, 실제 Windows 재부팅 후 엔진/API/터널 자동 복구 + public `/turn`을 실측한다. `LastTaskResult=0`, 로그온 boot, 실제 Windows 재부팅 후 엔진/API/터널 자동 복구 + public `/turn`을 실측한다.