집사회 티켓 소화 2라운드 + 결함 발견 (2026-07-29)
개요
크라우니집사회(deacon:9772) 현황 재파악 후 대기 티켓을 butler-council 워크플로우로 2라운드 소화. 13티켓 완료 보고, 집사회 코어 결함 다수 실측 발견, butler-council.js 자체 결함 2건 수리.
무엇을 했는지
- 현황: 시작 시 미션14·티켓23(대기7·진행3·자립도43%) → 종료 시 티켓65(완료20·규칙처리10·대기35·자립도15%)
- 패블 티켓(본세션): T2 연결체 3종 PASS · T3 관제 UI 로컬/공개 200 · T10 격자암호 미션(자식 T11 승계) · T20 마감점검(마감 아님 판정 — 수리 라운드 필요)
- 1라운드(opus4+sonnet2): T5 장부리플레이 12/12 PASS · T6 규칙게이트 실체=2단(brainq HIT 2.2%, 셀코어 미배선, 갑옷.sh python3 위반) · T22 스펙대조 PASS+결함3 · T23 결함8(P1: 보고 멱등성·압축 레이스·백업 1세대) · T11 격자암호서명검증.한선 · T21 규칙게이트3단.한선
- 2라운드(sonnet7): T24 종단점검.한선 · T25/T26 점검도구.한선(게이트적중 18%·팬아웃 위반1) · T27 ID충돌 100% 재현(무락 인메모리 카운터) · T28 lost update 재현(read-modify-write) · T29 O(R) 기각(실측 O(R²)+900 변곡점) · T30 미션 목표문 유실 재현(캐리포워드 부재)
butler-council.js 수리 2건 (정본 ~/.claude/workflows/butler-council.js)
- args가 러너에서 JSON 문자열로 도달 →
typeof A==='string'→JSON.parse 폴백 추가
- agent schema 프로퍼티 키 한글(결과요약/자식지시) → API 400 전멸(
^[a-zA-Z0-9_.-]{1,64}$) → summary/child_orders로 교체(설명은 description에 한글)
관련 파일
- /Users/ef/crowny-deacon (서버·코어·data/티켓.psv, 현재 T65까지)
- /Users/ef/crowny-deacon/한선씨/종단점검.한선·점검도구.한선 (신규 도구, learn 등록)
- /Users/ef/CrownyOS/crownyc/libs/격자암호서명검증.한선
- 개별 문서: 2026-07-29-집사회-장부리플레이-복원검증.md · T25 · T29 · T11
잔여 이슈 (다음 세션 우선순위)
- P1 수리 티켓: T42(보고 상태가드) · T43(recycle bootout→압축→bootstrap + 원자 rename) · T44(백업 세대화) · T59(파일락 원자 ID) — ID충돌·lost update·append 유실이 전부 실측 재현됨
- T56 장부압축 실행(팽창률 50%) · T57 팬아웃클램프 발행시점 검증(T23 자식8>7 위반)
- 규칙게이트 재건: T33(brainq 인덱스 재동기화) · T34(셀코어 3단 배선) · T35(python3 제거)
- 대기 35건 — 자립도 15%로 하락(자연어 지시문 영구 MISS 구조 — T46 결정형 라우터가 처방)
3라운드 추가 (같은 날)
- 11에이전트/14티켓 전부 완료: P1 수리 3건(보고 상태가드·만료회수·압축 원자화+백업 세대화) 격리 E2E PASS 후 라이브 배포 완료(사용자 실행, 서버.toau v1.5 교체+kickstart — health ok·공개 200·stats 정합)
- 규칙게이트 재건: brainq alias 폴백(일치 18/20)·셀코어 3단 배선(갑옷.sh C-2)·python3 2그램 제거·HIT율 계측기·회귀 5케이스
- 장부검증 회귀 12/12 라이브 PASS. 종단점검 도구는 stats 10.9s 응답에 타임아웃(옴) — T80으로 티켓화됨
- 장부 압축은 신판 recycle(원자화)이 새벽 4:44 자동 수행 예정. stats 지연은 압축 후 재실측
- 잔여 대기 40건(T80~T84 신규 포함), 자립도 12%(T46 결정형 라우터가 처방)
4라운드 추가 (같은 날 저녁)
- 래칫 배증 결함 발견·수리: claim마다 대응 타/옴 티켓의 도구제작 쌍둥이가 무상한 발행(T52~91 배증 실측) → 미션당 상한 7 도입. 만료회수() bare 추가() VM함정(무동작/pc이탈) 재대입 수리
- T45~T49 코어 개선: 키목록 SSOT·자연어매핑 결정형 라우터·HIT 자식경로·데드코드 제거. 산출=/tmp/deacon-v16.toau (STRICT 0경고, 미배포 — 사용자 실행 대기)
- T50 규칙게이트3단.rpn.한선 정통본 — 신규 VM함정: hanseonc_std GTE(크거나같다) 항상 거짓(메모리 등록, 우회=크다∨같다). T51 긴급도 규칙표
- 라이브 서버 힙 OOM 크래시 1회(19:01, claim 연타)→KeepAlive 재기동 확인. 세션 누계 완료 44티켓
- 배포 대기 명령:
cp 서버.toau 서버.toau.bak-v15 && cp /tmp/deacon-v16.toau 서버.toau && launchctl kickstart -k gui/$(id -u)/org.crowny.deacon
v16 라이브 배포·검증 (같은 날 17:39)
- 사용자 실행으로 서버.toau v16 교체+kickstart. health ok, stats 정합(완료44), 응답 9.3s(압축은 4:44 recycle 대기)
- claim 실측: T58 claim 시 쌍둥이 T97 발행됨 — 래칫 상한 카운터가 인메모리(부팅 시 0 리셋)로 의심, 장부 리플레이 미반영이면 재기동마다 미션당 7건 재허용. 후속 수리 대상(상한 카운터를 장부 기반 유니크 집계로)
- T58은 검증 중 claim된 상태로 방치 — v1.5 만료회수(30분)가 자동 대기 복귀 예정(회수 로직 첫 라이브 실증 겸)
5라운드 (07-30)
- 사본 티켓 9건 참조 마감(T55·T66~73) + 실작업 12건 완료(7에이전트)
- VM ground truth 확정: 맵넣어()가 N≥5000 O(n²)(진범), 900 변곡점=crownyc.c MAP_SLOTS=729 블록그로스 후 전체 체인 선형 재스캔(코드 규명). 신규 결함: R>3000 유니크 860 사일런트 캡(자식 티켓화)
- ID 동시성 결론: 상주 서버 단일스레드라 현재 무경합 — 순차 카운터+mkdir 파일락 권고(다중화 시점 적용). 타임스탬프ID 비채택(큰 정수 파싱 120s 행)
- brainq 완전 동치화(의미어색인 이식, 20/20) · 종단점검 타임아웃 수리 · 스모크 긴급복구 결선 · 셀코어 bash 폴백 실증 · condition 124,528건(94.9%) 미활용 발견(확장 권고)
- 새벽 recycle 크래시 원인 = 낡은변종 장부압축.toau(md5 불일치) — 신선본 /tmp/압축-재컴파일.toau 준비, 교체는 사용자 실행 대기
- 잔여: 사본 T74~79·T85~92·T97 마감, T94~96, GTE 근본수정, 유니크 캡 수리
6라운드 — P0 사고·복구 (07-30 오후)
- 증상: 완료 T73 재claim 반복·대기 T112 claim 불가 → 격리 재현으로 원인 확정: 티켓.psv 75KB가 읽기()/문자열 65,535(실효 ~48K) 캡 초과 → 서버 조회가 장부 꼬리를 못 봄
- P0 유실 사고: 캡 미인지 상태로 장부압축 실행 → 산출이 T72~T111(40 ID) 소실, 백업조차 65,535B 절단. 장부압축.한선 자체가 대용량 파일에서 절단 압축하는 결함(이전 성공은 전부 <48K였음)
- 복구: 직전 격리 재현용 전체 사본(75,744B·111 ID)으로 원복 완료. 안전 압축본(perl last-wins·112 ID·33.9KB) 스크래치 생성 — 적용은 사용자 실행 대기
- 교훈: ①압축·백업 도구는 파일크기 게이트(>60000B=거부) 필수 ②이전 "장부압축.toau 교체" 권고 철회 — 신선본도 동일 결함, 스테일본(pc-1 크래시)이 역설적으로 무해 ③격리 사본 복사가 사고 복구선이 됨(작업 전 사본 = 표준화 가치)
- 잔여: 장부압축 근본수리(blob 경로/청크 읽기+크기 게이트), T73 재보고, 6라운드 본작업(사본마감·T93~97)
집사회 스킬화 보완 6종 완료 (07-30 오후, 소넷 순차 5에이전트)
- 장부 스케일: 장부압축.한선 크기게이트+60KB 초과 perl 안전경로+유니크 자가검증(불일치=무접촉 중단), 보고 결과요약 300자 절단+data/보고/ 전문, _PSV읽기 60KB 경고
- claim-by-ID:
수신 <모델> [티켓ID] — 서버 "모델|티켓ID" 후방호환, 격리 E2E 5케이스
- butler-council.js: 가드레일 자동주입(중복 스킵)+호출 계약 주석(SSOT), node --check OK
- 크라우니코드.md 👑절: 호출계약·라운드 3규칙·장부캡 경고·보고 규약 명문화
- 배포.sh: 컴파일게이트→심볼가드→백업→교체→kickstart→헬스 실패시 자동원복→스모크. --check 드라이런 검증, CLAUDE.md 결선
- 래칫 상한: 이미 장부기반이었음을 규명(인메모리 카운터 부재 확인), 중복+상한 가드 1회 조회 병합, 재기동 후 8건째 차단 E2E 실증
- 통합 컴파일: 서버.한선+장부압축.한선 STRICT 0경고(작업 1·2·6 통합분)
- 배포 대기: ①티켓.psv 압축본 적용 ②bash 배포.sh (사용자 실행)
스킬화 보완 6종 라이브 배포·검증 완료 (07-30 16:25)
- 1차 배포 실패=배포.sh health 체크 3초 단발 < 부팅 로드 시간 → 오탐 원복(자동 원복은 설계대로 작동). 수리=3초×10회 재시도 루프
- 2차 배포 성공: STRICT 0경고·심볼가드·스모크 티/정상(종단 3종+장부검증 12/12)
- 라이브 검증: claim-by-ID(수신 opus T115 지정 claim 성공)·보고 300자 절단+data/보고/T114.txt 전문 참조 실증·stats 3.5s
- 집사회 스킬(크라우니코드 👑절) 실전 준비 완료. 잔여 큐: 대기 ~34건(T94~96·GTE 근본수정·유니크캡 수리·T57 팬아웃 등)
6라운드 — VM 근본수리 (07-30 저녁, 5에이전트+사본 14건 마감)
- T122 GTE 근본수정·라이브 반영: 원인=hanseonc_std.asm 키워드표 별칭 누락(크거나같다/GTE/작거나같다/LTE). RPN 9종 회귀 후 hanseonc_std.toau 교체 완료
- T123 대발견(원인 정정): "맵 유니크 캡"의 진범 = 읽기() FREADALL op249 고정 65,536B 버퍼 무증상 폐기 — 이번 주 장부캡 증상 전체의 근원. 동적버퍼 수리본 /tmp/crownyc-fix 검증(358KB 완독), 라이브 crownyc는 무접촉(29서비스 스모크 체크리스트 후 교체 — T127~129)
- T93/T57: 팬아웃 8>7 원인=발행경로가 클램프 미경유(에이전트 직접 append) → 팬아웃가드.한선 강제 게이트 신설
- T94: _규칙처리_자식생성 첫 실사용 핸들러 / T95: bare 추가() 19곳 전수 수리 / T96: 래칫 상한 통계(배포 후 재검토)
- crownyc.c 소스 fsyntax-only rc=0·라이브 바이너리 md5 불변 확인. 배포 대기=bash 배포.sh(T94/95 반영)
7라운드 — crownyc-fix 검증 체인 완료 (07-30 저녁)
- T127: R1500 완주 — 수리본 유니크 500 정확(구본 320 과소) / T128: 엣지 6/6 PASS(64K경계·바이너리·UTF8), 회귀 상비 tests/freadall_regress/. 부수 발견=정본 crownyc 바이너리가 7/12 빌드(소스 수정 미반영)
- T129: crownyc-교체.sh(백업→교체→전 crowny 데몬 kickstart→포트 스모크→과반실패 자동원복) --check 검증 완료
- T126: 키워드대조.pl 3원 대조 상비 — GTE 재발없음 + 신규 백로그: rpn/high opcode 불일치 24건·std.asm 별칭 부재 20건(T137/T138)
- 판정: crownyc-fix 교체 준비 완료(티) — 실행=사용자
bash /Users/ef/CrownyOS/crownyc/crownyc-교체.sh
crownyc-fix 라이브 교체 완료 + 사후 검증 (07-30 23시)
- 사용자 실행 crownyc-교체.sh — 206 데몬 일괄 kickstart. 재기동 폭풍(load 19)으로 훅·deacon 일시 SIGKILL(OOM) → 수분 내 자연 회복(KeepAlive)
- 검증: 라이브 md5=fix 일치·FREADALL 회귀 6/6 PASS(라이브 바이너리)·핵심 26포트 스윕 25 OK·gateway 공개 200
- 신규 부작용 클래스 발견: 의미어라우터(9793) exit43 크래시 루프 — 읽기() 완독으로 대형 사전이 문자열 핸들 상한(480,000) 초과. "절단 적응 서비스의 완독 후 상한" 패턴 — FREADALL후속 미션 발행. deacon도 [STR] 90% 경고 관찰(주시)
교체 중단 사후 전수확인 (07-30 밤, 사용자 요청)
- 결론: 교체로 중단된 작업 0 — 실행중 151·주기배치 9(다음 스케줄 자동)·티켓/워크플로우 미완 0
- 스크립트 행 원인 = org.crowny.artist의 깨진 plist(/usr/local/bin/node 부재)에서 kickstart 행. 사전 고장 3건 노출: artist(node경로)·telegram-bot(plist XML 손상 11행)·sessionbridge(watch 실패)
- load 133 스파이크 = 배치잡(백업·스윕·하베스트) 동시 kickstart — kill 없이 자연 소진 확인
- 후속: 사전고장 3건 수리 티켓화 예정 · crownyc-교체.sh에 kickstart 타임아웃+스킵 가드 추가 필요
8라운드 (07-31 오전, 6에이전트)
- 컴파일러 정합(T137): rpn/high 실질 충돌 16건 판정·수정, 6본 byte-identical 회귀 후 라이브 컴파일러 교체. 잔여 백로그=STORE/LOAD 인자순서 기존결함(보고 자식 유실 — 수동 백로그)
- T138: std.asm 별칭 보강 필요 0건(대조 스크립트 판정컬럼 오독 규명 — 도구 개선 여지)
- 사전고장 3건 수리(T155~157): artist 재기동 정상·telegram plist 수리(기동은 npm 의존성 범위외)·세션브리지 $CHAN 버그 수리 — 전부 교체와 무관한 기존 결함이었음 확정
- T158: 교체.sh kickstart 10s 가드(행 사고 재발 방지)
- STR 핸들 이슈(T143/T144): 라우터 로더 수리는 부분 개선(36s 안정 후 재다운) — 63로그 공통 432000/480000 패턴 = 부트 공통 경로(가져오기/셀코어 초기화) 대량 소비 가설. 근본 수리=T162(코드 경로 특정), 분석=T163/164
- 9793은 현재 다운(비핵심·크래시루프 아님), deacon 200 정상
9라운드 (07-31, 4에이전트)
- STR 핸들 근본 규명(T162/T163): 90% 경고=부트 대용량 PSV 벌크로드(라우터 46k줄=30~40만 핸들, 요청0 재현)+VM GC가 단일 루프 내 임시문자열 미회수(마크 스코프 의심). deacon은 stats/claim마다 장부 전체 재파싱+셀코어 큐브 누적(GC 후 47만 생존=풀 누수 확정) — 보고 배치 중 실크래시로 재현됨. 후속=T171~175(GC 계측·강제GC·per-char 25파일·62서비스 대조·30분 관찰)
- STORE/LOAD 수리(T169): hanseonc_high SWAP 정합, byte-identical 회귀 후 라이브 교체. 후속=T176~178(실사용 toau 재컴파일 점검·std.asm 존치·pkg 동기화)
- T164 로그-서비스 대조표 완성. 9793 라이브 복구(간헐 재기동 잔존)
- 관찰: deacon 자체가 T163 규명 그대로 보고 폭주 시 핸들 소진 크래시 — mtime 캐시 TTL 수리가 다음 최우선
10라운드 결산 (07-31)
- GC 무죄 확정(T171): 마크 스코프 정상, 캡 트리거 전수 스윕(15s/회)이 비용의 실체 → VM 수리 불필요 판정. 처방(T172)=2000줄 주기 문자열GC(): 경고 0회+10% 단축 실측
- per-char O(n²) 12건 수리(T173, butler 전역)·59로그 분류(벌크로드 89%, T174)·라우터 24h 재기동 91회/exit43 82% 정량화(T175)
- STORE/LOAD 영향 종결(T176: 실사용 전부 기정합·재컴파일 0건)·std.asm 존치 판정(T177)·pkg 동기화 준비(T178)
- T184 deacon 파싱캐시: stats 13.8s→15ms(800배)+200요청 GC — 격리 E2E·STRICT 0경고, 배포 대기
- 라우터 GC 처방 소스 반영·격리 검증 완료(/tmp/라우터GC적용.toau) — 배포 대기
- 배포 2건(사용자): ①bash /Users/ef/crowny-deacon/배포.sh ②라우터 toau 교체+kickstart
배포 마감 (07-31 오후)
- deacon 파싱캐시 라이브: stats 10s대→0.4~0.9s 실측(첫 파싱 후 ms대). 스모크 12/12. 이번 주 보고 타임아웃 소멸
- 라우터: 사용자 cp 미적용 재발(2번째 cp 소실 패턴)→직접 교체·kickstart 성공했으나 GC패치 신본에서도 부팅 미완·90% 경고 지속. 격리 검증과 프로덕션의 괴리 — 로더 경로 상이 의심. 3차 수리 반복 중단, 미션 '라우터완치'로 이관(비핵심 서비스)
- 교훈: 사용자
! 체인의 2번째 cp가 조용히 소실되는 패턴 2회 재발 — 배포는 단일 스크립트(배포.sh류)로만
11라운드 — 트랙 종결 (07-31 저녁)
- 라우터 완치 확정(T189): 원인=벌크로드 GC 조대주기(env/모델크기/배선 가설 실증 배제). T143→T162→T172 처방 반영본이 라이브에서 50분+ 안정(RSS 10MB). ★관측 교정: 9793은 HTTP 아닌 원시소켓 프로토콜 — curl 000은 오탐이었음, 실프로토콜 질의 정상 응답
- butler 재컴파일 준비: toau 존재 3본(감사서버·게이트·API) /tmp/butler재컴파일/ 산출+launchd 매핑(nexus-api·nexus). libs 9본은 독립 toau 없음(가져오기 흡수 여부 후속)
- 사본 24건 일괄 마감. 최종 현황: 티켓 190·완료 152·진행 0·대기 28(대부분 잔여 사본·후속 제안)
- 집사회 3일 트랙 종결 — 핵심 결함 전부 라이브 수리, 잔여는 선택적 후속(감사 3본 배포·libs 흡수 확인·pkg 퍼블리시)
상시화 완성 (08-01, M25)
- /크라우니코드 👑절 상시기본 승격: t2+ 작업 기본경로=미션→지정claim→/butler-council 라운드→보고(예외: 조회·통독·미세수정·brain HIT). 세션시작=현황+claim, 라운드종료=현황판갱신
- 집사회-스펙 v2.1 조직망: 역할 4단 고정+장비 레지스트리 13종(실존 검증)+고도화 래칫(미스로그→도구제작→learn→결정형 승격) 명문화
- 현황판 5분 자동 갱신 LaunchAgent(org.crowny.deacon-dashboard) 라이브 — 락·롤백 가드, 2회 연속 실측. GUI=public/현황판.html(크라우니디자인)
- 집사회 = 크라우니코드 스킬의 상시 기본 조직망으로 완성. 고도화는 래칫 사이클이 라운드마다 자동 누적