Commit graph

4 commits

Author SHA1 Message Date
93f548a2af
docs(type): 0-Y 해소 — 재귀 제네릭 반환은 Luau 상위 한계로 확정, typing-limits.md 신설
44개 스파이크로 question.md 0-Y를 재실측한 결과, 여섯 번째 세션의
"콜백이 raw 값을 받으면 완전 클린" 판정이 틀렸음이 드러남 — 그건 진단
0건만 확인한 것이었고, luau-analyze --annotate로 열어보니 반환 타입이
Unifiable<Error>로 조용히 새고 있었음(틀린 대입도 안 잡힘).

진짜 원인은 콜백 계약이 아니라 Compute가 State<U>(자기 이름을 다른 타입
인자로 감싼 타입)를 반환한다는 것 자체 — RFC relax-recursive-type-restriction이
Promise<T>.andThen으로 예시 든 바로 그 패턴. 사용자 확정: quad가 타입을
비틀 일이 아니라 상위 Luau의 현 한계이고, RFC/이슈 수혜를 받을 때 해결될
일이라 당장 할 수 있는 바 없음.

- base/typing-limits.md 신설 — 흩어져 있던 타입 한계 5건 통합, 대전제
  "Luau 한계를 우회하려 타입/API를 비틀지 않는다", 새 API 설계 체크리스트
- audit/type-recursion-issue/ 신설 — REPORT.md + spikes 44개(audit 폴더에
  스크립트를 같이 둔 첫 예외, 판정 재현에 개별 실행이 필요해서)
- 0-Y 해소 전파: question.md(최우선 2건→1건) / archive / base 5개 /
  research 2개 / 인덱스 4개 / luau-test(08을 done/으로, review-required 비움)
- audit/luau-test-first-run-2026-08-13.md: 판정이 뒤집힌 당사자라 배너뿐
  아니라 본문 표·문단·결론까지 전수 수정
- HUMAN_TODO 6번 신설: luau-lsp 기본이 옛 솔버라 CLI와 진단이 다름

교훈: luau-analyze 진단 0건은 타입 해소를 뜻하지 않음 — 타입 스파이크는
--annotate로 실제 추론 타입을 확인하고 음성 대조군을 같이 둘 것.

doc-check.py ERROR 0 유지(WARN 59건, 변경 전과 동일).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KckSawrsJSJmDBcSojJPxZ
2026-08-13 22:08:51 +09:00
ae39172124
docs(audit): 11차 세션 — 순차 직접 감사, 부정확성 4건 수정
서브 에이전트 없이 직접 코퍼스 전체를 순회한 감사(base/research/reference/
luau-test/audit/archive 전부 확인, doc-check.py ERROR 0 유지). 발견한
부정확성은 전부 9~10차 세션의 문서 재편 이후 반영이 누락된 stale 카운트/
포인터:

- question.md 0-Z/0-A: 반영 대상 문서 개수가 "6개"로 남아 ref-plan.md가
  누락돼 있던 것을 "7개"로 정정(dispatch-redispatch-diff-plan.md 6절과
  일치).
- HUMAN_TODO.md 4번: 동일한 6→7 stale 카운트 정정.
- ROADMAP.md 백로그: 2026-08-13 세 번째 세션에 이미 불필요로 해소된
  objectListClass.__newIndex 재현 테스트가 여전히 할 일로 남아있던 것 정정.

세션 로그(session/2026-08-13-11-...)와 CLAUDE.md 세션 히스토리 요약도 추가.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y6hzeUi5QdLPEk69B6cXFa
2026-08-13 18:52:10 +09:00
316ed6adf9
docs(audit): 7차 감사 3라운드 — HUMAN_TODO가 0-Y/0-Z를 안 짚던 것, "열린 질문 없음" 자기모순 2건
가장 중요한 발견은 HUMAN_TODO.md — 6라운드 감사가 한 번도 안 건드린 파일:

- 헤더가 "설계 질문은 question.md에 따로 있음, 그건 안 봐도 진행에 지장
  없고"라고 단언하고 3번 항목도 "막고 있는 항목은 없음"으로 끝남. 그런데
  0-Y/0-Z는 M0 착수를 실제로 막고 있고, 둘 다 **사용자가 직접 판단하겠다고
  명시 이관한** 항목 — 즉 정확히 이 문서가 담아야 할 성격인데 빠져 있었음.
  사람이 "지금 내가 뭘 해야 하나"를 이 문서로 판단하면 아무것도 안 해도
  되는 것처럼 읽힘. 4번 항목으로 신설(선택지/파급 범위 포함).
- 5번 신설 — Studio 전용 스파이크 `10`의 남은 A-1/A-2/B/C도 사람만 할 수
  있는 일인데 이 문서에 없었음(첫 실측으로 나머지가 다 닫히면서 이것만
  남은 건데 반영이 안 됨).

"열린 질문 없음" 계열 자기모순 2건(tag-plan.md는 이미 캐비엇을 달았는데
같은 처리가 안 된 곳):
- tween-plan.md "열린 질문 — 전부 해소됨" — `Animate`가 lazy 핸들 계약
  위에 서 있어 0-Y의 직접 영향 대상인데, 0-Y 포인터가 코드 주석 한 곳에만
  있고 정작 사람이 확인하러 오는 이 절엔 없었음
- bind-system-plan.md "남은 열린 질문 ... 남은 건 순수 API 표면 이름뿐" —
  이 문서 자신의 계약 둘(0-Y 콜백 계약, 0-Z 재디스패치)이 열려 있는데
  "이름만 남았다"로 읽힘

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y6hzeUi5QdLPEk69B6cXFa
2026-08-13 17:50:34 +09:00
0c9b8584ee
quad-v2 재작성 계획 초기 스캐폴드
quad(Roblox DOMless UI 렌더러) v2 재작성을 위한 .claude/ 계획 구조를 세우고
핵심 아키텍처 결정을 정리함:

- quad v1 / rbvm / tbox / Fusion / Vide / 폐기된 quad2-try 프로토타입 리서치
- Store 책임 분리(base vs provider), process/retract 핸들러 디스패치 모델,
  Ref 역할, Slot/Tween 설계 방향 등 핵심 결정 확정
- .claude/{base,research,qa-request,archive,feedback}, question.md, README.md
  구조 마련 (code-docker/webmanager 패턴 참고)
- 루트 CLAUDE.md/HUMAN_TODO.md 작성

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 00:07:40 +09:00