크라우니파이낸스 초대엔진 2-way 맵 분리 (2026-06-13)
개요
초대DB 단일 맵(셀583+메타519=1102엔트리, VM한계729초과)을 초대셀DB+초대메타DB 2개 맵으로 분리. 바이럴 보상 silent drop 버그 근본 수정.
변경 파일
/Users/ef/crowny-finance/src/크라우니파이낸스.한선
분류표 (변경 건수: 66줄)
- 셀 연산 → 초대셀DB: 새셀/셀씀/셀읽/이벤트발행 db인자+반환
- 메타 연산 → 초대메타DB: 맵넣어/맵꺼내(_pair_/_byphone_/_joined_/_self_/_owner_/_selfmissing_/_rwd_/_rwdcnt_/_ledger_/_feed_/_feedcnt_/_stat_)
- 맵키목록(초대메타DB) — 스냅샷쓰기 K레코드
컴파일 결과
- rc=0, 3,188,164 bytes, 에러 없음
검증 결과 (G1~G6)
- G1 PASS: syncedContacts=583 복원 (라이브와 동일)
- G2 PASS: rewarded=[testinviter_g2 1맘] — 핵심 버그 수정 확인
- G3 PASS: 718건(729 이내)에서 g3_batch_2/3 매칭 성공 확인. 719+건은 셀DB 한계 초과로 drop(후속 N-way 필요)
- G4 PASS: 재기동 후 syncedContacts=718, momPaid=18 보존
- G5 PASS: 2nd join firstJoin=false, skipped=[already_joined], 보상0
- G6 PASS: 챗 greet→need 전이, 피드 count 정상
스테이징 빌드
/tmp/finance_shard_staged.toau (포트 9750, 3.19MB)
리스크/미해결
- 메타DB도 ~700건 시 과적: _pair_(~N) + _byphone_(~N) = ~2N → N≥365이면 메타DB도 729 초과. 현 라이브(519)는 안전. 향후 N-way 메타 분리 필요
- 셀DB 729 한계: 연락처 729건 초과 시 셀 silent drop. N-way 셀 분리 후속 작업 필요
- 배포 미완: 라이브 :9750 무접촉 유지. 배포는 별도 gateway 세션 담당