capability 가 OFF 인 프로젝트에서 gate 를 PASS 라 하면 거짓말이고 FAIL
이라 하면 영원히 배포할 수 없다. NOT_APPLICABLE 을 도입하되 FE-GATE-033
이 번들 부재를 증명했을 때만 유효하게 묶었다.
FE-GATE-033 자신은 NOT_APPLICABLE 을 취할 수 없다 — capability 를 하나도
쓰지 않는 프로젝트도 '쓰지 않는다'를 증명해야 한다.
- 실시간은 reconnecting 과 disconnected 를 구분해야 한다. 전자를 terminal
로 보이면 불필요한 새로고침, 후자를 refreshing 으로 보이면 오지 않는
데이터를 기다린다.
- FILE_PICKER_DISMISSED 는 사용자 취소이므로 error surface 없음.
- sw-update-pending 은 자동 skipWaiting 금지 — 열린 탭이 release 를
갈아타면 FE-OC-016 coherence 가 깨진다.
- FE-NFR-020 은 capability 를 끄고도 번들이 늘어나는 경우를 막는다.
- §5.11 capability registry — envFlagKey 는 FE-REG-ENV 행 포인터이며
키의 타입·검증은 env registry 가 계속 소유(재진술 금지)
- FE-REG-API 에 protocol/transferMode/operationRef/eventSchema/
resumeStrategy. 실시간 구독은 별도 장부가 아니라 stream operation 이다.
stream 행의 timeoutMs 는 연결 수립 timeout 이지 스트림 수명이 아니다
- FE-REG-STORAGE 에 opfs/cacheStorage backend, payloadClass, evictionOrder.
UPLOAD_PART_STATE 는 correctness 값이라 quota fallback 없음
- error kind 26종. TRANSFER_ABORTED/SUBSCRIPTION_LEAKED/SW_UPDATE_PENDING
은 각각 기존 kind 재사용/gate 결함/surface state 라 제외
- 멀티프로토콜은 기존 ResourceQueryPort/ResourceCommandPort 를 재사용해
신규 port 0개. 프로토콜은 registry 데이터이지 타입이 아니다.
- Image CDN 은 I-O 가 없으므로 adapter 가 아니라 application 정책.
- boot 에 capability 해석 단계 삽입 — 실패하지 않고, 비활성 adapter 는
정적 import 하지 않는다(FE-NFR-020 방어).
- worker/SW 엔트리는 별도 실행 컨텍스트라 상위 layer 를 import 하지 않는다.
설계 스펙의 41개 편집 항목 + 신규 파일 6개 + 기존 파일 7개를
Task 12개로 분해. 코드가 아니라 계약 문서 편집이므로 TDD 순환을
"체크 명령 실패 확인 -> 편집 -> 통과 확인 -> 커밋" 으로 대체했다.
하네스가 삭제돼 결정론 검사기가 없으므로 각 Task 가 자체 grep
검증을 들고 다니고, Task 12 가 참조 무결성·개수 정합·위임 왕복
대조·wikilink 유효성을 총점검한다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
요청된 9개 능력 묶음을 기존 26개 FE-OC 계약과 대조해 순수 델타
6개 능력 도메인(FE-OC-027~032)으로 분해한 설계 스펙.
- port 12개 신규, 멀티프로토콜은 기존 output port 재사용(신규 port 0)
- capability flag default OFF + FE-GATE-033 이 번들 부재를 증명
- FE-D019(SW default off)를 FE-D034 로 supersede — precaching 은 OFF
유지, push/background sync/Cache Storage 호스트만 opt-in
- FE-REG-CAPABILITY 신설(8→9), 나머지 8개 registry 는 additive 확장
- gate 7 · NFR 5 · runbook 2 · FLOW-FE-EVENT-001~005 추가
- 신규 결정 11건은 근거 raw 부재를 project-local default 로 명시
범위는 port·adapter·registry·gate 까지이며 use case·domain model·
business rule 은 명시적 out of scope.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>