CLAUDE.md had grown to 3196 lines of accumulated session logs, causing context bloat. Full session narratives (including trial-and-error and later-corrected reasoning — quadnomicon devlog raw material) now live as 39 individual files under .claude/session/. CLAUDE.md keeps only a short "지금 할 일" (re-synced against question.md/pre-implementation-audit.md, stale detail dropped) and a compact per-session summary+link table. No design decisions changed; base/research/question.md were already in sync with every session (verified against README.md/question.md before archiving), so no unreflected content needed migrating first.
1.9 KiB
1.9 KiB
2026-08-10 세션 — Slot:Add가 삽입 인덱스를 반환하도록 확정, 범위 밖
index는 clamp 대신 error
짧은 세션. 사용자가 "Slot:Add/Remove가 어차피 void인데 삽입된 인덱스를
반환해줘도 되지 않냐"고 제기 — 검토 후 채택, base/slot-plan.md의 CRUD
표/에러 조건 절에 반영 완료:
Slot:Add(element, index?): number로 확정 —index생략(끝에 추가) 시 호출부가 실제 위치를 모르는 문제를Add가 이미 계산해서 아는 값을 그냥 반환하는 것으로 공짜 해결(기존엔IndexOf로 O(n) 역조회해야 했음).Move/Swap이 void인 것과 안 부딪힘 — 그 둘은 호출부가 이미 위치를 알고 부르는 연산이라 새 정보가 없어 void인 거고,Add는 반대로 새 정보(계산된 위치)가 생기는 경우라 "반환값은 실제로 새로 알게 되는 정보만"이라는 같은 원칙의 연장.Add의index가 범위 밖(1..현재 개수+1)이면 즉시error(), clamp 안 함 — 사용자가 직접 근거 제시. clamp는 "의도한 위치가 아닌데 조용히 성공하는" 찾기 힘든 버그 유형을 새로 만들 뿐이고, 이미Remove/Extract/Move/Swap전부가 범위 밖에서 즉시 에러인 fail-fast 톤과도 맞아야 함.
다음 세션이 할 일: 안 바뀜(ROADMAP.md M0부터, luau-test 결과 확인이
여전히 먼저) — 이번 세션은 이미 확정된 CRUD 표의 작은 갭 하나만 메운
것이라 우선순위엔 영향 없음.