Skip to content

환경 2(AITC Sandbox PWA) fidelity acceptance — 실기기 WebKit 거동 1건 관측 #236

@DaveDev42

Description

@DaveDev42

기획 정본: meta/four-environments-fidelity.md (umbrella) §1.1·§1.2 환경 2 (AITC Sandbox App / PWA).

M-track: M1 (fidelity 트랙 — 환경 2 = 실기기 WebKit 엔진 fidelity 겹) · Station: 3-debug · Blocker: none (폰 필요하나 토스 dogfood deploy·relay 불필요 — BLOCK-phone보다 낮은 마찰)

배경

환경 모델이 3종→4겹으로 확장되면서 **환경 2(AITC Sandbox App / PWA)**가 fidelity 사다리의 독립 겹으로 명시됐다 — 환경 1(로컬 브라우저)이 구조적으로 못 하는 실기기 Safari/WebKit 엔진·실 터치/뷰포트를 토스 검수·WebView 없이 채운다.

인프라는 GREEN이다: launcher PWA(e2e/fixture/launcher/), devtools.aitc.dev/launcher/ 배포(.github/workflows/deploy-fixture.yml), e2e/launcher.test.ts(5개 테스트), e2e/fixture/vite.config.ts MPA 엔트리, cloudflared 터널(AIT_TUNNEL=1 pnpm dev:phone), agent-plugin /ait setup-phone-preview 진입점.

하지만 fidelity 겹으로서의 acceptance가 없다 — "메인테이너가 dev 앱을 AITC Sandbox PWA로 실기기에 올려, 환경 1(브라우저)에서 안 보이던 WebKit 엔진 거동을 실제로 관측했다"는 검증이 한 번도 기록되지 않았다. 인프라가 도는 것과, 그 겹이 디버깅에 쓸모 있는 fidelity를 실제로 제공한다는 것은 다르다(#233이 환경 3 relay 루프에 대해 묻는 것과 같은 질문을, 환경 2 PWA 겹에 대해 묻는다).

목표

/ait setup-phone-previewpnpm dev:phone(터널+QR) → 폰 PWA 설치 → dev 앱 로드 → 환경 1에서 못 보던 실기기 WebKit 거동 1건을 관측하는 루프를 메인테이너가 완주.

환경 1 대비 환경 2가 메우는 fidelity 후보(관측 대상 예):

  • CSS env(safe-area-inset-*) 실값 — 데스크톱 브라우저는 0, 실기기 Safari는 노치/홈 인디케이터 반영.
  • 실 터치 이벤트·제스처(touchstart/touchmove, 100vh 동적 뷰포트 — iOS Safari 주소창 collapse).
  • 실 DPR·뷰포트 width(데스크톱 시뮬과 어긋나는 지점).
  • WebKit 한정 렌더 quirk(스크롤 바운스, -webkit- 동작).

Acceptance

  • 메인테이너가 /ait setup-phone-preview 안내만으로 폰 PWA에 dev 앱을 올려 실기기 Safari/WebKit에서 띄움. 근거: transcript.
  • 환경 1(데스크톱 브라우저)과 환경 2(실기기 PWA)에서 같은 dev 앱의 거동이 갈리는 지점 1건 이상을 관측·기록(예: safe-area inset, 동적 뷰포트, 터치). 이게 환경 2가 fidelity 사다리에 존재하는 이유의 실증.
  • 같은 루프 2회차에 1회차 대비 추가 수동 우회 없음(반복 가능성).

경계 (out of scope)

Metadata

Metadata

Assignees

No one assigned

    Labels

    roadmapharness roadmap 작업 항목 (Project #1)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    In Progress

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions