이번 세션에서 발견·수정한 하네스 학습을 저장소(공유 매개)에 반영해 협업자(codex 등)도 적용받게 한다. 메모리는 로컬이라 공유 안 됨. - RULES.md §9 신설 (카드 kind ↔ 효과 일치): ResolveCardDrop 라우팅 (Attack=몬스터드롭/Skill·Power=스윕/Status=unplayable)·Power 분기가 damage/aoe 무시 → 데미지=Attack, block/유틸=Skill, 지속효과=Power. 안 맞으면 사용불가/死카드(아이언 바디·분노 사고). - tools/verify/cardkinds.mjs 신설: kind↔효과 위반(Attack-무데미지/ Power-무효과/미지원 kind) 정적 검출(이상 0=exit 0). 현재 main 147장 0, Defend=Attack·Rage=Power 위반은 2건 검출 확인. - docs/codex-working-rules.md 6~9 추가: ⑥ main 머지 충돌 시 머지 전체 revert 금지(소스 충돌만 해소·산출물 재생성 — #98/#99가 #96 날린 사고) ⑦ 카드 kind 일치+cardkinds 검증 ⑧ 변경 후 검증 스위트 ⑨ RULES.md 권위. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUvHKjrt8jqLzDeCsRRGmj
2.1 KiB
2.1 KiB
Codex Working Rules
- 사용자가 특정 클래스만 수정하라고 했으면 그 클래스 외의 데이터, 설명문, 밸런스 문구는 건드리지 않는다.
- 기존 한글 텍스트는 요청이 없으면 임의로 바꾸지 않는다.
- 전직 구조를 바꿀 때는 실제 직업명만 사용한다. 임의의 내부 분류명이나 새 직업명을 사용자-facing 구조에 추가하지 않는다.
- 대량 치환 전에 수정 대상 파일과 범위를 먼저 확인하고, 원본 문자열이 깨진 상태면 치환 작업을 진행하지 않는다.
- 생성기 파일을 크게 수정할 때는
node --check와 생성기 실행으로 문법을 먼저 검증한 뒤 산출물을 갱신한다. - 작업 브랜치에
main을 머지했다가 충돌·문제가 나도 그 머지 커밋을 통째로git revert하지 않는다 — main에 먼저 들어간 타인 작업이 collateral로 사라진다(2026-06-30#98/#99가#96의 버그수정 11개를 이렇게 전부 날림). 소스 충돌만 해소하고 산출물(codeblock 등)은 재생성한다. (RULES §4) - 카드
kind는 효과와 일치시킨다 — 데미지 카드=Attack, block·유틸만 있으면=Skill, 지속효과=Power(powerEffect또는 power 필드 필수). 안 맞으면 사용 불가/死카드가 된다(2026-06-30 아이언 바디=Attack인데 block만, 분노=Power인데 damage만 → 둘 다 먹통). 카드 추가/수정 후node tools/verify/cardkinds.mjs로 검증(이상 0 = exit 0). (RULES §9) - 카드/cb 변경 후 검증 스위트를 돌린다:
node tools/verify/cardkinds.mjs(kind↔효과)·cbprops.mjs(미선언self.X필드)·cbgap.mjs(UI 경로) +node --test tools/balance/sim-balance.test.mjs(이중구현 미러). 새 효과 필드는 Lua(cb/*.mjs)와 JS 미러(tools/balance/sim-balance.mjs) 양쪽에 구현(한쪽만 = 게임↔시뮬 드리프트). (RULES §6) - 하네스 규칙의 권위는
RULES.md다 — 작업 전 RULES.md(§1 산출물 읽기/수정 금지·§4 git/PR·§6 이중구현 동기화·§9 카드 kind)를 읽고 따른다.