{
  "generatedAt": "2026-06-23T17:48:35.332Z",
  "summary": {
    "roles": 26,
    "working": 12,
    "waiting": 2,
    "joining": 0
  },
  "feed": [
    {
      "s": "working",
      "t": "공다방 작가 — 부실 35건 자료 보강"
    },
    {
      "s": "waiting",
      "t": "CTO — 자동화 12개 가동 감시 (점검 필요)"
    },
    {
      "s": "waiting",
      "t": "수강권·매출 — 2건 보정, 원장 승인 대기"
    },
    {
      "s": "waiting",
      "t": "공다방 검수 — 제보 1건 검수 대기"
    },
    {
      "s": "waiting",
      "t": "원장 승인 대기 2건"
    }
  ],
  "approvals": [
    {
      "id": "apv-20260622-01",
      "decision": "이성민 빈값 수강권(dagymPass_0cf088b2) → 다짐 동기화 잔재로 판정·'소진만료'로 닫기(중복 정리). 활성 khpne 유지·변경 없음",
      "role": "COO 운영(학원)",
      "summary": "memberId=HaDRp01q8k44NjO9mIxn 의 passes 3건 전수확인. ①빈값 dagymPass_0cf088b2(status=''·05-30~07-03·잔여3/4·dagymSaleId=e59d0223·dagymImportSource=dagym-valid-pass-ledger-sync-datefix·paid 20만·productId 없음) ②쌍둥이 qXH81y(소진만료·05-30~07-03 기간 완전 동일·잔여0/4·dagymSaleId 없음·productId=rXNtD5T 있음·changeTokenUsed=1·createdAt 05-31로 빈값보다 늦음) ③활성 khpne(사용중·06-19~07-23·'1가지 장학'·productId=C1OVqFJW·잔여4/4·06-19 생성). 판정근거: ①과 ②는 동일 판매(같은 기간·동일 productName '일반수강권')의 중복으로, 빈값(①)은 다짐 동기화가 먼저 만든 placeholder이고 ②가 그 뒤 생성돼 실제 사용·소진·만료된 베어 정식 패스. ③은 기간·product가 달라 빈값과 무관한 차회차 신규 패스. 따라서 빈값(①)은 이미 ②로 소진된 동일 판매의 잔재 → 닫기 대상.",
      "recommendation": "APPROVE 시 실행: 빈값 dagymPass_0cf088b2 status를 '소진만료'로 1필드 변경(닫기). 잔여회수(remainCount)는 손대지 않음 — 차감/환불 직결이라 회기수 자체는 변경 안 함. ⚠️확인필요(다짐 원본): 빈값 remain=3 vs 쌍둥이 qXH81y remain=0 의 차이가 남음. 둘이 진짜 같은 한 판매가 맞고 실제 잔여가 0이 맞는지(=이 회원이 이 판매분을 다 썼는지)는 다짐 원본 결제·출석으로 사람 확인 권장. 만약 빈값의 잔여3이 진짜 잔존이면 닫기 대신 활성화 검토가 필요하므로, 확신 없으면 '다짐 원본 사람 확인 필요'.",
      "holdNote": "보류(원장 26-06-22): 다짐은 더 이상 원본 아님 → 다짐 대조 말고 꿀단지 라이브 기준으로 내일 확인 후 결정.",
      "impact": "라이브 passes 1문서(dagymPass_0cf088b2) status 빈값→'소진만료' 1필드 변경. 활성 khpne·소진 qXH81y는 미접촉. 잘못 '사용중'으로 플립할 경우 활성 패스가 khpne와 2장 노출+소진된 쌍둥이와 중복 차감 위험이 있어 닫기로 정리.",
      "gate": "require-approval"
    },
    {
      "id": "apv-20260622-02",
      "decision": "최수진 빈값 수강권(HzgIzaxdycq0RejCDHeh) → 활성 fe84fcd7과 별개 판매(둘 다 잔존 가능). 단순 플립 금지·승계형 정리: fe84fcd7 만료(06-29) 후 HzgIz를 '사용중' 승계",
      "role": "COO 운영(학원)",
      "summary": "memberId=qwzkJHQKymUQPSk3GmGI 의 passes 13건 전수확인. 과거 소진만료 11건(2025~2026초 다짐 이관분)은 정상. 현재 충돌은 2건: ①빈값 HzgIz(status=''·06-01~07-06·잔여3/4·dagymSaleId 없음·src=dagym-sync-2026-05-27·note='다짐 동기화—베어 활성 수강권 누락 보정'·firstLessonDate=06-01·lifecycleStartBasis=firstLesson) ②활성 fe84fcd7(사용중·05-26~06-29·잔여1/4·dagymSaleId=a9fa6fc8·dagymMembershipId=fe84fcd7·src=ledger-sync-datefix·06-15 차감복원 흔적). 판정근거: ①과 ②는 dagymSaleId·소스·기간이 모두 달라 같은 판매의 중복이 아니라 연속된 별개 결제 2건으로 보임(fe84 만료 06-29 → Hzg 만료 07-06으로 기간이 이어짐). 둘 다 '일반수강권'·tot 4·각각 잔여1/잔여3 → 둘 다 실재 잔존 패스일 가능성이 높음.",
      "recommendation": "권장 APPROVE 실행안(승계형, 잔여회수 불변): 지금은 fe84fcd7(06-29 만료·잔여1)을 활성으로 두고, 빈값 HzgIz는 06-29 이후 또는 fe84fcd7 소진 시점에 status='사용중'으로 승계. 즉시 활성 2장으로 만들지 않음. 회기수(remainCount)는 차감/환불 직결이라 손대지 않음. ⚠️확인필요(다짐 원본): ①과 ②가 정말 별개 2건 결제인지(같은 판매의 중복 동기화면 한쪽을 만료로 닫아야 함)는 다짐 원본 결제내역 대조 권장. 확신 없으면 '다짐 원본 사람 확인 필요' — 이 경우 즉시 status 부여 보류.",
      "holdNote": "보류(원장 26-06-22): 다짐은 더 이상 원본 아님 → 다짐 대조 말고 꿀단지 라이브 기준으로 내일 확인 후 결정.",
      "impact": "라이브 passes 최대 2문서 영향(승계형). 1차: HzgIz status 빈값→'사용중'은 fe84fcd7(잔여1·06-29 만료)이 소진/만료된 이후에만. 잘못 즉시 플립하면 활성 패스 2장 동시 노출로 차감 대상 모호.",
      "gate": "require-approval"
    }
  ],
  "rooms": [
    {
      "id": "hq",
      "name": "본사",
      "members": [
        {
          "k": "chairman",
          "n": "회장",
          "i": "crown",
          "status": "working",
          "task": "전사 종합·라우팅",
          "detail": {
            "why": "원장 결재 대기 2건 — 각 임원 판단을 모은 결재함입니다.",
            "how": "아래 각 건의 [권장]을 보고 원장이 APPROVE/보류 결정 → 회장이 집행합니다.",
            "approvals": [
              {
                "id": "apv-20260622-01",
                "decision": "이성민 빈값 수강권(dagymPass_0cf088b2) → 다짐 동기화 잔재로 판정·'소진만료'로 닫기(중복 정리). 활성 khpne 유지·변경 없음",
                "role": "COO 운영(학원)",
                "summary": "memberId=HaDRp01q8k44NjO9mIxn 의 passes 3건 전수확인. ①빈값 dagymPass_0cf088b2(status=''·05-30~07-03·잔여3/4·dagymSaleId=e59d0223·dagymImportSource=dagym-valid-pass-ledger-sync-datefix·paid 20만·productId 없음) ②쌍둥이 qXH81y(소진만료·05-30~07-03 기간 완전 동일·잔여0/4·dagymSaleId 없음·productId=rXNtD5T 있음·changeTokenUsed=1·createdAt 05-31로 빈값보다 늦음) ③활성 khpne(사용중·06-19~07-23·'1가지 장학'·productId=C1OVqFJW·잔여4/4·06-19 생성). 판정근거: ①과 ②는 동일 판매(같은 기간·동일 productName '일반수강권')의 중복으로, 빈값(①)은 다짐 동기화가 먼저 만든 placeholder이고 ②가 그 뒤 생성돼 실제 사용·소진·만료된 베어 정식 패스. ③은 기간·product가 달라 빈값과 무관한 차회차 신규 패스. 따라서 빈값(①)은 이미 ②로 소진된 동일 판매의 잔재 → 닫기 대상.",
                "recommendation": "APPROVE 시 실행: 빈값 dagymPass_0cf088b2 status를 '소진만료'로 1필드 변경(닫기). 잔여회수(remainCount)는 손대지 않음 — 차감/환불 직결이라 회기수 자체는 변경 안 함. ⚠️확인필요(다짐 원본): 빈값 remain=3 vs 쌍둥이 qXH81y remain=0 의 차이가 남음. 둘이 진짜 같은 한 판매가 맞고 실제 잔여가 0이 맞는지(=이 회원이 이 판매분을 다 썼는지)는 다짐 원본 결제·출석으로 사람 확인 권장. 만약 빈값의 잔여3이 진짜 잔존이면 닫기 대신 활성화 검토가 필요하므로, 확신 없으면 '다짐 원본 사람 확인 필요'.",
                "holdNote": "보류(원장 26-06-22): 다짐은 더 이상 원본 아님 → 다짐 대조 말고 꿀단지 라이브 기준으로 내일 확인 후 결정.",
                "impact": "라이브 passes 1문서(dagymPass_0cf088b2) status 빈값→'소진만료' 1필드 변경. 활성 khpne·소진 qXH81y는 미접촉. 잘못 '사용중'으로 플립할 경우 활성 패스가 khpne와 2장 노출+소진된 쌍둥이와 중복 차감 위험이 있어 닫기로 정리.",
                "gate": "require-approval"
              },
              {
                "id": "apv-20260622-02",
                "decision": "최수진 빈값 수강권(HzgIzaxdycq0RejCDHeh) → 활성 fe84fcd7과 별개 판매(둘 다 잔존 가능). 단순 플립 금지·승계형 정리: fe84fcd7 만료(06-29) 후 HzgIz를 '사용중' 승계",
                "role": "COO 운영(학원)",
                "summary": "memberId=qwzkJHQKymUQPSk3GmGI 의 passes 13건 전수확인. 과거 소진만료 11건(2025~2026초 다짐 이관분)은 정상. 현재 충돌은 2건: ①빈값 HzgIz(status=''·06-01~07-06·잔여3/4·dagymSaleId 없음·src=dagym-sync-2026-05-27·note='다짐 동기화—베어 활성 수강권 누락 보정'·firstLessonDate=06-01·lifecycleStartBasis=firstLesson) ②활성 fe84fcd7(사용중·05-26~06-29·잔여1/4·dagymSaleId=a9fa6fc8·dagymMembershipId=fe84fcd7·src=ledger-sync-datefix·06-15 차감복원 흔적). 판정근거: ①과 ②는 dagymSaleId·소스·기간이 모두 달라 같은 판매의 중복이 아니라 연속된 별개 결제 2건으로 보임(fe84 만료 06-29 → Hzg 만료 07-06으로 기간이 이어짐). 둘 다 '일반수강권'·tot 4·각각 잔여1/잔여3 → 둘 다 실재 잔존 패스일 가능성이 높음.",
                "recommendation": "권장 APPROVE 실행안(승계형, 잔여회수 불변): 지금은 fe84fcd7(06-29 만료·잔여1)을 활성으로 두고, 빈값 HzgIz는 06-29 이후 또는 fe84fcd7 소진 시점에 status='사용중'으로 승계. 즉시 활성 2장으로 만들지 않음. 회기수(remainCount)는 차감/환불 직결이라 손대지 않음. ⚠️확인필요(다짐 원본): ①과 ②가 정말 별개 2건 결제인지(같은 판매의 중복 동기화면 한쪽을 만료로 닫아야 함)는 다짐 원본 결제내역 대조 권장. 확신 없으면 '다짐 원본 사람 확인 필요' — 이 경우 즉시 status 부여 보류.",
                "holdNote": "보류(원장 26-06-22): 다짐은 더 이상 원본 아님 → 다짐 대조 말고 꿀단지 라이브 기준으로 내일 확인 후 결정.",
                "impact": "라이브 passes 최대 2문서 영향(승계형). 1차: HzgIz status 빈값→'사용중'은 fe84fcd7(잔여1·06-29 만료)이 소진/만료된 이후에만. 잘못 즉시 플립하면 활성 패스 2장 동시 노출로 차감 대상 모호.",
                "gate": "require-approval"
              }
            ]
          }
        },
        {
          "k": "ciso",
          "n": "CISO 보안",
          "i": "shield-lock",
          "status": "idle",
          "task": "보안 감사"
        },
        {
          "k": "cso",
          "n": "CSO 전략",
          "i": "compass",
          "status": "working",
          "task": "신사업 아이디어 완료",
          "detail": {
            "why": "신사업 아이디어 최근 산출 완료 (2026-06-22). — 아끼다에움 사업계획서 v4(데이터·SWOT 기반) 노션 업로드 — 실측·출처로 분석",
            "how": null
          }
        },
        {
          "k": "qa-sre",
          "n": "QA·SRE",
          "i": "lifebuoy",
          "status": "idle",
          "task": "정합성 감시"
        }
      ]
    },
    {
      "id": "fin",
      "name": "재무",
      "members": [
        {
          "k": "cfo",
          "n": "CFO",
          "i": "coin",
          "status": "working",
          "task": "수지 집계"
        },
        {
          "k": "fin-payroll",
          "n": "급여",
          "i": "coins",
          "status": "idle",
          "task": "급여 대기"
        },
        {
          "k": "fin-deposits",
          "n": "입금·수납",
          "i": "cash",
          "status": "idle",
          "task": "입금 대사"
        }
      ]
    },
    {
      "id": "tech",
      "name": "기술·데이터",
      "members": [
        {
          "k": "cto",
          "n": "CTO",
          "i": "cpu",
          "status": "waiting",
          "task": "자동화 점검!",
          "detail": {
            "why": "가동 12개 중 점검 필요 2건 (실패: 악보 목록 정리, Drive 마스터→앱 악보 수입)",
            "how": "회장에게 「자동화 다 돌아가는지 점검해줘」 지시 → 실패 자동화 재실행·원인 확인. (실패 = 마지막 실행이 fail)",
            "items": [
              "❌ 실패 · 악보 목록 정리",
              "❌ 실패 · Drive 마스터→앱 악보 수입"
            ]
          }
        },
        {
          "k": "codex",
          "n": "Codex",
          "i": "terminal-2",
          "status": "working",
          "task": "코드·검증 합류"
        },
        {
          "k": "cdo",
          "n": "CDO",
          "i": "database",
          "status": "working",
          "task": "공다방 54건"
        }
      ]
    },
    {
      "id": "kkul",
      "name": "꿀단지 · 음악학원",
      "members": [
        {
          "k": "ceo_kkul",
          "n": "대표",
          "i": "school",
          "status": "working",
          "task": "KPI 집계",
          "detail": {
            "why": "학원 현황 — 수강권 1802건 · 최근 레슨 0 · 연습실 예약 16.",
            "how": "세부는 회장에게 「오늘 학원 KPI 종합해줘」.",
            "items": [
              "수강권 총 1802건",
              "최근 레슨 0회",
              "연습실 예약(예정) 16건"
            ]
          }
        },
        {
          "k": "kkul-revenue",
          "n": "수강권·매출",
          "i": "receipt",
          "status": "waiting",
          "task": "2건 보정 대기",
          "detail": {
            "why": "빈값(status 미설정) 활성 수강권 2건 — 정합성 보정 대기.",
            "how": "⚠️라이브 직접 플립 금지. 아래 결재건 [권장]대로 꿀단지 라이브 기준 확인 후 원장 승인.",
            "approvals": [
              {
                "id": "apv-20260622-01",
                "decision": "이성민 빈값 수강권(dagymPass_0cf088b2) → 다짐 동기화 잔재로 판정·'소진만료'로 닫기(중복 정리). 활성 khpne 유지·변경 없음",
                "role": "COO 운영(학원)",
                "summary": "memberId=HaDRp01q8k44NjO9mIxn 의 passes 3건 전수확인. ①빈값 dagymPass_0cf088b2(status=''·05-30~07-03·잔여3/4·dagymSaleId=e59d0223·dagymImportSource=dagym-valid-pass-ledger-sync-datefix·paid 20만·productId 없음) ②쌍둥이 qXH81y(소진만료·05-30~07-03 기간 완전 동일·잔여0/4·dagymSaleId 없음·productId=rXNtD5T 있음·changeTokenUsed=1·createdAt 05-31로 빈값보다 늦음) ③활성 khpne(사용중·06-19~07-23·'1가지 장학'·productId=C1OVqFJW·잔여4/4·06-19 생성). 판정근거: ①과 ②는 동일 판매(같은 기간·동일 productName '일반수강권')의 중복으로, 빈값(①)은 다짐 동기화가 먼저 만든 placeholder이고 ②가 그 뒤 생성돼 실제 사용·소진·만료된 베어 정식 패스. ③은 기간·product가 달라 빈값과 무관한 차회차 신규 패스. 따라서 빈값(①)은 이미 ②로 소진된 동일 판매의 잔재 → 닫기 대상.",
                "recommendation": "APPROVE 시 실행: 빈값 dagymPass_0cf088b2 status를 '소진만료'로 1필드 변경(닫기). 잔여회수(remainCount)는 손대지 않음 — 차감/환불 직결이라 회기수 자체는 변경 안 함. ⚠️확인필요(다짐 원본): 빈값 remain=3 vs 쌍둥이 qXH81y remain=0 의 차이가 남음. 둘이 진짜 같은 한 판매가 맞고 실제 잔여가 0이 맞는지(=이 회원이 이 판매분을 다 썼는지)는 다짐 원본 결제·출석으로 사람 확인 권장. 만약 빈값의 잔여3이 진짜 잔존이면 닫기 대신 활성화 검토가 필요하므로, 확신 없으면 '다짐 원본 사람 확인 필요'.",
                "holdNote": "보류(원장 26-06-22): 다짐은 더 이상 원본 아님 → 다짐 대조 말고 꿀단지 라이브 기준으로 내일 확인 후 결정.",
                "impact": "라이브 passes 1문서(dagymPass_0cf088b2) status 빈값→'소진만료' 1필드 변경. 활성 khpne·소진 qXH81y는 미접촉. 잘못 '사용중'으로 플립할 경우 활성 패스가 khpne와 2장 노출+소진된 쌍둥이와 중복 차감 위험이 있어 닫기로 정리.",
                "gate": "require-approval"
              },
              {
                "id": "apv-20260622-02",
                "decision": "최수진 빈값 수강권(HzgIzaxdycq0RejCDHeh) → 활성 fe84fcd7과 별개 판매(둘 다 잔존 가능). 단순 플립 금지·승계형 정리: fe84fcd7 만료(06-29) 후 HzgIz를 '사용중' 승계",
                "role": "COO 운영(학원)",
                "summary": "memberId=qwzkJHQKymUQPSk3GmGI 의 passes 13건 전수확인. 과거 소진만료 11건(2025~2026초 다짐 이관분)은 정상. 현재 충돌은 2건: ①빈값 HzgIz(status=''·06-01~07-06·잔여3/4·dagymSaleId 없음·src=dagym-sync-2026-05-27·note='다짐 동기화—베어 활성 수강권 누락 보정'·firstLessonDate=06-01·lifecycleStartBasis=firstLesson) ②활성 fe84fcd7(사용중·05-26~06-29·잔여1/4·dagymSaleId=a9fa6fc8·dagymMembershipId=fe84fcd7·src=ledger-sync-datefix·06-15 차감복원 흔적). 판정근거: ①과 ②는 dagymSaleId·소스·기간이 모두 달라 같은 판매의 중복이 아니라 연속된 별개 결제 2건으로 보임(fe84 만료 06-29 → Hzg 만료 07-06으로 기간이 이어짐). 둘 다 '일반수강권'·tot 4·각각 잔여1/잔여3 → 둘 다 실재 잔존 패스일 가능성이 높음.",
                "recommendation": "권장 APPROVE 실행안(승계형, 잔여회수 불변): 지금은 fe84fcd7(06-29 만료·잔여1)을 활성으로 두고, 빈값 HzgIz는 06-29 이후 또는 fe84fcd7 소진 시점에 status='사용중'으로 승계. 즉시 활성 2장으로 만들지 않음. 회기수(remainCount)는 차감/환불 직결이라 손대지 않음. ⚠️확인필요(다짐 원본): ①과 ②가 정말 별개 2건 결제인지(같은 판매의 중복 동기화면 한쪽을 만료로 닫아야 함)는 다짐 원본 결제내역 대조 권장. 확신 없으면 '다짐 원본 사람 확인 필요' — 이 경우 즉시 status 부여 보류.",
                "holdNote": "보류(원장 26-06-22): 다짐은 더 이상 원본 아님 → 다짐 대조 말고 꿀단지 라이브 기준으로 내일 확인 후 결정.",
                "impact": "라이브 passes 최대 2문서 영향(승계형). 1차: HzgIz status 빈값→'사용중'은 fe84fcd7(잔여1·06-29 만료)이 소진/만료된 이후에만. 잘못 즉시 플립하면 활성 패스 2장 동시 노출로 차감 대상 모호.",
                "gate": "require-approval"
              }
            ]
          }
        },
        {
          "k": "kkul-schedule",
          "n": "일정관리",
          "i": "calendar",
          "status": "idle",
          "task": "시간표"
        },
        {
          "k": "kkul-ops",
          "n": "운영·관리",
          "i": "checklist",
          "status": "working",
          "task": "운영 점검",
          "detail": {
            "why": "출결·연습실·정합성 일상 점검 중 — 현재 이상 0건.",
            "how": null
          }
        },
        {
          "k": "kkul-content",
          "n": "콘텐츠(작가)",
          "i": "pencil",
          "status": "waiting",
          "task": "콘텐츠 대기",
          "detail": {
            "why": "콘텐츠 이번 회차 산출물이 없어요 — 스케줄 미실행/대기.",
            "how": "회장에게 「이번 주 학원 콘텐츠 만들어줘」 지시하면 즉시 생성."
          }
        },
        {
          "k": "kkul-marketer",
          "n": "홍보·마케팅",
          "i": "speakerphone",
          "status": "working",
          "task": "학원 마케팅 캘린더 완료",
          "detail": {
            "why": "학원 마케팅 캘린더 최근 산출 완료 (2026-06-22). — W26 여름방학 진입 — 특강·연습릴스·Q&A·강사소개 4건",
            "how": null
          }
        },
        {
          "k": "kkul-scores",
          "n": "악보 사서",
          "i": "books",
          "status": "waiting",
          "task": "악보 정리 점검",
          "detail": {
            "why": "악보 정리 자동화 2건 실패.",
            "how": "회장에게 점검 지시 → 실패 자동화 재실행·원인 확인.",
            "items": [
              "❌ 실패 · 악보 목록 정리 (2026-06-22)",
              "🟢 악보 새 파일 감시 (2026-06-22)",
              "🟢 앱 업로드 악보 → Drive 백업 (2026-06-22)",
              "❌ 실패 · Drive 마스터→앱 악보 수입 (2026-06-21)",
              "⚪ 기록없음 · 앱 악보함 내용중복 정리"
            ]
          }
        },
        {
          "k": "kkul-comms",
          "n": "메시지",
          "i": "message",
          "status": "idle",
          "task": "알림 점검"
        },
        {
          "k": "kkul-cs",
          "n": "회원·CS",
          "i": "headset",
          "status": "idle",
          "task": "문의 응대"
        },
        {
          "k": "kkul-hr",
          "n": "강사 HR",
          "i": "users",
          "status": "idle",
          "task": "강사 배정"
        }
      ]
    },
    {
      "id": "gdb",
      "name": "공다방 · 공연탐색",
      "members": [
        {
          "k": "ceo_gdb",
          "n": "대표",
          "i": "masks-theater",
          "status": "working",
          "task": "성장 집계",
          "detail": {
            "why": "공다방 현황 — 공연 54건 · 제보 17(대기 1) · 검수필요 2.",
            "how": null,
            "items": [
              "수집 공연 54건",
              "제보 17건(대기 1)",
              "검수 필요 2건"
            ]
          }
        },
        {
          "k": "gdb-writer",
          "n": "작가",
          "i": "pencil",
          "status": "working",
          "task": "보강 35",
          "detail": {
            "why": "설명 없는 부실 이벤트 35건 — 자료 보강 진행.",
            "how": "회장에게 「공다방 부실 이벤트 자료 보강해줘」 → 작가가 설명·출연진 채움."
          }
        },
        {
          "k": "gdb-marketer",
          "n": "홍보·마케팅",
          "i": "brand-instagram",
          "status": "working",
          "task": "인스타 스윕 가동",
          "detail": {
            "why": "인스타 스윕 최근 가동 정상 (1/1건 신선, 7일 내).",
            "how": null,
            "items": [
              "🟢 공다방 인스타 스윕 (코워크) (2026-06-21)"
            ]
          }
        },
        {
          "k": "gdb-editor",
          "n": "검수 에디터",
          "i": "list-check",
          "status": "waiting",
          "task": "제보 1 검수",
          "detail": {
            "why": "제보 검수 — 사람 확인 1건 대기 (자동정리: 보관 0·반려 0).",
            "how": "자동 검수기(gdb-curate)가 종료·명백중복은 스스로 정리함. 남은 건만 나의공다방 🛠검수함에서 승인/반려 — 또는 클로드에게 「공다방 제보 IG 확인해서 검수해줘」.",
            "items": [
              "⏸ 문화진주상점"
            ]
          }
        }
      ]
    },
    {
      "id": "goutte",
      "name": "아틀리에 구떼 · 대관",
      "members": [
        {
          "k": "ceo_goutte",
          "n": "대표",
          "i": "building-community",
          "status": "idle",
          "task": "예약·입금·홍보",
          "detail": {
            "why": "대관 예약 입금 이상 0건 — 예약 들어오면 점등.",
            "how": null
          }
        }
      ]
    },
    {
      "id": "cs",
      "name": "고객센터",
      "members": [
        {
          "k": "support",
          "n": "데스크",
          "i": "headset",
          "status": "working",
          "task": "티켓 대기"
        }
      ]
    }
  ],
  "recentActivity": [
    {
      "at": "2026-06-22T10:58:22.724Z",
      "role": "gdb-writer",
      "roleName": "공다방 작가",
      "kind": "delta",
      "text": "공다방 부실 자료 41→35",
      "level": "ok"
    },
    {
      "at": "2026-06-22T10:58:22.724Z",
      "role": "cto",
      "roleName": "CTO",
      "kind": "alert",
      "text": "자동화 점검 필요 2건",
      "level": "crit"
    },
    {
      "at": "2026-06-22T10:58:22.724Z",
      "role": "gdb-editor",
      "roleName": "공다방 검수에디터",
      "kind": "delta",
      "text": "공다방 제보 검수대기 0→1",
      "level": "warn"
    },
    {
      "at": "2026-06-21T17:39:08.527Z",
      "role": "gdb-editor",
      "roleName": "공다방 검수에디터",
      "kind": "delta",
      "text": "공다방 제보 검수대기 8→0",
      "level": "ok"
    },
    {
      "at": "2026-06-21T17:28:09.333Z",
      "role": "gdb-editor",
      "roleName": "공다방 검수에디터",
      "kind": "delta",
      "text": "공다방 제보 검수대기 10→8",
      "level": "ok"
    },
    {
      "at": "2026-06-21T15:45:42.815Z",
      "role": "chairman",
      "roleName": "회장",
      "kind": "approval",
      "text": "원장 승인 대기 3→2건",
      "level": "warn"
    },
    {
      "at": "2026-06-21T15:42:54.795Z",
      "role": "chairman",
      "roleName": "회장",
      "kind": "approval",
      "text": "원장 승인 대기 1→3건",
      "level": "warn"
    },
    {
      "at": "2026-06-21T15:42:54.795Z",
      "role": "gdb-writer",
      "roleName": "공다방 작가",
      "kind": "delta",
      "text": "공다방 부실 자료 30→41",
      "level": "warn"
    }
  ],
  "_metrics": {
    "subPending": 1,
    "emptyActive": 2,
    "fleetBad": 2,
    "poorDesc": 35,
    "joining": 0,
    "approvals": 2
  }
}