quad/CLAUDE.md
qwreey-agent-selene da67a8c009
docs+feat: 단위 1 감사 루프 5라운드 반영 + §4 배치 회신(H-214/H-215 전부 (a))
감사 루프(각도 교대, 새 발견 1~5라운드 4→3→2→1→2건 뒤 반영 완료):
- 기계적 누락 4(CLAUDE.md 볼드 중첩 / STATUS 요약 표 / quad-types-plan M3
  완료 표시 / luau-test README 01 행) + STATUS 부채 2(합류 문단·done 나열)
- H-212 확장: dispatch-core-plan Length/Offset 절·주입 op 스텁·가로채기
  예시 error 영어화(스텁 level 숫자는 M5/M10 몫으로 명시)
- H-214 근거 정정: "이름으로 덤프"는 research가 아니라 같은 문서 자기 자신
- H-216(①): slot-plan.md 한국어·level 없는 error 11곳 정리(입력 검증 2,
  releaseOwner만 1) / H-217(①): attribute·debounce-throttle·ref·source-state
  마지막 4곳 — base/ 코드 리터럴 한국어 error 0

§4 배치 회신(사용자: "전부 권고안에 동의해"):
- H-214 (a): Handler 계약에 선택 필드 name: string?(진단 전용) — quad-types
  타입, 동률 경고에 양쪽 이름, TODO 마커 제거, 계약 절 신설 항목, spec 11번
- H-215 (a): 스파이크 04 폐기·done/ 이동 — 잔여(실제 StoreBind 경유 재귀
  재발행)는 ROADMAP M4 mock 항목이 명시적으로 짐. 재검증 대기 절 [x]

테스트·luau-analyze·doc-check ERROR 0 전부 클린.

Co-authored-by: qwreey <me@qwreey.moe>
Claude-Session: https://claude.ai/code/session_01LF78pXeFGD1ZSVD3ifteYG
2026-08-31 15:53:05 +09:00

4.7 KiB

CLAUDE.md

Roblox 엔진용 DOMless UI 렌더러 quad를 처음부터 다시 짜는 프로젝트. [2026-08-31 기준] M0(스파이크 검증)/M1(스캐폴딩)/M2(반응형 코어 — Source/State/Store)까지 완료, M3(디스패치 엔진) 진행 중 — M2는 자율 구현 구간(규약 .claude/qa-request/m2-implementation-round11-brief.md, 발견·배치 문항 -round11.md)으로 돌아 2026-08-28 착수08-31 종결: 단위 넷 구현·감사· 리뷰·탐사 완료, ROADMAP.md M2 체크박스 전부 [x], §4 문항·코드 마커 0. M3도 같은 방식의 자율 구간 — 규약은 .claude/qa-request/m3-implementation-round12-brief.md(2026-08-31 §0·§6 사용자 확정, 단위 넷·발견 H-212부터 -round12.md), 진행 상태는 .claude/todos.md 00번이 소스. ⚠️ [2026-08-24] M2와 M3의 번호·순서가 맞바뀌었다 — 예전엔 M2=디스패치, M3=반응형이었는데 의존이 한 방향(디스패치 → 반응형)이라 반응형을 먼저 짓기로 확정했다. 그래서 2026-08-24 이전에 쓰인 session/·archive/·qa-request/ 문서의 M2/M3는 옛 의미로 읽을 것(라이브 문서는 전부 새 번호로 맞춰뒀음). 경위는 .claude/archive/question-resolved.md의 "마일스톤 경계" 절, 새 구성은 ROADMAP.md의 M2 배너. [2026-08-26] 8라운드 손 트레이싱까지 처리 완료 — M2 착수를 막는 항목이 하나도 없다. 결정의 소스는 .claude/qa-request/pre-implementation-handtrace-round8-followup.md (7라운드 몫은 -round7-followup.md; **[2026-08-27] 9라운드 몫은 -round9-followup.md — Q1Q10·H-138·H-139·H-142, 그리고 /code-review가 낸 H-143H-146까지 전량 반영 완료**; [2026-08-28] 10라운드 몫은 -round10-followup.md — 광범위 탐사 H-150H-157까지 전량 결정·반영, 그중 H-143H-146 루트 예외는 하루 만에 뒤집힘 — 후자는 같은 날 다시 좁혀 복원)이고, 같은 날 Claim 갈래까지 전량 확정돼 research/에서 base/claim-plan.md로 승격.claude/question.md 최우선 절은 비어 있다. 같은 상태를 .claude/project-context.md도 서술하니 마일스톤이 넘어갈 때 두 곳을 같이 고칠 것. 진행 상황의 소스는 항상 루트 ROADMAP.md.

이 파일에 내용을 직접 쌓지 말 것 — 짧은 진입점으로 유지한다. 새 서술은 아래 import된 파일 중 맞는 곳에 넣을 것(어디에도 안 맞으면 그건 매 세션 로드될 내용이 아닐 가능성이 높음 — .claude/ 아래 해당 문서로).

항상 로드되는 컨텍스트

관례와 작업 방식 @.claude/conventions.md

프로젝트 컨텍스트와 문서 구조 @.claude/project-context.md

지금 할 일 @.claude/todos.md

온디맨드 자료 (자동 로드 안 됨 — 필요할 때 직접 열 것)

무엇이 궁금할 때 어디를 볼 것
지금 유효한 설계 — 어떤 결정이 확정돼 있는가 .claude/base/ (먼저 .claude/base/architecture.md)
문서 전체 색인 — 어느 파일이 뭘 다루는가 .claude/README.md
사용자가 답해야 할 열린 질문 .claude/question.md
구현 순서 / 마일스톤 루트 ROADMAP.md
사람만 할 수 있는 일 루트 HUMAN_TODO.md
어떤 결정이 왜 그렇게 됐나 / 전에 뒤집힌 적 있나 .claude/session-summary.md를 grep (세션별 2~4줄 요약 색인)
그 결정의 논쟁 과정 원문 .claude/session/YYYY-MM-DD-NN-slug.md
뒤집히거나 기각된 설계의 원문 .claude/archive/

주의: session-summary.md는 의도적으로 @import 안 함 — 계속 자라는 히스토리 문서라 통째로 올릴 이유가 없음(그 문서 스스로 "항상 읽을 필요 없음, 지금 유효한 설계는 base/가 소스"라고 명시). 필요해지면 그때 가서 열 것.

충돌 시 우선순위: .claude/base/ > 여기 요약이나 session-summary.md. 후자들은 과거 시점 서술이라 더 최근 결정이 안 반영돼 있을 수 있음.