1~4차가 안 쓴 각도: **확정된 M2 표면을 문서에 적힌 시그니처 그대로 Luau 타입으로 선언하고 `luau-analyze`에 걸었다.** 2차 패스도 타입을 봤지만 대상이 Store의 타입 합성 하나였다(H-73~H-76). 이번엔 호출부 관점 — "확정된 타입이 확정된 관용구를 통과시키는가"다. 루트 .luaurc가 languageMode: strict라 아래 진단은 프로젝트에 그대로 적용된다. 🔴 H-94 `__call` 테이블은 `(State<T>) -> U` 자리에 안 들어간다 → `state:Apply(Debounce{...})` 확정 관용구가 타입에러. gate-plan이 "확인할 필요도 없어졌다"며 접은 불확실성이 Debounce/Throttle 쪽에 그대로 남아 있었다(팩토리에 Flush/Cancel을 붙이는 이상 콜러블 테이블일 수밖에 없다). 런타임은 멀쩡하고 타입만 막힌다 🔴 H-95 콜백이 "선언보다 적게 반환"하면 strict에서 에러 — Effect의 `fn -> (() -> ())?`는 cleanup 없는 흔한 모양이, :List의 `updateFn -> (T?, UD?)`는 userdata를 안 쓰는 모든 모양이 안 통과한다. 통과하는 두 형태(가변 반환 팩 / 함수 타입 유니온)를 대조군으로 확인 🟡 H-96 trailing deps가 붙는 순간 콜백 파라미터 무주석 추론이 깨진다 — typing-limits ②쪼개기가 푸는 범위 밖인데 경계가 어디에도 없다. 2차 패스 부록의 "무주석 콜백도 살아 있다"도 이 구분을 안 했다 🟡 H-97 M2의 `mock 대상 테스트`가 전파 루프를 한 번도 못 돈다 — 루프가 매 발화마다 부르는 canExecute가 M8에서만 구현되고, 미주입 슬롯의 확정 기본값은 에러 스텁이다. 커밋된 mock엔 재료(Signal/Connection)가 이미 있는데 쓰는 쪽이 없다 🟡 H-98 `:Subscribe()`의 공개 계약("참조를 안 담아도 계속 돎")이 중간 State GC 미해결에 종속 — 잘못 닫히면 "GC도 안 되고 발화도 안 하는" 조합이 된다(실제 collectgarbage로 재현) 🟢 H-99 Observer가 파일 자리를 못 받았고 :Subscribe() 전역 강참조 레지스트리의 주인이 어디에도 없다 (Effect.luau는 있는데) 🟢 H-100 `{[Source<T>]: true}`가 `{[Epoch]: true}` 자리에 안 들어간다 (인덱서 키 불변). 단일 Epoch 전달과 §2의 구조적 만족은 성립 확인 부록에 "걸어봤는데 문제가 없던 것" 6건 — state:Gate + blocker:Policy가 타입으로 성립하고 gate-plan의 2026-08-24 정정(오답 b.Policy)은 타입이 잡아준다, source:Apply에 State용 팩토리 통과, Effect의 이형 deps는 타입으로 표현 가능, 게이트 2겹 unfold가 어느 순서로 풀려도 안 샌다 등. 아무것도 base/에 반영하지 않았다 — 회신 대기. Co-authored-by: qwreey <me@qwreey.moe> |
||
|---|---|---|
| .. | ||
| .gitkeep | ||
| pre-implementation-handtrace-round6-followup.md | ||
| pre-implementation-handtrace-round6.md | ||
| pre-implementation-handtrace-round7.md | ||
| pre-implementation-qa-round1.md | ||
| pre-implementation-qa-round2.md | ||
| pre-implementation-qa-round3.md | ||
| pre-implementation-qa-round4-followup.md | ||
| pre-implementation-qa-round4-response.md | ||
| pre-implementation-qa-round4.md | ||
| pre-implementation-qa-round5-followup.md | ||
| pre-implementation-qa-round5-response.md | ||
| pre-implementation-qa-round5.md | ||