- quad-base/src: Void.luau(단일 no-op), Brand.luau(Brand() + 브랜드 인스턴스 15 + M2 is* 11), LifetimeHandle.luau(InitLifetimeHandle — 모듈 인스턴스에 영어 level 2 에러 스텁 4종), Ref.luau(.Value/.Revision/:Set/:Callback/:WeakCallback/:Uncallback, EpochBrand+RefBrand), init.luau 재export. Relate.luau는 타입만 quad-types에서 재export. - quad-types: Quad에 M2 첫 단위 탑레벨 값 + Ref<T>/RefCallback<T>/Relate/Epoch 타입. - test/mock.luau: installLifetime(quad) — lifecycle-pattern.md (0)/(1) 스케치 그대로, Destroy가 모든 Connection을 끊도록 보강(gcconn 판정 근거). - scripts/test.sh: spec.* 수집 + luau-analyze(src/spec/mock). 전부 ALL PASS, analyze 0건. - 발견 ①: H-165 pesde shim은 생성 시점 export 타입만 안다(project-setup-plan.md), H-166 Ref.Revision 초기값 0(ref-plan.md). ROADMAP 공통 기반 체크박스 완료 표기. Co-authored-by: qwreey <me@qwreey.moe>
2.4 KiB
2.4 KiB
2026-08-28 (03) — M2 착수: 자율 구현 규약 채택 + 첫 단위(공통 기반) 구현
경위
- 다른 에이전트가 초안한 "M2 자율 구현 규약" 프롬프트를 사용자가 가져와 "어떻게
봐? 진행 하면 될것같아?" — 대조 결과 순서 오류 하나(
EpochMap이Effect뒤;ROADMAP.md"반응형 본체"는EpochMap이 State 본체보다 먼저라 못 박음)와 소스 단일화 몇 건(규약 위치는base/가 아니라conventions.md한 줄 + brief 파일 /Void체크박스 부재 /HUMAN_TODO.md2번 / 커밋 게이트 두 층 /TODO(H-nnn)마커 형식 / 단위를 넷으로)을 지적. 사용자: "수정하고 너가 진행하자. epochmap 순서 하나 고치고 진행할 수 있겠니?" → 규약 커밋f94234a. - 첫 단위 계획(§6)의 배치 결정 셋(브랜드 인스턴스를
Brand.luau한 파일에 / mock 생명주기를mock.luau안에 / 테스트spec.*+ analyze)을 보여주고 사용자 "진행하면 될것 같아" →92721d7.
구현 (전부 ./scripts/test.sh ALL PASS, luau-analyze 0건)
Void.luau/Brand.luau(생성자 + 인스턴스 15 +is*11) /LifetimeHandle.luau(InitLifetimeHandle— 모듈 인스턴스에 에러 스텁 4종) /Ref.luau최소형 /init.luau재export /quad-types의Quad·Ref<T>·Relate·Epoch타입 /Relate.luau는 타입만quad-types에서 재export(구현 무변경, 대조 일치).test/mock.luau:installLifetime(quad)(lifecycle-pattern.md(0)/(1) 스케치 그대로) +Destroy가 모든 Connection을 끊도록 보강(gcconn 판정의 근거).scripts/test.sh:spec.*수집 +luau-analyze quad-base/src + spec + mock.- spec 5개(brand/relate/lifetime/ref/void).
발견 (qa-request/pre-implementation-handtrace-round11.md)
H-165① pesde shim은 생성 시점 export 타입만 안다 →pesde install재실행,project-setup-plan.md에 둘째 함정으로 기록.H-166①Ref.Revision초기값 미정 →0,ref-plan.md.- 툴링 사실:
@self는init.luau전용 / GC 테스트 함정 둘(죽은 레지스터, 불변 업밸류 클로저 캐시) — §5. - ②/③ 갈래 발견 없음 — §4 표는 비어 있다.
다음
단위 끝 절차(규약 §4): 감사 루프 → /code-review high → 커밋 → fable 탐사자 →
사용자에게 "§4를 보라".