No description
Find a file
qwreey c1c046fabe
research: Epoch 인터페이스 + EpochMap 컴포지션, Brand 인스턴스화 제안 정리
사용자 제안을 research/epoch-brand-composition.md로 신설. 아직 아무것도
확정 안 함 — base/state-epoch-plan.md 등이 여전히 정본.

요지: (1) 에포크 부기를 State에서 떼어내 EpochMap:Update(Epoch|{Epoch}) ->
boolean(뒤로 전파가 필요한가)으로 컴포지션, (2) Observer가 emit 출처를
클로저 인자로 흘려주고 Effect가 자기 EpochMap을 들어 다중 dep 중복 발화를
접음, (3) emit 페이로드에서 게이트를 빼고 Source|{Source}로, (4) 나아가
Epoch = {Count: number} 인터페이스로 일반화, (5) 그걸 위해 Brand를
인스턴스화 가능하게(Brand() + :register/:is, 다중 태깅).

에이전트 평가: 방향 타당. 특히 다중 의존성 Effect 갭(A→b, A→c일 때 접어줄
공통 하류가 없어 fn이 두 번 도는 것)이 정확히 닫히고, 맵이 Source에서
요구하는 게 identity + 단조 카운터뿐이라는 점에서 Epoch 일반화가 계약을
정확하게 만든다. 다만 대가 둘을 명시 — Brand.get 역조회 상실, 그리고
2026-08-09에 의도적으로 설계한 "포함 관계가 코드 모양에 드러남"이 자기
등록 방식에서는 생성자로 흩어짐.

결정 7건을 열린 채로 기록(Epoch를 구조적 만족으로 둘지, Count 공개 여부,
인터페이스 계약, State가 EpochMap을 둘 들고 :Sync가 필요한지, Observer
클로저 인자, Brand 전환 범위, 마일스톤).

doc-check.py ERROR 0.

Co-authored-by: qwreey <me@qwreey.moe>
Claude-Session: https://claude.ai/code/session_01TiW21rnti9SbLgF6twtn6D
2026-08-21 23:01:44 +09:00
.claude research: Epoch 인터페이스 + EpochMap 컴포지션, Brand 인스턴스화 제안 정리 2026-08-21 23:01:44 +09:00
.vscode tooling: 에디터 Luau 솔버 설정 확정 — luau-lsp 설치해 새 솔버 필요성 실측 2026-08-19 14:37:17 +09:00
quad-base design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
quad-roblox design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
quad-types design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
type-version-check design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
.gitignore tooling: Rojo 설치·검증 — pesde workspace symlink는 Studio 배포와 무관함 확인 2026-08-19 14:27:43 +09:00
.luaurc tooling: 프로젝트 셋업 문서화 + wally→pesde 전환, M1 스캐폴딩 골격 2026-08-19 14:01:07 +09:00
CLAUDE.md tooling: 핸드오버 준비 — session-summary.md 색인 공백 + ROADMAP/CLAUDE.md stale 정정 2026-08-19 20:47:31 +09:00
default.project.json tooling: 프로젝트 셋업 문서화 + wally→pesde 전환, M1 스캐폴딩 골격 2026-08-19 14:01:07 +09:00
HUMAN_TODO.md design: QA 4라운드 회신 1차 반영 — 즉시 처리 가능한 정정 20건 2026-08-20 00:48:07 +09:00
mise.toml tooling: rokit → mise 전환 + selene 린터 도입 (roblox-project-example 벤치마킹) 2026-08-19 15:09:35 +09:00
pesde.lock design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
pesde.toml design: type-version-check 패키지 추출 — CheckedQuad<T, Pattern> 글롭/캐럿 확장 2026-08-19 17:39:57 +09:00
ROADMAP.md design: Gate 표면 확정(state:Gate + GateNode) + State 에포크 채택, 두 문서 base/ 승격 2026-08-21 21:04:27 +09:00
SAFETY.md docs: SAFETY.md에 git 원격별 push 정책 + code-docker/dind 안전성 점검 결과 반영 2026-08-18 10:46:51 +09:00