<!-- quad-v2 세션 로그 원문 — CLAUDE.md에서 이전됨(2026-08-11 정리 세션). -->
<!-- 이 파일은 quadnomicon 개발로그 소재용 원자료로, 당시 시행착오(정정 전 서술 포함)를 그대로 보존함. -->
<!-- 현재 유효한 설계는 이 파일이 아니라 base//research//archive/가 최종 소스 — 이 파일 안의 판단이 이후 세션에서 뒤집혔을 수 있음. -->

## 2026-08-11 두 번째 세션 — trailing deps를 `fn`에 위치 인자로도 노출,
`.claude/luau-test/15` 신규

같은 날 바로 이어진 세션. 사용자가 방금 확정된 `:Compute(fn, ...)`
trailing-args sugar를 한 단계 더 밀어붙임 — trailing args `a,b,c`가
이미 구독 등록용으로 넘어간다면 `fn(self, a, b, c)`처럼 그 값 자체도
위치 인자로 노출해도 되지 않느냐는 제안. `:With`가 그렇게 안 하는 이유
(체인이 여러 호출에 걸쳐 길어지면 순서 추적이 복잡해짐)는 `:Compute`의
trailing args처럼 한 호출문 안에 로컬하게 다 보이는 경우엔 안 걸린다는
것도 사용자가 직접 짚음 — 검증 결과 정확함, 채택.

- **`:With`의 회피 근거가 이 케이스엔 안 걸림** — `:With` 체인은 여러
  호출/스코프에 걸쳐 누적될 수 있어 최종 위치 매핑을 코드 한 줄만 보고
  못 읽는 게 문제였는데, `:Compute(fn, a, b, c)`는 그 호출의 인자 목록
  자체가 곧 최종 순서라 누적 문제가 원천적으로 없음.
- **커링 패턴에서의 중복/드리프트 위험도 같이 해소됨** — 지금 설계(값은
  closure로 재획득)로 커링 스타일을 쓰면 `a,b`를 두 번(클로저 캡처용 +
  `:Compute`의 trailing args용) 써야 해서, 리팩터링 중 한쪽만 바뀌면
  "구독은 a에 걸려있는데 실제로 읽는 값은 다른 것"인 조용한 버그가 생길
  수 있음 — 위치 인자로 노출하면 trailing args 목록 하나가 "무엇을
  구독하는가"와 "fn이 몇 번째로 뭘 받는가" 둘 다의 유일한 소스가 됨.
- **`self`가 이미 raw 값이 아니라 lazy 핸들로 넘어가는 원칙을 그대로
  적용** — `fn(self: State<T>, dep1: State<U1>, ...)`, 각
  `depN:Get()`을 실제로 부를 때만 계산 트리거.
- **새로 드러난 문제 — `previous`(2026-08-06 확정)와의 위치 충돌.**
  `previous`를 dep 개수와 무관하게 항상 마지막 인자로 고정
  (`fn(self, dep1, ..., depN, previous?)`, N=0이면 기존 시그니처로
  축약돼 하위 호환)하는 안을 제안했으나, 이건 "제네릭 타입 팩(`...U`)
  뒤에 고정 인자가 오는" 모양이라 Luau가 실제로 타입체크 가능하게
  표현해주는지가 불확실 — **사용자가 직접 이 지점을 짚어 실측 필요로
  남김. [정정, 같은 날 세 번째 세션] 이 순서 자체가 틀림 — `previous?`는
  팩 앞이어야 함, 아래 절 참고.**

`base/bind-system-plan.md`(":Compute(fn, ...)" 절 바로 뒤에 신규 소절)/
`ROADMAP.md`(M3)/`.claude/luau-test/README.md` 반영 완료.
`.claude/luau-test/15-type-compute-trailing-deps-typepack.luau` 신규 —
(A) 단일 dep 대조군, (B) 이형 다중 deps가 제네릭 팩으로 개별 타입으로
풀리는지, (C) 팩 뒤에 `previous?` 고정 인자를 붙인 시그니처 자체가
파싱/타입체크되는지 세 가지 확인(**[정정, 같은 날 세 번째 세션]** C의
순서가 틀렸던 것으로 드러나 D 대조군이 추가됨 — 아래 절 참고). 다른
luau-test 파일들과 마찬가지로 **에이전트가 직접 실행 못 함** —
`luau`/`luau-analyze` 바이너리가 이 환경에 없어서, 사용자가 직접
돌려보고 결과를 알려줘야 함.

**다음 세션이 할 일**: 안 바뀜(`ROADMAP.md` M0부터, luau-test 결과 확인
우선) — `15`가 luau-test 결과 확인 목록에 하나 추가됨(정정된 순서는
아래 세 번째 세션 참고). 남은 진짜 불확실성은 B(이형 다중 deps를
제네릭 팩으로 표현 가능한지)뿐 — 실패하면 위치 인자 노출을 동종 타입
dep 1개로 한정.

