danggeun-ai-study — 당근 AI스터디 (handoff)
1차
ai-study는 26.9.9 폐기(사이트 내림·자료 보관). 여기가 후속 프로젝트다. 1차 자산은 지우지 않았다 — 참고자료로만 쓴다 →projects/ai-study/.
- ✅26.10.8(목) [코디]
danggeun\rounds.pyclaude_json(rounds·watch.analyze·card_prep 공용) →C:\dev\tools\cody_ask.py(API 크레딧 우선·구독 폴백 · 도구 0이라 「max-turns 1 도구 턴」 사고 구조적으로 없음) · callerdanggeun-rounds|watch|card-spec|card-caption· 노력도 sonnet medium / opus xhigh(옛 사용자 설정값). JSON 1건 검증. 백업C:\dev\devplan\danggeun\_bak\. SYSTEM 계정 경로에선 여전히 부르지 않는다.
불변 핵심 (매번 읽는다)
| 항목 | 값 |
|---|---|
| 모임 | 당근 모임 「AI스터디 AI코딩 업무자동화」 · 하안동 · 26.9.8(화) 개설 · 모임장 = 페페(신동승) |
| 코디 접속 | 당근 계정 「칼리」(노트20 010-2841-1731). ⛔페페 기존 계정(010-9426-0731)으로 절대 로그인 금지 — 1계정 1기기라 페페 폰이 튕긴다. 상세 = 코디 메모리 daangn-kali-account |
| 수집 방법 | PYTHONUTF8=1 python C:/dev/poin-agent/phone.py (모듈 from phone import P). 앱 패키지 = com.towneers.www |
| 페이지 | 정적 6장(26.9.9 페페 지시로 1페이지 통합 → 분리). 8799 = http://127.0.0.1:8799/…① 관리 danggeun-ai-study.html ← 허브가 가리키는 주소(고정)② 멤버 danggeun-member-{vibecoding,haedali,claude-well,pyeongil}.html③ 세팅 danggeun-setup.html④ 팁 danggeun-tips.html · ⑤ 차수별 스터디 danggeun-rounds.html |
| 빌더 | C:\dev\devplan\build_danggeun.py — 6장을 한 번에 찍는다. 데이터는 C:\dev\devplan\danggeun\*.json. HTML 직접 편집 금지 |
| 재빌드 | cd C:\dev\devplan && PYTHONUTF8=1 python build_danggeun.py (자체검사 통과해야 파일을 쓴다) |
| 검토용 단독 파일 | C:\dev\devplan\danggeun\standalone\danggeun-<slug>-review.html — 파일 하나로 열린다(부트스트랩·qahelper·좌측 네비 없음). 저장은 그 브라우저 localStorage 뿐이라 코디가 못 읽는다 = 확인·메모용.가입인사가 들어온 멤버만 굽는다. 발송 = 텔레그램 sendDocument(broker config 토큰) |
| 그릴링 자동저장 | 멤버가 입력창에 적으면 바로 저장된다. 원장 = danggeun\answers.json(손대지 마라 — API 가 쓴다)모듈 C:\dev\devplan\danggeun_api.py · API GET /api/danggeun/answers · POST /api/danggeun/grillAPI 를 고쳤으면 PYTHONUTF8=1 python C:\dev\devplan\restart.py 로 8799 재기동해야 반영된다 |
| 리스너 | C:\dev\devplan\danggeun\watch.py — 예약작업 Cody\danggeun-watch(08~23시 2시간 간격, watch_hidden.vbs).수동 = PYTHONUTF8=1 python C:\dev\devplan\danggeun\watch.py [--dry-run\|--no-analyze] · 자체검사 --demo · 로그 danggeun\watch.log본 글 지문 = danggeun\seen.json · 원문 = danggeun\incoming\ · 폰이 카톡에 잡혀 있으면 90초 대기 후 조용히 다음 주기로 넘긴다 |
| 차수별 스터디 | 페이지 danggeun-rounds.html · 정리 danggeun\rounds.py(5분 예약작업 \Cody\danggeun-rounds, delix · 대화형만 — SYSTEM 금지, claude 로그인이 사용자 프로필에 있다) · 원장 danggeun\rounds.json(summary = 자동, notes = 사람) · 수동 PYTHONUTF8=1 python C:\dev\devplan\danggeun\rounds.py [--force\|--demo] · 로그 rounds.log |
| 팁 게시 | 매일 07:00~07:10 랜덤 자동(페페 지시 26.9.14). 예약작업 \Cody\danggeun-daily-tip(매일 07:00 · delix 대화형) → daily_post_hidden.vbs → danggeun\daily_post.py(0~600초 자고 게시 · 차례 = tips.json 미게시분 중 date 최선두 1편 · 카드 없으면 그날 쉬고 텔레그램) · 수동 --now\|--dry\|--post <id> · 자체검사 --demo · 로그 daily_post.log |
| 히어로 | C:\dev\devplan\media\danggeun\hero.png (나노바나나 · 글자 없음) |
| 카드 | 기본 = 나노바나나 그림 + PIL 글자 C:\dev\devplan\danggeun\img\make_cards_nb.py(26.9.11 페페 지시 D019). 새 글은 POSTS 에 그 글 사양을 추가해 굽는다. 구판 make_cards.py(ChatGPT 가 글자까지 그림)는 안 쓴다 · 규칙 = rules.md 🆕 맨 위 |
| 공개 | 아직 안 했다. 페페 별도 지시 후 — 페이지 「공개 체크리스트」 절 |
데이터 파일 4개 (여기만 고친다)
| 파일 | 무엇 |
|---|---|
danggeun/directives.json |
페페 지시문 원문 타임라인. append-only, 요약·윤문 금지 |
danggeun/members.json |
멤버별 가입인사·코디해석·프로젝트 분해·그릴링·파이프라인. 상단 탭 = 배열 순서 |
danggeun/admin.json |
운영현황·진행계획 rev·주기작업·1차 보관·공개 체크리스트 |
danggeun/setup.json |
AI 기본 세팅 (멤버 계획과 섞지 않는다 — 페페 지시) |
danggeun/answers.json |
⛔손으로 안 고친다. 멤버가 페이지에서 입력한 그릴링 답 — danggeun_api.py 전용 |
danggeun/venues.json |
차수별 추천 대여공간(교통 근거표 · 공간 카드). 키 = 차수 번호. rounds.json 에 넣지 마라(rounds.py 가 통째로 덮어쓴다) |
멤버 (26.9.9 저녁 기준 8명 = 페페 + 칼리 + 멤버 6 · 멤버목록 화면 실측)
| 닉네임 | 동네 | 연령대 | 상태 |
|---|---|---|---|
| 바이브코딩 | 안양동 | 30대 후반 남 | ✅ 계획 접수 · 하위 6종 · 그릴링 12문 · 7단계 파이프라인 · 공개링크 발송함 |
| 해달이 | 일직동 | 30대 중반 여 | ✅ 가입인사 접수(웹디자이너 · 옵션별 이미지 정리 자동화) · 분해·그릴링 12문 완료 · 공개링크 발송함 |
| 한량/80/금천 | 시흥제2동 | 40대 중반 남 | ✅ 가입인사 접수(게시판 제작 경험 · 일상 활용) · 분해·그릴링 12문 완료 · 공개링크 발송함 |
| 망고치토스 | 가산동 | 40대 초반 남 | ✅ 가입인사 접수 26.9.9 19:21(주식 자동매매 프로그램) · 분해·그릴링 12문·7단계 완료 · 공개링크 발송함(20:05) |
| 평일 | 석수1동 | 30대 후반 남 | 가입인사 대기 |
| 코우호 | 은행동 | 30대 후반 남 | 가입인사 대기 (26.9.9 밤 신규 가입 — 멤버 7→8) |
| ~~클로드 잘쓰고 싶어요~~ | 철산3동 | 40대 중반 여 | ⚠26.9.9 19:22 탈퇴 확인(멤버 8→7). 글 없이 나갔다 — members.json 에서 뺐다 |
NOW
- 🆕✅2026-09-22(화) 08:01 KST — t013 게시 완료 · 07시 미게시 원인 = adb «서버» 굳음(폰 아님) · [코디] → 원문 =
archive.md「✅ 26.9.22」 - 요약 = 07:01 자동게시가
R3CR103JBBY unauthorized로 죽었는데 폰이 아니라 PC adb 서버였다(kill-server+start-server한 번에 복구). 카드 7장은 9.21 에 이미 구워져 있었다 → 새로 생성 0.daily_post.py --now로 08:01:46 게시 완료(rc=0 · 재빌드 OK ·tips.jsont013state: posted). - ⛒처방 =
phone.Phone.connect()에 서버 재시작 1회 재시도(폰 도구 전부 공용) · 검증 =phone.py selftestOK. -
⏳다음 = ①9.23 07:0x t014 자동 게시 = 처방의 첫 자동 실전 ②t014 카드 0장 — 오늘
card_prep이 돌아야 내일 안 쉰다. -
🆕✅2026-09-18(금) 08:02 KST — t009 게시 완료 · 07시 미게시 원인 2건 수리 · [코디] → 원문 =
archive.md「✅ 26.9.18」 - 요약 = ①캡션 생성이
claude_json --max-turns 1의 「Reached max turns」로 9.17 에 2회 죽어cards[]가 비어 있었다 →--max-turns 2(danggeun\rounds.py, t010 캡션으로 실검증·미리 박아 뒀다) ②재시도 1차는 0순위(카톡watcher.py)에 폰을 양보했다 돌아오니 앱이 카톡이라 피커에서 죽었다 →phone.Phone.front_pkg(복귀 때 LAUNCHER 인텐트로 당근을 다시 앞으로) ·post_dg.main이 켠다. - ⚠
watcher.py는 매 :19·:49 에 폰을 잡는다(30분 주기) — 손으로 올릴 땐 :00~:15 에 시작한다. -
⏳다음 = ①9.19 07:0x t010 자동 게시 = 두 처방의 첫 자동 실전 ②[페페] 앱 육안 = t009 카드 8장.
-
🆕✅2026-09-15(화) 11:14 KST — t006 게시 완료 · 07시 미게시 원인 2건 수리(재부팅 아니었다) · [코디]
- 페페 지적 = 「스터디팁 업로드 안 올라간 거 같다. 재부팅으로 인한 스케줄러 꺼짐인지 확인하고 보완. 오늘 업로드분 바로 올려라」.
- 🔴재부팅 문제 아니다. 오늘 04:14~04:16 KST 윈도우 업데이트 재부팅은 실제로 있었지만(부팅 04:15:51),
\Cody\danggeun-daily-tip은 07:00:01 에 정상 발화했다(LastTaskResult 0·NumberOfMissedRuns 0). 26.9.14 에 켠 StartWhenAvailable 도 살아 있다. - 🔴진짜 원인 ① =
_hidden.vbs의cmd >> 로그파일이 그 파일을 «쓰기 독점»으로 잡는다 → 파이썬log()가 같은 파일에 append 하다PermissionError로 첫 줄에서 즉사. 09:00card_prep도 같은 이유로 죽어 t007 카드가 안 구워졌다.watch.py·listen.py는log()가 원래try/except라 멀쩡했고, 거기서 복사해온 두 파일만 가드가 빠져 있었다. 6줄 스크립트로 100% 재현. 상세 =rules.md🆕 맨 위. - 🔴진짜 원인 ② = 0순위(카톡 워커)에 폰을 양보했다 돌아오면 «화면이 잠겨 있다» — 남의
awake()finally 가screen_off_timeout을 되돌리고sleep()을 때리는데_awake_depth는 프로세스마다라 못 막는다. 오늘 11:03 에 그대로 맞아 t006 1차 시도가 사진 5/8 에서 「사진 피커가 안 열린다」(덤프에 잠금화면 시계)로 죽었다 — 게시는 안 됐다(등록 전 중단). - 고친 것 = ①
daily_post.py·card_prep.pylog()에try/except②둘 다__main__을 감싸 죽으면 텔레그램(예약작업은 창이 없어 traceback 이 로그에만 남는다 = 이번에 페페가 앱을 보고서야 알았다) ③C:\dev\poin-agent\phone.py_sh()—gate.checkpoint()가 True 면(실제 양보) 화면유지 재설정 +unlock()(_awake_ms·_resuming필드 신설). 폰 모는 코드가 전부_sh를 지나므로 watch·listen·카톡 도구에도 같이 듣는다. - 검증 = 실제 vbs 경로(리다이렉트 그대로)
--now --dryexit 0·로그 기록 ·daily_post --demo·card_prep --demoOK ·phone.py selftest OK(양보복귀 assert 3개 신설) · 죽음알림 실검증(tips.json잠깐 치워FileNotFoundError→[죽음]로그 + 텔레그램) · t006 재시도 11:14:59 rc=0 ·state=posted·posted_at 2026-09-15 11:14 KST· 재빌드 OK. -
⏳다음 = ①내일 07:0x 실발화 확인(이번 처방이 자동 경로에서 먹는지 — 26.9.14 처방은 그날 세션 문제였고 오늘 게 로그독점이라 둘 다 이번이 첫 실전) ②페페 육안 = 앱에서 t006 카드 8장 ③t007 카드 준비(이 세션에서 굽는 중).
-
🆕✅2026-09-14(월) 09:52 KST — t005 게시 완료(07시 자동 미발송 → 원인 2건 고치고 손으로 올림) · [코디]
- 페페 지적 = 「오늘 스터디 팁 게시물 7시 즈음 업로드 안 됐다」.
- 원인 ①
/it예약작업은 그 시각 로그온 세션이 없으면 건너뛴다(PC 는 켜져 있었다 · 셋이 09:33 에 일제히 발화) ②phone._dump가 adb 타임아웃을 예외로 던져 재시도가 무의미했다(사진 피커 30초 초과). 둘 다rules.md🆕 맨 위에. - 고친 것 = StartWhenAvailable 켬 +
daily_post.LATE(10시 넘으면 안 올리고 알림) +_dump타임아웃 재시도·60초 + TaskScheduler 운영로그 활성화. - ⏳다음 세션이 이어받을 것 = ①내일 07:0x 실발화 확인(오늘 처방이 먹는지 — 안 되면
daily-tip을 SYSTEM 으로 전환, post_dg 는 claude·CDP 가 필요 없어 가능) ②페페 육안 = 앱에서 t005 카드 9장 ③새 멤버 5명 가입인사 안내 발송 여부(페페 판단). -
재고 = t006(카드 8장 준비됨) → 내일 07:0x · card_prep 은 09:00 에 t007 준비.
-
🆕✅2026-09-14(월) 02:2x — 앱 실물과 맞춘 최신화(페페 지시 「앱에서 최신 내용 확인 · 페이지 최신화 · 업로드 완료분 표시 갱신」) · [코디]
- 🔴t008 이 원장 밖에서 이미 나가 있었다 — 앱 실측 9/13 19:1x(조회 6·좋아요 1).
tips.json은 draft 였다 →state=posted·posted_at·게시일(9/13) 반영 + 남은 초안 하루씩 재배치. t005 는 미게시 확정(목록에 없다). - 🔴순서가 틀어져 「어제·내일」이 거짓말이 됐다 → t005 의 어제(저장점)·내일(다른 눈) · t006 의 「어제는 저장점」을 실제 순서로 보정(D014 선례). 오늘 07:0x 에 나갈 글이 t005 라 게시 전에 고쳤다.
- 🔴수집이 이틀 멈춰 있었다(9/13 두 주기 「첫 글을 못 열었다」) — 원인은 탭이 아니라 상세 판정(
"조회" in _root)이었다._is_detail()로 교체하고 순회 루프의 같은 판정도 고침 → 재실행에서 정상 수집. 상세 =rules.md🆕 맨 위. - 🔴멤버가 앱 13명 vs 원장 6명 — 글을 안 쓴 사람은
watch가 못 잡는다. 5명(네모 9/13 · 으갸갸 9/12 · 차차 9/11 · 호호우 9/11 · 자몽에이드 9/10) 추가 → 원장 11명, 페이지 15장(관리1 + 멤버11 + 세팅1 + 팁1 + 차수1) 재빌드 ALL PASS(327항목). - 신규 가입인사 0건(최신이 4일 전) · 전체방 채팅 새로 0건 → 새 멤버 5명은 전부 「가입인사 대기」.
-
⏳페페 판단 = 새 멤버 5명에게 가입인사 안내를 칼리가 1:1 로 보낼지(기존 코우호·평일 건과 같은 건).
-
🆕✅2026-09-14(월) 01:4x — 팁 30편 초안 + 카드 세트 매일 자동 준비 · 전부 들어갔다 · [코디]
- 페페 지시 = 「컨텐츠 초안 30개 먼저 만들어라. 앞으로 매일 1세트씩 카드게시물 미리 준비해라」.
- ✅본문 30편(t012~t041) =
tips.json42편(9.20~10.19). 시즌 4개 = A 두 번째 고르기 7 · B 진짜 자료 다루기 8 · C 자동으로 돌아가게 만들기 8 · D 남에게 보여도 되는 상태로 7(study-expert 설계 · 코덱스 상의 축과 합치). 멤버 실제 과제(상세페이지·자동매매·회의록·이미지 정리)를 편마다 그라운딩. 무거운 편 뒤엔 가벼운 편, 시즌마다 체크리스트 회고. 초안 = 6갈래 병렬 작성 →drafts/<id>.json→merge_drafts.py로 합침. - ✅카드 스펙 외부화 + 린트 +
card_prep.py(매일 09:00) — 상세·함정은 전부rules.md🆕 맨 위 4줄. - ✅캘린더 다월 전환(web-designer 실측 처방) — 42편 빌드 ALL PASS(캘린더 2개 · 버튼 42 · 9월 30칸 · 10월 31칸).
- ⏳페페 검수 2건 = ①팁 페이지에서 30편 훑기(
http://127.0.0.1:8799/danggeun-tips.html— 글 목록이 카드→한 줄로 바뀌었다, 제목만 보고 감이 오는지) ②t006 카드 세트 컨택트 시트(텔레그램 사진). -
📌t024(자료 정리 사례 편)는 익명으로 썼다 — 특정 멤버를 식별 가능하게 쓸지는 페페 판단(동의 없이 닉네임을 공개 게시판에 못 올린다).
-
🆕✅2026-09-12(토) 23:42 KST — 1차 모임 후기 게시 완료(
r001· 칼리 · 자유 게시판 · 카드 10장) · [코디] - 페페 2차 지시 = 「같이 올라갈 글은 칼리 페르소나로, 웹디자인·IT보안·가구 분야가 모여 같이 좋은 공부했다 정도만. 카드는 계획대로 생성(나노바나나 그림 + PIL 글자). 바로 업로드」.
- 카드 =
C:\dev\devplan\danggeun\img\r001\card-01~10.png(표지 · 하루 흐름 · 팁 7 · 마무리). 초안 11장 → 10장(당근 첨부 상한 실측 10장, 뺀 것 = QA Helper 카드). 재생성 0장 · 컨택트 시트_sheet.png육안 통과. - 원장 =
tips.jsonr001(state=posted · posted_at 23:42) · 페이지 =danggeun-tips.html재빌드(자체검사 FAIL 0). - 🔴게시 1차 실패 → 원인·처방은
rules.md🆕 맨 위(게시판 신설로 선택 시트 좌표가 밀려 AI뉴스로 바뀜 → 「이미 자유 게시판이면 시트를 안 연다」 가드 추가,post_dg.py). 📮[페페] AI뉴스 게시판 삭제(26.9.12 채팅) — 게시 직후 덤프에서 사라진 것 확인. - ⏳[페페] 앱 육안 1회 = 카드 순서(표지가 1번) · 그림 · 본문. ⏳판단 = 「일정 후기」 게시판이 새로 생겼다 — 다음 후기를 거기로 옮길지.
-
초안 원문(뺀 것·판단거리 포함) =
C:\dev\devplan\danggeun\round1-review-draft.md· 재료 = 모임 녹음 정리본C:\dev\talklog\data\lectures\lecture-20260912-092654.md(7시간 46분). -
~~🆕⏳2026-09-12(토) 밤 — 1차 모임 후기 카드세트 텍스트 초안(검토 대기)~~ → 위에서 게시됨 · [코디]
- 페페 지시 = 「멤버·내 개인정보 빼고(회사는 분야만) 스터디 팁·진행내용만 카드세트로. 용어는 써도 만드는 방법은 넣지 말고 기능만. 텍스트 초안 먼저」.
- 초안 =
C:\dev\devplan\danggeun\round1-review-draft.md— 본문 글 1 + 카드 11장(표지 · 하루 흐름 · 팁 8 · 마무리) + 뺀 것 목록 + 페페 판단 3. - 재료 = 모임 녹음 정리본
C:\dev\talklog\data\lectures\lecture-20260912-092654.md(7시간 46분). - ⛔초안에서 뺀 것 = 실명·닉네임·회사/브랜드명·주소·지출액 · 모임장 사업 내부 · 대외비 파이프라인 2종(26.9.9 지시).
-
⏳다음 = 페페 검토 → 확정 문구로
make_cards_nb.pyPOSTS에 세트 추가해 카드 굽기. -
🆕✅2026-09-12(토) 15:2x KST — 해달이 전달용 패키지(노트북 설치본) 완성 · [코디] → 상세
projects/artjoy/handoff.md로 이관(26.9.15) -
🆕✅2026-09-12(토) 09:2x KST — 1차 스터디 개시 · 전체 페이지 공개링크(17:00 자동 닫힘) · [코디]
- [페페] 지시 = 「당근스터디 전체 페이지 공개링크 줘. 스터디 시작했다. 링크는 오늘 17시에 다시 닫아라.」
- 링크 =
https://poin-mini.tailc5d3c1.ts.net/dg/WRNczcb1ib8zOYi2.html(입구 = 관리페이지 · 좌측 네비로 멤버 6 · 세팅 · 팁 · 차수별 전부 · 해달이 목업까지 이어짐). - 구조 =
danggeun\site.json(token+expires 2026-09-12T17:00:00) →publish_dg.bake_site()가 8799 정적 10장을 pub 평면 파일로 굽는다. 닫기 = 예약작업\Cody\danggeun-pub-close(SYSTEM · 17:00 1회 ·pub_close_hidden.vbs)가publish_dg.py를 다시 돌리면 전체공개본을 안 구워 링크가 죽는다. - 검증 = 전체·하위 4장 200 · 내부참조 252개 전부 존재(누락 0) · 자체검사 절대경로 0 · 닫힘 실전 예행(expires 를 과거로 → 전체 404 / 멤버 개인·목업 200 유지 → 복원) · 예약작업 실제 실행(SYSTEM·창 0)으로 재공개 200 · 카드 PNG 3.5MB → JPEG 307KB.
-
⚠열어둔 8시간 동안 관리페이지의 「지시문 원문 타임라인」·운영현황과 멤버 6장이 링크 가진 사람 전원에게 보인다(원래는 멤버별 토큰으로 자기 것만 봤다). 빼야 하면 말해라 — 절 단위로 잘라 굽는다.
-
🆕✅2026-09-11~12 KST — 해달이 「네이버 상세페이지 생성기」 목업 완성 · [코디] →
http://100.108.234.45:8799/danggeun-haedali-detail.html· 세션 =session-2026-09-12-haedali-detail-mockup.md→ 상세 전량projects/artjoy/로 이관(26.9.15 · 조수은이 아트조이 AX 전담이 되어 업무 자산이 됐다) - 스터디에 남는 것 = 지시문 원장
C:\dev\devplan\danggeun\directives.jsonD027 · D028 · 해달이 내부 페이지 상단 🧪 카드(members.jsonmockups) · 공개링크 발행 이력. -
산출물 · 실물 구조 · 그릴링 3묶음 · 검증 41/41 · 피드백 반영 =
projects/artjoy/handoff.md+ 세션projects/artjoy/session-2026-09-12-haedali-detail-mockup.md. -
🆕✅2026-09-11 KST — AI 기본 세팅 「작업 이력」 추가(D026 · AI 를 중간에 바꿔 써도 이어지게) · [코디]
- [페페] 「사용자가 기본 세팅 안에서 AI를 중간에 바꿔쓸 수도 있다. 매 작업마다 시드에 작업한 AI의 이름을 남겨서 이력관리를 하는 내용도 포함해줘.」(원문 =
C:\dev\devplan\danggeun\directives.jsonD026). - 반영(
C:\dev\devplan\danggeun\setup.json) = 규칙서 뼈대 2줄(작업 끝마다 그 handoff 맨 아래 「## 작업 이력」에날짜 [AI 이름] 한 일 → 결과· 프로젝트 없는 일은 HANDOFF.md / 새 대화는 마지막 이력부터 짚고 다른 AI 기록도 이어받기) · [할 일] 2 빈 틀에 「## 작업 이력」 칸 · 9번 첫 이력 줄(기본 세팅) · 확인 ① = 마지막 이력까지 짚으면 통과(다른 AI 로 열어도 됨) · STEP 4 왜 · 멤버 ⓒ · AI · 산출물 · 확인. 이름 = 기존 태그 [클로드] [코덱스] [제미나이] [나]. 관리 계획 rev 12. -
검증 = 빌더 [ALL PASS] · Playwright 3폭 ALL PASS(지시문 4316자 원문 일치) · check_font/theme FAIL 0 · 드라이런
C:\Users\delix\AppData\Local\Temp\claude\c--dev\81459087-1679-4c11-9896-845b3a25b459\scratchpad\dryrun_history.py= ①✅ 헤드리스 클로드(sonnet)가 세팅하며 HANDOFF 「## 작업 이력」 첫 줄26.9.11(금) [클로드] AI 기본 세팅(드라이런) → …기록(192초) ②✅ 새 클로드 대화 「이어서 하자」 → 「마지막 작업 (26.9.11, 클로드): AI 기본 세팅」부터 짚음(23초) ③⏳ 코덱스 이어받기 미검증 — 1차는 페페 전역C:\Users\delix\.codex\AGENTS.md(「이어서」 → brief_today)가 가로채 devplan 브리핑으로 답함 · 2차(「이 폴더 AGENTS.md 가 규칙서」 명시)는 멤버 규칙서 읽는 순서를 따랐지만 Session 0 에서 셸이 시간 초과돼 파일을 못 읽음(지어내지 않고 멈춤). 코덱스 확인은 화면 세션 · 멤버 PC 에서. 시험 폴더 =C:\Users\delix\AppData\Local\Temp\dg-dryrun-hist-1mhbhuu2. -
🆕✅2026-09-11 KST — AI 기본 세팅 「대화 크기 재는 법」 AI별 상세화 = VS Code 확장 기준(D022 · D024) → D025 복사 지시문에서 제외(당장은 사용자 직접 확인) · [코디]
- [페페] 「ai별 차이가 있겠지만 컨텐스트 용량 측정에 대한 방법이 지시문에 자세히 안나와 있는거 같다.」 → 도중 추가 「컨텍스트 측정은 모두 vs code 확장 기준 ai 설치했을때로 알아봐줘.」(원문 =
C:\dev\devplan\danggeun\directives.jsonD022 · D024). - 확인(공식 문서엔 코덱스 · 제미나이 확장 표시 얘기가 없어 확장 파일을 직접 열었다) = 클로드 확장 2.1.263 입력창 파이 = 쓴 양 50% 초과일 때만 나타남(클릭 = 즉시 압축 → 누르지 말 것) · 코덱스 확장 26.5908 입력창 아래 도넛 늘 표시, 툴팁
NN% used (NN% left)→ 50% 이상NN% full(한국어NN% 참) · 제미나이 Code Assist 2.100.0 = 표시 없음 → 제미나이 CLI 를 VS Code 터미널에서(hideContextPercentage:false→NN% used) + 50% 자동 압축 막기compressionThreshold 0.7. 세 AI 모두 AI 는 자기 대화 크기를 못 본다(클로드 공식 문서). - 반영 =
C:\dev\devplan\danggeun\setup.json차이표 「대화 크기」 2행(어디서 보나 · 50% 판정) · 머리말 · 복사 지시문 [할 일] 9 신설(확인 → 10) · [AI별 차이] 3줄 · 규칙서 뼈대(사람이 알려준 숫자로 판단 · 긴 작업 전 먼저 묻기) · STEP 4 · 매핑 행. 관리 계획 rev 10. 함정 =rules.md🆕 맨 위. - 검증 = 빌더 [ALL PASS] · Playwright 3폭 ALL PASS(클립보드 4644자 원문 일치 · 13px+ · 가로넘침 0 · TS 폴백) · check_font/theme FAIL 0.
- 🆕[페페] D025 「컨텍스트 50% 측정 내용은 IVUB 지시문에서는 빼라. 처리방법이 중구난방이다. 당장은 사용자 직접 확인으로 진행하겠다.」 → 복사 지시문에서 대화 크기 3곳 삭제([할 일] 9 · [AI별 차이] 세 줄 · 규칙서 뼈대 줄) + STEP 4 🤖 AI 칸 문장 삭제. 남김 = STEP 4 🙋 멤버 칸 ⓔ · 차이표 「대화 크기」 2줄(참고용) · 매핑 행. 「IVUB」 = 복사 지시문으로 읽음(그 이름의 파일 · 문구 없음). 관리 계획 rev 11. 검증 = 빌더 [ALL PASS] · Playwright 3폭 ALL PASS(지시문 3897자 원문 일치) · check_font/theme FAIL 0.
- ⏸D024 판단 2건(제미나이 = CLI + VS Code 터미널 안내 ·
compressionThreshold 0.7) = 지시문에서 빠져 보류. 페이지 =http://100.108.234.45:8799/danggeun-setup.html#setup-ai3. -
스크래치 VSIX 1.7GB =
C:\Users\delix\AppData\Local\Temp\claude\c--dev\81459087-1679-4c11-9896-845b3a25b459\scratchpad\vsix\(세션 임시 — 지워도 된다). -
🆕✅2026-09-11 12:0x KST — 스터디 팁 t005 카드 = 나노바나나 그림 + PIL 글자 판(D016) · 3장 시험 통과 → 9장 완성 · 페페 품질 승인 → 카드 기본 지침(D019) · 게시는 지시 대기 · [코디]
- [페페] 「확인 완료. 품질 승인. 당근스터디 카드는 나노바나나+PIL 로 작성을 기본 지침으로 해라.」(원문 =
C:\dev\devplan\danggeun\directives.jsonD019) → 규칙 =rules.md🆕 맨 위 · 위 불변 핵심 표 「카드」 행 · 구판C:\dev\devplan\danggeun\img\make_cards.py머리에 구판 표기. - [페페] 「내일 업로드분 나노바나나로 생성해봐. 다만 텍스트는 pil로 코디가 넣는 방식으로 해봐라. 순서상 총 3개 카드만 생성해서 일관성 먼저 확인해라. pil 표기까지 해서 최종본 3장도 확인. 그 다음 제작가능하면 나머지 카드 제작 진행」(원문 =
C:\dev\devplan\danggeun\directives.jsonD016). - 생성기 신설 =
C:\dev\devplan\danggeun\img\make_cards_nb.py(그림 = 나노바나나 · 글자 0 / 칩·제목·증상 칸·인용 블록·도식·마무리 줄 = PIL · 폰트 JuaC:\dev\devplan\danggeun\img\fonts\Jua-Regular.ttf+ Noto Sans KR). 산출 =C:\dev\devplan\danggeun\img\t005\card-NN.png· 그림 원본t005\nb_raw\raw-NN.png. - 3장 시험(표지 · 한 조각씩 흐름 · 쪼개는 이유) = 칼리 무늬·화풍 3장 일관 · 위 글자 칸 비움 · 그림 속 글자 0 · 워터마크 제거 · PIL 글자라 오탈자 원천 0 → 판정 = 진행. 결함 2 = card-03 장면이 위로 올라와 인용 블록이 칼리 머리를 덮음 · Jua 「“」 가 점처럼 → 수정 위임. 한계 = 나노바나나 원본 572×1024(1.8배 확대). 함정 4개 =
rules.md🆕 맨 위. - ✅완료 = ①PIL 장면 자동 재배치 + 따옴표 수정 ②4~9장 굽기 ③장별 검수 — 4 · 6장 칼리 무늬 좌우 반전(서브에이전트 검수는 통과시킴) →
POSTS에flip=True거울 합성으로 수정, 재굽기 0 ④tips.jsont005 cards 9 + caption 4(state = draft) ·build_danggeun.py[ALL PASS] ⑤3x3 모음C:\dev\devplan\danggeun\img\t005\_sheet.png. -
남은 것 = ⛔게시는 페페 지시 후(
cd C:\dev\devplan\danggeun && python post_dg.py --post t005— 올리는 날 캡션 첫 줄 날짜 표현 확인). 결함 장 재작업 =cd C:\dev\devplan\danggeun\img && python make_cards_nb.py --post t005 --only N(그림째) ·--only N --text(글자만). 업그레이드 후보 = imagegen 캡처가 원본 해상도를 받게(지금 572×1024 → 1.8배 확대). -
🆕✅2026-09-11 14:3x KST — 해달이 가입인사 원문 복원(프로필 스크랩으로 덮여 있었다) · [코디]
- [페페] 「해달이 가입인사 원문이 개인정보 스크랩으로 잘못 들어갔다. 복원해줘」.
- 원인 = 9.9 20:26·22:12 KST 수집기가 작성자 프로필 화면(매너온도
51°C· 「일직동 인증 25회」 · 「30대 중반 여성」 · 후기)을 162자 새 글로 긁어apply_posts가 원문·제목을 덮었다(로그 「작성자 프로필이 안 열렸다」 직후). 다른 멤버 3명(바이브코딩·한량·망고)은 멀쩡. - 복원 =
C:\dev\devplan\danggeun\incoming\20260909-8e033b5778.json(20:35 수집 265자 · 이모지 풀린 판) →members.json해달이title·text2줄만 교체(board·posted유지). 백업 =C:\dev\devplan\danggeun\members.json.bak-20260911-haedali. - 검증 = 원장 text·title 이 incoming 원본과 완전 일치 · 빌더 ALL PASS · 재발행 4장 · 8799 멤버페이지·검토본·공개링크 3곳 모두 프로필 문구 0 / 원문 1 · 라이브 공개링크(인터넷 경유)도 원문 확인.
- ⏳재발 방지 가드(프로필 화면 표지 문구가 있으면 수집 버림)는 페페 결정 대기 — 후기 수·방문 수가 바뀌면 지문이 달라져 또 덮을 수 있다.
- 🆕✅2026-09-11 KST — 「해달이가 그릴링 답 작성했다는데 안 보인다」 → 공개링크 서버 저장 전환 + 답 갱신 텔레그램 (D017 완료) · [코디]
- [페페] 「개인 페이지를 html 파일로 보냈어? 서버 링크로 보냈어? 해달이가 질문답변 작성했다는데 나는 보이는 게 없다」.
- 발송 = 서버 링크(
https://poin-mini.tailc5d3c1.ts.net/dg/<token>.html, 해달이 =9jeEEsdqZWJjgxmM, 실측 200). 그런데 그 파일이 단독 검토본(window.DG_LOCAL = true)이라 답은 해달이 브라우저 localStorage(danggeun-grill-v1)에만 저장 → 서버 원장C:\dev\devplan\danggeun\answers.json={}(0건). 26.9.9 [페페] 「코디 연결 필요없다」 설계 그대로 동작한 것 = 미결 ②「그릴링 답을 코디가 받아야 하는지」가 현실로 터짐. - 회수 경로 = 같은 origin 이라 공개본을 서버저장으로 바꾸면 해달이가 같은 브라우저로 링크를 다시 열 때 local 답을 서버로 올릴 수 있다(⚠당근 인앱 브라우저로 열었으면 localStorage 가 남아 있을지 불확실). 서버저장 = Funnel 에 쓰기 API 노출(토큰 = 멤버 식별, 자기 slug 만 쓰기) → §2-5 외부노출이라 페페 승인 필요.
- ✅[페페] 「추천대로 진행해」 + 「멤버 페이지 내용 갱신되면 나한테 텔레그램 알람 보내줘」 → D017 완료(26.9.11 정오 KST).
- 구조 = 공개 쓰기 창구
C:\dev\devplan\danggeun_api.pyPubHandler(127.0.0.1:8806 · 8799 app.py 데몬 스레드 = 상주 추가 0) ← Funnel/dg-api. 토큰→멤버(tokens.json매 요청 읽기) · 자기 답만 GET/POST · qid 화이트리스트 · Origin/JSON/16KB/timeout · 나머지 전부 404. 로그 =C:\dev\devplan\danggeun\pub_api.log(토큰 마스킹 · XFF). - 공개링크 4장 재굽기(주소 그대로) =
publish_dg.py가 복사 대신standalone_doc(api=…)로 직접 굽는다(window.DG_PUB). 텔레그램 검토본은 로컬 전용 그대로. 1:1 안내문(send_links.py)도 「즉시 저장되어 모임장님께 전달」로. - 옛 로컬 답 = 입력창에 보여만 주고(「이 기기에만 저장됨 · 아직 안 보냄」) 상단 배너 「이 브라우저에 남은 답 N개 모임장에게 보내기」를 눌러야 올라간다(「브라우저에만」 안내를 했으니 동의). 서버에 이미 있는 qid 는 서버 우선 · 보낸 뒤 이 기기 사본 삭제.
- 텔레그램 = 멤버 저장 후 5분 조용하면 멤버별 1통(「당근 멤버 답 갱신 — 닉 (n/12 답변)」 + 바뀐 질문·답 앞 100자 + 보기 링크
http://100.108.234.45:8799/danggeun-member-<slug>.html). 새 글 반영 알림은 원래watch.py가 보낸다. - 검증 =
danggeun_api.pydemo 24/24 · 빌더 selftest ALL PASS · 라이브 funnel 9/9(접두어 떼임·Origin 통과 실측, 순회 404) · e2e 45/45(C:\dev\devplan\_verify_danggeun_pub.py— 실제 funnel 페이지 + 격리 창구, 운영 원장·텔레그램 무영향) ·restart.py가 8806 같은 PID 확인 · qid 집합 해시 재굽기 전후 동일(고아 답 0). - ⏳남은 것 = 해달이 재안내(외부 발신 → 페페 결정: 칼리 1:1 vs 페페 직접). 링크에
?v=2붙인다 — tailscale 파일서버가 Cache-Control 을 안 줘서 인앱 브라우저가 옛 페이지를 쥘 수 있다. ⚠iOS 는 7일 미방문 시 localStorage 삭제(ITP) → 빨리. -
🔎13:55 KST [페페] 「해달이 메모 올린 로그·접속 이력?」 → 업로드 0(
pub_api.log11:53 코디 시험 뒤 0줄 ·answers.json0건 · 알림 0). 접속(페이지 열기)은 확인 불가 — 창구는 저장·거부만 적고 열기(GET 200)는 안 적는다 ·/dg/파일은 tailscale 이 서빙하는데 요청 기록이 없다(오늘 서비스 로그 83MB 에 해달이 토큰 0건, 코디가 직접 연 11:5x 기록도 0건 = 원래 안 남김). 채팅 원장 해달이 마지막 = 11:27(작업 전). 💡제안 대기 = 창구에 열기 1줄 기록 추가(「열었는데 안 눌렀다」 구분). -
🆕✅2026-09-11 KST — AI 기본 세팅 3 AI 공용 개편 완료(D015 계획 → D018 「바로 갱신」 = 추천안 확정) — ⏳페페 검토 · [코디]
- 페이지 =
http://100.108.234.45:8799/danggeun-setup.html— STEP 0~6(5 승인 · 6 그릴링) · 3 AI 차이표(넓은 화면 표 / 모바일 카드) · 복사 지시문(복사 버튼 · 48줄) · 매핑 9행 · 초반 사고 4개. 관리페이지 = D015 · D018 · 계획 rev 7. 세션 =session-2026-09-11-setup-3ai.md. - 검증 = 빌더 [ALL PASS] · check_font/theme FAIL 0 · Playwright 3폭 ALL PASS + 비보안 주소 폴백 ·
codex execpolicy check실측 · 클로드 드라이런 8/10(나머지 2 = 헤드리스 한계 · 설정파일은 사람 허락 필요 → 페이지 반영). 코덱스 드라이런 = 판단은 지시대로 · 파일 쓰기는 Session 0 샌드박스 오류로 미검증(전역 rules 무손상 ·config.toml에 임시폴더 신뢰 등록 1건 자동 추가 — 무해). 제미나이 = 문서값만. - 🆕[페페] D020(같은 날) = devplan 프로젝트 관리판(STEP 7 · 새 프로젝트는 매번 묻기) + HANDOFF/handoff 30,000자 상한(닿으면 AI 가 이력 정리를 먼저 안내) 반영 · 지시문 확인 ④ · 매핑 1행 · 사고 5번째 · 계획 rev 8. 검증 = 빌더 · font/theme · Playwright 3폭 ALL PASS. ⏳추가 추천 5건 채택 대기(완료=돌려본 결과 · 항목별 보고 · 대화 넘기기 수치화 · 교차검토 · 지시 원문 기록).
- 🆕[페페] D021(같은 날) = 멤버 세팅에 Playwright · ponytail 설치(STEP 8) · CDP 와 세션별 게이트(STEP 9) · 대화 50% 에서 새 대화 + AI별 재는 법 · 추천 1 · 2(「완료」 = 돌려 본 결과 · 항목별 ✅/⏳). ⚠페페 PC 설치가 아니라 멤버 항목(페페 확인). 추천 ④교차검토 ⑤지시 원문 기록 = 보류. 검증 = 빌더 ALL PASS(STEP 10 · 차이표 8행) · font/theme 0 · Playwright 3폭 ALL PASS(지시문 4086자). 관리 계획 rev 9. 인계문 =
relay-2026-09-11-setup.md(원격 세션이라 relay.py 미실행). - (아래는 계획 단계 기록 — Q1~Q3 는 D018 로 추천안 확정)
- [페페] 「ai 기본세팅 지시문 다시 정리 — 클로드 · 지피티코덱스 · 제미나이. seedchain 는 세팅 지시문에서 seedchain · tools · rules · now,handoff · broker(승인만, 텔레그램 제외) · grilling. 빠진 필수 추천 + 계획서 먼저」(원문 =
C:\dev\devplan\danggeun\directives.jsonD015). - 계획서 =
C:\dev\seedchain\projects\danggeun-ai-study\setup-directive-plan.md(Fable 계획 + 코덱스 상의 + context7 공식문서). 결론 = 공용 1장 · 규칙 본문AGENTS.md+CLAUDE.md/GEMINI.md는@AGENTS.md한 줄 · STEP 5 승인 · STEP 6 그릴링 · 새 섹션 2개(3 AI 차이표 · 복사 지시문). - 빠진 필수 추천 = 진입파일 단일 출처 · 기록 주체 · 보고 규약 · 비밀값 한 곳 · git 저장점(Q2) / 흡수 = 대화 넘기기 / 제외 = 교차검토 · playbook.
- 🔑공식문서 함정 3개 = 코덱스는
.git있는 폴더부터 상위 AGENTS.md 를 읽는다(없으면 지금 폴더만) · 제미나이context.fileName은 기본 GEMINI.md 탐색을 대체 · 윈도우 클로드는 깃 배시가 없으면 PowerShell 로 바뀌어Bash(...)권한 규칙이 안 걸린다. -
⏳페페 = Q1~Q3 회신 → 코디 = web-designer 상담 → setup.json · 빌더 → 검증(드라이런 포함) → 재빌드. ⏰첫 모임 9.12(토) 09:00 전.
-
🆕✅2026-09-11 10:24 KST — 스터디 팁 캘린더 = 실제 게시일 기준(D014) · 한 칸 여러 편 표시 · [코디]
- [페페] 「devplan 계획 일자랑 현재 업로드 일자랑 안 맞으니까 업로드 기준으로 캘린더 일정을 수정좀 해줘」(원문 =
C:\dev\devplan\danggeun\directives.jsonD014). - 날짜 = 2편 t004 9.11 → 9.10(1편과 같은 날) · 3편 t003 9.12 → 9.11 · 남은 초안 8편 하루씩 당김 = 9.12 t005 · 9.13 t008 · 9.14 t006 · 9.15 t007 · 9.16 t002 · 9.17 t009 · 9.18 t010 · 9.19 t011(9.20 비움). 도구 = 스크래치
shift_tips.py(옛 날짜 assert 후 교체). - 날짜에 박힌 말 = 3편 페이지 초안 「오늘은 첫 모임 날」 → 「내일은 드디어 첫 모임 날」(올린 글과 같게) · 요약 「첫 모임 날」 → 「첫 모임 전날」. 순서가 그대로라 「어제 · 그제 · 내일은」 참조는 전부 맞다(키워드 스캔 확인) · 「오늘부터 아흐레」(9.11~9.19) · 저장점 편 「첫 모임에서 벌써」(9.13 = 모임 다음 날)도 그대로 맞다.
- 빌더 =
C:\dev\devplan\build_danggeun.pycal_html()날짜별 목록(옛{date: post}는 같은 날 글을 덮었다 — 모달·「전문 열기」 버튼이 남아 자체검사도 통과했을 구조) · 2편+ 칸 = 버튼 세로 쌓기 · 상태(점선)는 버튼마다 · 모바일은 점만 · 안내 한 줄 「날짜는 실제로 올린 날이라 한 칸에 두 편이 있는 날도 있어요」 · 자체검사 +1 「캘린더 버튼 수 = 글 수」. web-designer 선상담 처방 그대로(「하루 3편+ 는 +N편 요약」 제안은 보류 — 실제로 생기면). - 검증 = 빌더 [ALL PASS] ·
check_font/check_themeFAIL 0 · Playwright 1600/1280/390 = 9.10 칸 버튼 2개(113×27 · 모바일 31×24) · 각 버튼 → t001/t004 모달 · 캘린더 버튼 11 = 글 11 · 가로스크롤 0 · 최소 13px · 콘솔/404 0 · 캘린더 버튼 가림 0 · 스크린샷 육안(스크래치cal-1600.png·cal-390.png). -
⚠덤(손 안 댐) = 390px 에서 공용 qa-helper 토글(우상단 고정 42px)이 모달 닫기 X 를 덮는다 — 모든 모달 공통 기존 결함(바깥 탭으로는 닫힌다). devplan 전 페이지 위젯이라 고칠지는 페페 판단.
-
🆕✅2026-09-11 09:48 KST — 스터디 팁 3편 「첫 자동화, 뭘 고를까」(t003 · 9.12 칸) 카드 9장 + 자유 게시판 게시(칼리) · [코디]
- [페페] 「당근스터디 스터디팁 오늘 12일자 초안대로 카드세트 만들고 바로 업로드 진행해」(원문 =
C:\dev\devplan\danggeun\directives.jsonD013). - 카드 =
C:\dev\devplan\danggeun\img\t003\card-01~09.png(생성기make_cards.py --post t003· STYLE4 + 표지 참조 = 칼리 정면 마스터시트 → 2장부터 표지). 순서 = 표지 · 7단계 흐름(지금 여기) · 먼저 적기 · 네 관문 도식 · 관문 1과 2 · 관문 3 · 관문 4 · 하나 고르기 · 마무리(t001 틀). High 9장 28분 · 재시도 0 · 재생성 0. - 검수 = 눈 판독 9/9(제목 · 본문 줄 · 맨 아래 줄 · 로고 0 · 영문/한글 장식 0 · 칼리 무늬) + cody-vision 교차 → 경고 2건(card-07 「과지」 · card-06 「?」) 둘 다 오탐(원본 확대로 확인 · rules 🆕). ⚠card-04 의 「걸린 일은 쪼개서 다시」 메모가 관문마다 4번 반복됐다(프롬프트는 1개) — 글자가 정확하고 관문별 주석으로 읽혀 그대로 썼다.
- 🔑게시일 보정 = 캘린더 9.12 칸을 9.11 에 올려서 올린 글(caption)만 게시일 기준으로 — 「오늘은 첫 모임 날」 → 「내일은 드디어 첫 모임 날」 · 「내일은 …」 예고 → 「다음 글에서는」. 페이지 초안(lead · 본문)은 캘린더 기준이라 그대로. 카드엔 날짜에 묶인 말을 안 넣었다. 관문 3 인용의 「A면 B로」는 카드에서 「규칙으로 안 적히는 곳」으로(그림 속 라틴 글자는 AI · Q 만).
- 게시 =
post_dg.py --post t0031차에 성공(사진 9장 한 장씩 · 장마다 「1장 올리기」 확인 · 꼬리 검사 통과 · 모임 홈 복귀). 검증 =dg_manage.py check→ 상세 머리 「자유 게시판」 · 칼리 · 제목 · 본문 전문 · 꼬리 「전해드릴게요!」 · 템플릿 없음 · 「A!」 없음 · 빌더 ALL PASS · CDP 9334 꺼짐. -
⏳페페 = 앱에서 눈으로 1회(카드 순서 · 그림 — 게시본 사진 장수는 상세 덤프로 못 센다). 다음 = t005(9.13 칸 「작은 조각으로 쪼개기」) 카드 지시 대기.
-
🆕✅2026-09-10 20:2x KST — 차수별 스터디 1차 페이지에 「추천 대여공간」 블록 · [코디]
- [페페] 「스터디 1차 페이지에 추천 대여공간들 정보 올려놔줘」.
- 산출 =
http://127.0.0.1:8799/danggeun-rounds.html1차 블록 — 교통 결론 한 줄 + 역별 이동시간 근거표(접힘 · 평균·최대 최솟값 칸 강조) + 공간 카드 4장(1순위 파랑파랑 · 2순위 메타페이스 · 3순위 Get-together · 조건부 데스커 무료) + 「9/12 잔여는 로그인 필요」 경고. 카드 = 순위 배지 · 스페이스클라우드 새 탭 링크 · 평점 · 역·도보 · 요금 · 시설 배지 · 음식 · 환불·주의 · 주소. - 🔑데이터 = 신설
C:\dev\devplan\danggeun\venues.json(키 = 차수).rounds.jsonnotes 에 안 넣은 이유 2개 = ①rich()가<b>·<code>·<i>만 통과 → 예약 링크를 못 건다 ②rounds.py 가 rounds.json 을 읽고 → 헤드리스 정리(수 분) → 통째로 덮어써서 그 사이 고친 게 날아간다. 빌더 =load_venues()·venue_html()· 차수 루프(「아직 안 정해진 것」 뒤 · 메모 앞) · CSS 12줄 · 자체검사 1항목(카드 수 = venues.json). - 디자인 = web-designer 선상담(카드 그리드
auto-fit minmax(320px)· 교통표 접기 · 1순위만 초록 배지 · 조건부는 회색 배지 + 조건 줄 먼저). 처방과 다른 점 = 배치 1곳(처방 = 확정표 바로 뒤 → 요약이 없는 상태에서도 같은 자리에 나오게 메모 앞) · 스크린리더 「새 탭 열림」은 새.sr-only대신 부트스트랩.visually-hidden. - 검증 = 빌더 [ALL PASS] ·
check_font/check_themeFAIL 0 · Playwright 1600/1280/390 = 카드 4 · 행당 2/2/1칸 · 새 탭 링크 4 · 최소 13px · 강조칸 2개 배경--live-bg· 가로스크롤 0 · 콘솔/404 0(C:\dev\_bench\meetpoint\verify_rounds.py) · 스크린샷 육안(C:\dev\_bench\meetpoint\rounds-venues-1280.png·-390.png). - ⚠덤(손 안 댐) = 빌더가 Python 3.9 로는 컴파일 안 된다 — 팁 달력 줄(f-string 식 안 백슬래시, 기존 코드). 예약작업 3개가 전부 Python312 라 운행 영향 0(rounds.log 「재빌드 OK」).
-
고치는 법 =
venues.json수정 →cd C:\dev\devplan && PYTHONUTF8=1 python build_danggeun.py. 장소가 확정되면 그 차수 항목을 확정 1곳으로 줄이거나 지운다. -
🆕✅2026-09-10 20:1x KST — 스터디 팁 9.12~9.20 아홉 편 주제 재편 + 본문 초안(카드 없음) · [코디]
- [페페] 「당근 스터디 팁 12일부터 20일치 주제 다시 짜서 넣어줘. 초안만 넣고 카드는 생성 안한다. 1,2차 주제와 연관지어서 ai 개발 흐름에 맞게 짜줘」(원문 =
C:\dev\devplan\danggeun\directives.jsonD012). - 해석 = 「1,2차」 = 팁 1편(규칙서 문장 5개) · 2편(그릴링). 2차 스터디 일정은 원장(
rounds.json· 채팅)에 없다 → ⚠페페가 스터디 2차를 뜻했다면 재편 필요. 흐름 뼈대 = 멤버 페이지 공통 7단계(세팅 → 업무 해부 → 파일럿 1개 선정 → 손으로 1회 왕복 → 규칙 고정 → 자동화 → 확장 · 통합). - 편성(전부
draft· 45절 · 틀 = 증상 · 이유 · 규칙서 문장 · 덧붙임) = 9.12 t003 첫 과제 고르기(업무 해부 + 관문 4) · 9.13 t005 작은 조각으로 쪼개기(1호는 보여주기만) · 9.14 t008 저장점 + 미리보기 · 9.15 t006 계획에 두 번째 의견 · 9.16 t007 손으로 1회 왕복(샘플 3건 · 원본 · 개인정보 · 비밀값) · 9.17 t002 지시문 네 칸(규칙서 = 늘 / 지시문 = 이번 일) · 9.18 t009 「다 됐어요」 확인법 · 9.19 t010 막혔을 때(원인 · 하나씩 · 세 번 · 새 대화) · 9.20 t011 매뉴얼 · 스킬 · 사용법 + 파일 지도. 옛 예정 t002 · t003 은 id 유지, 날짜만 이동. - 순서 검토 = Fable(Plan) + 코덱스. 반영 = 저장점 9.17→9.14(첫 모임에서 이미 파일을 만진다) · 미리보기(대상 목록 · 소량 먼저) · 데이터 안전 · 한 조각씩 진행 · 되돌려 보기 연습 · 파일 지도 · 규칙서/지시문 경계. 갈린 1건 = 두 번째 의견 위치(코덱스 = 앞으로 / Fable = 9.19 로 미루거나 빼기) → 코디 판단 = 만들기 전(9.15, 모임장 실제 순서) + 「작은 일은 새 대화 창 한 번」 기준.
- 검증 = 검사 스크립트 ALL OK(날짜 · 요일 · 필드 · 금지어 0 · 느낌표 · 「내일은」 예고 ↔ 실제 다음 글 9쌍) · 빌더 [ALL PASS] ·
check_font/check_themeFAIL 0 · 8799 200 · 모달 11 · 점선(예정) 칸 0. -
⏳페페 = 모달 검수(
http://127.0.0.1:8799/danggeun-tips.html12~20일 칸) → 편별 카드 지시. 카드는make_cards.py --post <id>(STYLE4 + 시트 → 표지 참조 사슬) · 캡션은 카드 만들 때 lead 를 줄여 쓴다. -
🆕✅2026-09-10 20:02 KST — 1차(9/12 토) 모임장소: 대중교통 중간지점 + 스페이스클라우드 추천 · [코디]
- [페페] 「1차 모임 참석 멤버 기준 거주지에서 평균적으로 모이기 좋은 위치, 대중교통 기준. 그 위치에 스페이스클라우드로 대여할 공간 추천. 5명 중 칼리 빼고 4명, 칼리는 모바일 참석」.
- 참석 = 「Ai스터디 1차」 채팅방 인원 5(폰 실측) = 페페(하안동) · 망고치토스(가산동) · 해달이(일직동) · 바이브코딩(안양동) · 칼리. ⚠원장
messages.jsonl엔 바이브코딩 입장이 없다(noti 는 메시지만 잡는다). ⚠dg_join.py --dry는 「모임 진입 실패」 2회(모임 홈 판정추천순으로 보기불일치) → 네이티브 채팅방 경유(dg_room.goto_room)로 우회. - 교통 = 구글지도 대중교통, 토 9/12 09:00 도착 기준, 출발 = 동 중심. 분(페페/망고/해달/바이브 · 평균 · 최대) = 금천구청역 29/15/23/33 · 25.0 · 33 / 가산디지털단지역 32/9/22/35 · 24.5 · 35 / 독산역 27/12/26/36 · 25.2 · 36 / 석수역 42/18/16/30 · 26.5 · 42 / 철산역 22/11/33/46 · 28.0 · 46 / 광명사거리역 20/13/40/48 · 30.2 · 48. → 1호선 가산디지털단지–독산–금천구청 3역 동률 최적. 금천구청역 역세권은 쓸 공간이 없다(MD호텔 취식 불가 · 나의하루 버스권) → 독산·가산디지털단지.
- 추천 = ①파랑파랑(space/52300 · 독산역 2번 3분 · 주말 낮 패키지 09~17시 65,000원 4명 기준 · TV HDMI·와이파이·음식물 반입 · ★4.95/19 · 청소보증금 5만 별도 환급 · 환불 2일 전 50%·전날 불가) ②메타페이스(space/39911 · 가산디지털단지 4번 5분 · 주말종일 4·6인 60,000 / 7인 대형모니터 70,000 · 24시간 · 주차 4시간 · ★5.0/4 · 당일취소 50%) ③Get-together(space/63364 · 가산디지털단지 10분 · 인당 2,500×4명×7시간=70,000 · 배달 OK·키친·빔 사전신청). 11시 시작이면 데스커 무료 커뮤니티룸(space/74870 · 월~토 11~18시 · 다과만).
- 제외 = 비즈액티브(토 휴무) · MD호텔(취식 불가) · 뉴욕감성(평일만·식사 불가) · 로뎀라인/FLC/지앤제이/슈가맨/올니즈(7시간이면 10만원 초과).
- ⛔9/12 잔여는 코디가 못 봤다 — 스페이스클라우드 예약 달력은 로그인 필요(외부계정 인증 = 코디 안 함). ⏳페페 = 앱에서 9/12 잔여 확인 후 예약(파랑파랑은 카톡채널 「공간파랑파랑」 당일 문의도 받는다).
-
도구 =
C:\dev\_bench\meetpoint\{transit,search,spaces}.py· 교통 원자료C:\dev\_bench\meetpoint\out.json· 함정 2건 =rules\tooling.md🆕 맨 위. -
🆕✅2026-09-10 19:15 KST — 팁 카드 컨셉 기준 확정(t004) + 칼리 정면 마스터시트 · [코디]
- [페페] 「업로드 확인완료. 이번 카드세트를 앞으로 컨셉 기준으로. 고양이는 변하면 안 되니 마스터시트를 만들고 다음 카드부터 참조. 좌우 칼라 달라서 이미지 생성에 어렵다. 정면 시트만」.
- 시트 =
C:\dev\devplan\media\danggeun\kali-master-front.png(한 칸 · 정면 앉은 전신 · 소품·글자 0 · 참조 = t004 표지 칼리) · 굽기make_cards.py --post sheet· 검수 합격(보는 사람 기준 왼쪽 회색 줄무늬 · 오른쪽 주황 · 흰 주둥이·가슴·네 발 · 황록 눈 · 회색 줄무늬 꼬리). -
새 글 규약 =
STYLE4문단 그대로 + 표지 참조 = 시트, 2장부터 표지. 옆·뒷모습 시트는 만들지 않는다. 기준 전문 =rules.md🆕 맨 위. -
🆕✅2026-09-10 18:24 KST — 스터디 팁 2편 「그릴링」 자유 게시판 게시(칼리 · 카드 10장) · [코디]
- [페페] 피드백 5건 + 「바로 작성하고 업로드까지 완료. 자유게시판에 올리는 것 놓치지 마라」(D010). 반영 = ①질문은 묶을 수 있으면 묶어서(규칙 2) ②선택지 밖 내 사정 덧붙이기 신설(규칙 3) ③켜는 방식 항상·부를 때만·주제별(규칙 6) ④출처 = 매트 포콕
mattpocock/skills의 grill-me·grilling(웹 원문 대조) + 정식 설치·고쳐 쓰기 ⑤그림체 = 세밀한 수채·펜 + 귀여운 칼리(프로필 참조) 애니메이션 풍. - 카드 =
C:\dev\devplan\danggeun\img\t004\card-01~10.png(생성기make_cards.py --post t004) · 검수에서 재생성 4장(03 소제목 쪼개짐·한글 장식 / 05 OpenAI 로고 그림 → 마무리 줄 누락 → v3 / 09 마무리 줄 누락) · 한글 오탈자 0. - 게시 =
post_dg.py --post t0043차에 성공. 1차 = 사진이 본문 끝 8자 앞에 끼어 「…전」[사진]「해드릴게요!」 + 게시 가드가 키보드 「v」 키를 눌러 「VVV」 → 가드가 멈춰 미게시. 2차 = ADB 키보드 유지 가설 틀림(꼬리 검사가 게시 전 차단). 3차 = 끝 빈 줄 10개 → 꼬리 온전·게시 완료. 함정 전부rules.md🆕 맨 위. - 검증 = 게시 후
dg_manage.py check→ 상세 머리 「자유 게시판」 · 제목 · 본문 전문 · 꼬리 「전해드릴게요!」 · 템플릿 없음 · 빌더 ALL PASS(t004posted) · CDP 9334 끔 확인. -
⏳페페 = 앱에서 눈으로 1회(카드 순서·그림). 캘린더 칸은 9.11 그대로(9.10 은 1편) — 실제 게시는 9.10 18:24.
-
🆕✅2026-09-10 17:0x KST — 차수별 스터디 페이지 신설 + 채팅 5분 자동 정리 · [코디]
- [페페] 「당근 스터디 1차 스터디방 스크래핑 됐으면 devplan에 차수별 스터디 관리할수 있게 페이지 신규 추가하고 내용 정리 수시 갱신되게 해라」(D009).
- 페이지 =
C:\dev\devplan\danggeun-rounds.html(사이드 「5 차수별 스터디」) · 모듈C:\dev\devplan\danggeun\rounds.py· 원장rounds.json(notes = 사람 메모) · 예약작업\Cody\danggeun-rounds(delix · 대화형만 · 5분 ·rounds_hidden.vbs· 설치rounds_task_install.ps1) · 로그rounds.log. - 1차(9/12 토 09:00) 첫 정리 = 대화 15건 → 사실 5(일자 확정 · 시간/점심/비용 협의 · 장소 미정) · 결정 1 · 논의 2 · 할 일 2 · 미결 4. 대화와 대조 = 지어낸 것 없음.
- 검증 = demo · 빌더 selftest ALL PASS · check_font/theme FAIL 0 · Playwright 1400/375 넘침 0 · 13px 미만 0 · 콘솔 0 · 원문 19건 · 예약작업 계정 실정리 16:59:01 → 16:59:34 OK(작업 결과 0) · 허브 🕒 최근 작업 진행 맨 위.
- ✅수정(페페 「고쳐놔라」) = 멤버 글 자동분해(
watch.analyze)가["claude"]WinError 2 + SYSTEM 경로라 한 번도 못 돌던 것 →rounds.claude_json(model="opus")+ 사용자 계정 5분 작업(watch.py --analyze-pending,rounds_hidden.vbs2단째)이 이어받는다. 순회(run)는 대기열로만 두고, 락이 겹치면 종료코드 2(리스너 재시도). 실측 = 가짜 멤버 opus 91초 → 하위 5 · 그릴링 12 · 실경로 대기 0명. 상세 = rules 🆕. - ⏳다음 = 1차 뒤 결과 메모(notes) · 일정방 증분은 알림 경로뿐(놓치면
dg_room.py --full --room "Ai스터디 1차"). 세션문서 =session-2026-09-10-rounds-page.md. -
✅17:5x 완료 처리(페페 「모두 완료처리해. 인계 없음」) — 빌드 막힘(팁 t004 카드 미완성)은 17:48 해소, 재빌드로 D011 · rev 6 반영까지 확인해서 이 세션 작업은 끝. 감시기·인계문은 안 쓰기로 해서
C:\dev_attic\2026-09-10\로 옮겼다(cardwatch.py·relay-2026-09-10-danggeun-card-watch.md). -
✅2026-09-10 16:3x KST — 스터디 팁 2편 「그릴링」 초안(t004 · 9.11 칸) · 예정 2편 하루씩 밀기 · [코디] → 18:24 게시로 종결(위 항목)
- [페페] 「오늘 스터디 팁 올려라. 미리 만든 주제는 하루씩 밀고 오늘 주제는 그릴링으로 지정해서 작성해봐라. 초안 텍스트만 작성하고 이미지는 내용 확인 후 지시하겠다」(원문 =
C:\dev\devplan\danggeun\directives.jsonD008). - 9.10 칸 = 이미 게시한 첫 글(t001)이라 그릴링 편은 밀어서 비운 9.11(금) 칸. 「지시문 네 칸」(t002) 9.11→9.12(토), 「관문 네 개」(t003) 9.12→9.13(일).
- 틀 = 첫 글과 같다(증상·이유·규칙서 문장·덧붙임 × 5) → 빌더 수정 0. 5개 = ①언제 켜나(만들기 전·정할 게 있을 때만) ②하나씩 + 추천안(얽힌 건 2~3개 묶음) ③사실은 AI가 확인·결정은 내가 ④「합의」 전 실행 금지 + 정리본 ⑤규칙서에 「항상」으로(말로 한 「상시」 지시가 새 대화에서 안 돈 사고 = 26.7.14→8.16 실화).
- 출처 =
C:\Users\delix\.claude\skills\grilling\SKILL.md본문 +C:\dev\CLAUDE.md§3 첫 줄 +C:\dev\seedchain\projects\devplan\session-2026-08-16-tools-panel.md. 대외비 0(빌더 노출검사 통과 · 「코디」 단어도 0). - ⏳페페 = 모달 검수(
http://127.0.0.1:8799/danggeun-tips.html11일 칸) → 이미지 지시. 카드는 그 뒤C:\dev\devplan\danggeun\img\make_cards.py방식(표지 참조 물림). 캡션(같이 올릴 글)은 카드 만들 때 lead 를 줄여 쓴다(t001 방식). -
검증 =
build_danggeun.py[ALL PASS] · 캘린더 10/11/12/13 → t001/t004/t002/t003 연결 · t004 모달 소제목 5 · 8799 응답 200. -
🆕✅2026-09-10 16:2x KST — 인계 4건 처리(글 수선 · 채팅 스크랩 · 채팅 리스너 · dg_manage 진입부) · [코디]
- ① 글 머리 「Q. 작업해보고 싶은 내용…」 = 이미 없었다(수정 화면·상세 둘 다 실측) → 삭제·재게시 안 했다. 대신 진짜 결함을 찾았다 — 앞 세션 「꼬리 복구 ✅」는 틀렸고 저장본이 「…제가 모임장님께」 [사진 9장] 「 A!」 였다.
C:\dev\devplan\danggeun\fix_tail2.py재작성 → 꼬리 복구·「 A!」 제거. ⚠도중에 내 스크립트가 「5555555555」를 넣은 채 한 번 저장했다(키보드 위 굴림 — rules 🆕 「에디터 편집 함정」 ⓓ) → 바로 지웠고 최종 = 상세 끝 「…제가 모임장님께 전해드릴게요!」 · 사진 9장 · 질문템플릿 없음(dg_manage.py check실측). - ② 채팅 스크랩 =
dg_room.py --full→ 원장C:\dev\devplan\danggeun\chat\messages.jsonl45건(전체방 29 · 일정방 「Ai스터디 1차」 16 · 9/8~9/10 시간순·날짜 채움). 「1차 스터디 대화」 = 일정방(페페↔망고치토스: 장소 대관 · 주식 자동매매 난이도 · 기존 매매기법 보유 → 기간 단축 가능). - ③ 채팅 리스너 =
listen.kind_of(chat/dm/post/None) — 채팅 알림은 폰 안 쓰고 원장에 바로, 텔레그램은 1:1·「칼리」 언급만. 게시글 순회가 전체방을 지날 때 증분 수집(watch._goto_group(chat=True)— 운영 실측 21건). 채팅·좋아요 알림이 게시글 순회를 헛돌리던 것 차단. 상주 재기동 = PID 14808(16:00:52). - ④
dg_manage.py진입 = 멤버 목록 → 칼리 → 모임 프로필(4회 실측 통과) +check(상세 전문 읽기만). - 📮페페 전달 확정 = 9/9 12:01 전체방 「네! 작성하겠습니다~」 작성자 = 해달이(채팅 스크랩). 🆕신규 멤버 「자몽에이드」(9/10 가입,
members.json미등록 — 가입인사 오면 파이프라인이 넣는다). - ⏳남은 것 = 1:1 채팅 알림 표본 0건 →
kind_of의 dm 판정은 추정(표본 오면 태그로 좁힌다) · 반응형 보완 · 멤버페이지 주기 작업. -
자체검사 =
dg_room.py --demo16 ·listen.py --demo17 ·watch.py --demo33 ALL PASS. -
🆕2026-09-10 낮 — 시드 복원 점검: 26.9.10 08:10·10:10
watch.py순회가 adbunauthorized로 연속 실패해 있었다 →adb kill-server && adb start-server로 복구(노트20device, 폰 조작 0). 팁 글 자산은 전부 그대로다(카드 9장 ·tips.json26.9.10 편draft) → 아래post_dg.py재개 가능. -
🆕2026-09-10 15:1x KST — 노트20 게이트 신설 · 일정 참여 · 꼬리 문구 수정 성공
- ✅노트20 게이트(페페 지시) =
C:\dev\poin-agent\phonegate.py+phone.py의phone_lock·_sh개조. 선착순 + 카톡 게시판 수정(watcher.py) 0순위 새치기 + 협조식 양보(잡고 있던 작업이_sh마다 검사해 잠시 놓고 → 0순위 끝나면 이어서). 2프로세스 실측 = 0순위가 2.0초 만에 잡고, 양보한 쪽이 자동 재개. 자체검사python phonegate.py. - ✅일정 「Ai스터디 1차」(9/12 토 09:00) 칼리로 참여 완료 — 도구
danggeun\dg_join.py. 버튼 라벨 = 「일정 참여」. 참여 후 뜨는 폰 캘린더 추가 팝업은 「건너뛰기」(페페 폰이라 캘린더를 더럽히지 않는다). - ✅꼬리 문구 「전해드릴게요!」를 사진 위 문장 끝으로 되돌렸다 — 🔑페페가 알려준 길 = 롱프레스 → 잘라내기 → 붙여넣기(도구
danggeun\fix_tail2.py). 좌표로 커서를 미는 앞 시도는 전부 미끄러졌는데 이 길은 한 번에 됐다.- 🔴편집 메뉴(잘라내기·복사·모두 선택·사전)는 접근성 트리에 안 나온다 → 선택한 글자 바로 위에 뜨는 걸 이용해 좌표로 누른다(
menu_xy= 글자 x1+110, y1-90 · 항목 간격 165). - 🔴빈 곳을 롱프레스하면 커서만 놓이고 「모두 선택」만 뜬다 → 글자 위(블록 x1+60)를 눌러야 선택이 잡힌다.
- 🔴편집 메뉴(잘라내기·복사·모두 선택·사전)는 접근성 트리에 안 나온다 → 선택한 글자 바로 위에 뜨는 걸 이용해 좌표로 누른다(
- ⏳남은 것 = 글 맨 위 「Q. 작업해보고 싶은 내용 말씀 부탁드립니다」(페페 지시로 제거 대상). 수정 화면에서 칩을 닫아도(
close_template이 「닫음」을 찍어도) 저장된 글에는 그대로 남는다 — 첫 작성 때 가입인사 질문 템플릿으로 들어간 값이라 다른 경로가 필요하다. -
⏳미착수 = ①1차 스터디 대화 스크랩 ②채팅 리스너 추가(페페 지시). 현재 리스너(
listen.py→watch.py)는 게시글만 본다. -
🆕2026-09-10 14:4x KST — 재게시(카드 순서 정상) · 게시판은 페페가 앱에서 이동 · 꼬리 문구 1건 미결
- 글 = 자유 게시판에 살아 있다(칼리 · 카드 01→09 정순 확인). 첫 게시본은 순서가 돌아 삭제하고 다시 올렸다.
- 🔴재게시 때 게시판이 「가입인사」로 나갔다 — 초안을 「이어서 쓰기」로 복원하면 게시판이 기본값으로 되돌아가고 질문 템플릿 칩도 다시 붙는다. 페페가 앱에서 자유 게시판으로 직접 이동(올린 뒤에도 이동 가능 — 이번에 확인).
post_dg.submit()에 등록 직전 가드(게시판·템플릿 확인)를 넣었다. - ⏳미결 = 마지막 문구 「전해드릴게요!」가 사진 밑에 있다. 원인 = 사진이 커서 자리에 들어가며 마지막 문장을 갈랐다. 재발 방지는 끝냈다(
body_text()끝에 빈 줄 → 사진이 본문 다음 줄로). 이미 갈라진 글을 수정으로 되돌리는 건 실패(당근 에디터는 문단이 아니라 블록 하나가 노드라 「마지막 줄 끝」 커서를 못 잡는다 · 자세한 건 rules 🆕). 완료를 안 눌러 글은 원본 그대로다.- 선택지 = ⓐ페페가 앱에서 1분이면 고친다(마지막 줄 잘라 사진 위 문장 뒤에 붙이기) ⓑ삭제 후 재게시(빈 줄 처방 적용 — 도구는 준비됨) ⓒ그대로 둔다.
-
🆕운영 도구
C:\dev\devplan\danggeun\dg_manage.py신설 — 게시판 이동 · 수정 · 삭제 · ⋮ 메뉴 열기. 메뉴·시트 좌표는 전부 실측(rules 🆕 「운영 3종」). ⚠진입부(내 글 찾기)는 목록 순서가 바뀌면 어긋나 검증 미완. -
🆕✅2026-09-10 13:01 KST — 첫 팁 글 실게시(칼리 · 자유 게시판) ·
post_dg.py완성 - [페페] 「업로드 진행해」. 결과 = 글 1건 게시됨 — 작성자 칼리, 게시판 자유 게시판, 본문 전문 정상, 카드 9장 전부 첨부. 모임 글 8건이 됐다.
- 막혀 있던 26.9.9 「게시판 전환 실패」의 진짜 원인 = 시트 안 좌표(1814)가 빈칸이었다(시트는 열려 있었다). 실측값 2066 으로 고치니 바로 됐다.
- 그 뒤로 잡은 실사고 = ⓐ본문이 조용히 안 들어감(템플릿 칩 닫으면 본문이 위로 올라와 옛 좌표는 빈칸 · ADB 키보드는 포커스 없어도
result=0) → 플레이스홀더 노드 클릭 + 입력 검증 ⓑ피커 정렬은 파일 mtime 내림차순(adb push 가 mtime 보존) →touch -t로 박음 ⓒ「눌렀다」를 「됐다」로 오판해 피커에 머문 채 「게시 완료」를 찍은 적 1회 → 판정을 모임 홈 복귀로 바꿈. 전부rules.md🆕. - ⏳남은 결함 1개 = 카드 순서. 당근은 한 번에 여러 장을 첨부하면 순서가 한 칸 돈다 — 1~9로 골랐는데 글에는 2,3,…,9,1 로 붙어 표지가 맨 뒤다(내용·장수는 정상). 고치려면 글 삭제 후 재게시(선택 순서 한 칸 돌리기 또는 한 장씩 삽입)가 필요 → 페페 승인 대기. 그대로 둬도 읽는 데 지장은 없다.
-
tips.json26.9.10 편state=posted로 갱신 + 페이지 재빌드(ALL PASS). -
🆕🔴2026-09-09 밤 — 당근 게시 자동화
post_dg.py미완(다음 세션 1순위) - [페페] 「확인 완료. 업로드 진행」 = 카드 9장 게시 승인. 게시 주체 = 칼리 계정.
- ✅아무 글도 안 올라갔다 — 에디터 초안까지만 갔다. 멤버에게 노출된 것 없음.
- 도구 =
C:\dev\devplan\danggeun\post_dg.py(신규).--explore·--tap <라벨|x,y>·--live-from N·--dry·--no-push. - ✅확정된 것
- 카드 9장 폰 갤러리 push =
_adb push+ MEDIA_SCANNER 브로드캐스트. 역순(09→01)으로 올린다 — 피커가 최신순이라 그래야 첫 칸이 card-01 이고 앞에서부터 누르면 순서가 맞다. - 경로 = 모임 홈 →
글쓰기(895,2130) →게시판에 글쓰기(540,1977) → 에디터. - 당근 모임 게시글엔 제목 칸이 없다 — 본문만. 첫 줄이 제목처럼 보인다(수집된 글의
title은 게시판 질문 템플릿이었다). - 에디터 좌표(1080×2400) = 게시판 줄 (540,336) · 시트의 「자유 게시판」 (540,1814) · 질문템플릿 닫기 (972,532) · 본문 (324,684) · 하단 사진 아이콘 (330,2188) · 완료 (971,170).
- 🔴게시판 선택 시트는 접근성 트리에 안 나온다 — 화면엔 보이는데 덤프엔 없다. 존재 확인 불가 → 좌표로만 누르고 결과로 판정.
- 🔴에디터 진입 시 하단 첨부 시트가 이미 펼쳐져 있다(사진/동영상/일정/…). 그 상태에서 게시판 줄을 누르면 탭이 시트 닫는 데 먹힌다.
- 카드 9장 폰 갤러리 push =
- ⏳막힌 지점 = 게시판을 「자유 게시판」으로 바꾸는 탭이 안 먹는다(5회 실패, 상단이 계속 「가입인사」).
- 🔑단서: 탐색 모드에서는 성공했다 —
--explore --live-from 4 --tap "글쓰기" --tap "게시판에 글쓰기" --tap "가입인사" --tap "540,1814"로 상단이 자유 게시판으로 바뀐 것을 스크린샷(_post-s4.png)으로 확인했다. 프로덕션 경로와 차이는 스텝 사이에show()(덤프+스크린샷 ≈ 3~5초)가 낀다는 것뿐 → 지연 부족이 유력하다. - ⛒다음 세션 처방 = 성공한
--tap시퀀스를 그대로 프로덕션으로 승격(스텝마다P._dump()한 번 + 4초 대기)하고, 그 뒤에 본문 입력 → 사진 9장 → 완료를 잇는다. 판정은 문자열 대신 스크린샷으로(유령 노드 때문에 문자열 판정이 부정확하다).
- 🔑단서: 탐색 모드에서는 성공했다 —
-
⏳미탐색 = 사진 피커 화면(9장 선택 UI·확인 버튼)과 완료 후 게시 확인.
-
🆕2026-09-09 밤 — 「스터디 팁」 페이지 신설 완료(7장째) · 첫 글 본문·도식 2장 완성 · 검수 대기
- [페페] 지시 = 「관리페이지에 스터디팁 페이지 + 캘린더에 하루 한 편 등록 · 모달로 확대해 내가 확인 · 도식은 연두·주황 상큼하게 곳곳에 귀여운 고양이 · 칼리 페르소나로 작성 · 진행해」.
- 산출 =
C:\dev\devplan\danggeun-tips.html(네비 「4 스터디 팁」) · 데이터C:\dev\devplan\danggeun\tips.json(원장 5개째) · 빌더 확장(cal_html·tip_doc·body_tips·cat·svg_rulebook·svg_flip). - 현재 = 26.9.10(목) 1편 검수 대기(본문+도식 완성) · 9.11·9.12 제목만 예정.
- 검증 = 자체검사 [ALL PASS](팁 9항목 신설) ·
check_font/check_themeFAIL 0 · 실측 1400px·375px 가로overflow 0 · 관리페이지 사이드바 1개 · 허브 카드 갱신(6장→7장) 후 2026-09-09 보드 노출 확인. - ⚠사고 2건 = ①SVG 안
class="card"가 부트스트랩.card{display:flex}를 물어 도형 3개가 조용히 소멸 ②theme.css캐시 때문에 신규 토큰이 안 먹어 도식이 새까맣게 나옴 → 둘 다rules.md 🆕에 박고 고쳤다(클래스 개명 · mtime 쿼리). - 🆕도식을 인라인 SVG → GPT 생성 완제품 이미지로 교체(페페 지시 「도식·다이어그램은 지피티 이미지 생성으로. 모바일 세로형 스크롤이고 당근은 HTML 을 못 올린다. 완제품을 이미지로」).
- 산출 =
C:\dev\devplan\danggeun\img\tip-{rulebook,flip}.png(세로 2:3 · 1024×1536) · 프롬프트 원본 = 같은 폴더prompt_*.txt - 🔑한글이 오탈자 0으로 나왔다 — 「한글 깨진다」는 나노바나나 얘기였고 ChatGPT 이미지는 다르다. 상세·프롬프트 함정 3개 =
rules.md 🆕맨 위. - 페이지는
figures[].img가 있으면<img>, 없으면 옛 SVG 로 떨어진다(승인되면 SVG 경로 삭제).
- 산출 =
- ⏳당근 실제 게시는 페페 검수 후. 게시 주체 = 칼리 계정(페페 「칼리의 페르소나로 작성」으로 확정).
- 🆕카드 이미지 세트 9장으로 재구성 + 그림체 교체(페페 지시 「카드 이미지세트로 하고 그림체와 선 종류를 좀더 세밀하게. 너무 귀여운 컨셉으로 단순화됐다」).
- 1차 플랫 벡터 도식 반려 → 세밀한 펜화 에디토리얼(선 굵기 3단·실선/점선/점묘로 의미 구분·크로스해칭·고양이는 잉크 동물습작). 프롬프트에
STRICTLY AVOID: chibi, kawaii, thick cartoon outlines…명시. - 순서 = 표지 · 규칙서도식 · 규칙1 · 질문뒤집기도식 · 규칙2~5 · 마무리 = 9장.
- 🔑표지를 참조 이미지로 물려 나머지를 굽는다(안 물리면 장마다 그림체가 흔들린다).
- 생성기 =
C:\dev\devplan\danggeun\img\make_cards.py— 문구·스타일·순서가 전부 여기 있다.--only N으로 한 장만 재생성. - 모달 = 카드 갤러리 9장(클릭 시 원본) + 「같이 올릴 글」 캡션 + 원본 텍스트 접힘.
- 검수에서 3장 재생성(총 14장 생성) — 오타 「합정→함정」 · 인용 줄 재배치 · 지시 안 한 영문 장식 난입. 함정 3개 전부
rules.md 🆕에 박았다. 1차 도식 2장은 카드 02·04 로 대체돼 삭제.
- 1차 플랫 벡터 도식 반려 → 세밀한 펜화 에디토리얼(선 굵기 3단·실선/점선/점묘로 의미 구분·크로스해칭·고양이는 잉크 동물습작). 프롬프트에
-
세션문서 =
session-2026-09-09-tips-page.md -
~~🆕2026-09-09 밤 — 자유 게시판 「팁 글」 기획 rev2(내용안 보고, 승인 대기)~~ → 위에서 실행됨
- [페페] 1차 지시 = 「내가 쓴 글 다음에 올릴만한 팁. 다이어그램이나 파이프라인 첨부. 먼저 내용만 정해서 보고」.
- [페페] 2차 방향수정(rev1 반려) = 「과제를 주는 느낌 말고 내 자산·작업 스타일에서 가져온 팁. ytmine·stt 는 대외비 — 모임 참석자에게 페페가 직접 알려주기만 한다. 클로드 코딩이 예상처럼 안 되는 부분 · 모르는 게 뭔지 몰라서 작업을 못 하는 부분, 이 단계에 도움될 팁으로」.
- [코디] 확정 주제 = 「클로드가 예상처럼 안 움직일 때 — 내 규칙서에 박아둔 문장 5개」. 증상→원인→규칙서 한 줄(실물 인용) 형식. 출처 =
C:\dev\CLAUDE.md실제 조항(그릴링·범위고정·오류 전체출력·함정 즉시기록·위험작업 승인)을 일반화.- ⛔공개 금지 = ytmine·stt·사내 프로젝트명·실경로·계정·리포명 전부. 예시는 일반 업무로 치환.
- 도식 2종 = ①규칙서 한 장 해부도(맨 위=세션 시작에 할 일 / 가운데=금지 / 맨 아래=답변마다 할 일 → 「위치가 곧 실행 시점」) ②질문 방향 뒤집기 대비도(흔한 방식 = 사람이 뭉뚱그려 지시→재작업 루프 / 페페 방식 = AI가 질문 1개씩→합의→계획→실행→검증출력→함정 한 줄).
- 후속 시리즈 후보 = 「지시문 4칸」 · 「AI 결과 검증법」 · rev1 안이던 「첫 과제 고르기(관문 4개)」.
- ⚠게시 주체 제약 — 시리즈 연속성상 페페 계정이라야 하는데 코디는 로그인 금지(칼리만 가능) → 기본안 = 본문+이미지 만들어 텔레그램 전달, 업로드는 페페.
- 이미지 = SVG 직접 작성 → PNG(나노바나나는 한글 깨져서 배경·히어로만). 제작 착수 시
web-designer상담 건다. -
[코디] 기존 페페 글 3건 = 모임 소개 · 처음 세팅 · 클로드 활용(제목만
admin.jsonroster 에 기록, 본문 원문은 어디에도 없다 — 중복 회피는 제목 기준 추정). -
🆕2026-09-09 밤 rev7 — 수집기 본체 완성(전자동 성립) + 망고치토스 페이지·링크 발송
- ① 망고치토스 가입인사 반영 — 19:21 글(「주식 자동매매 프로그램 만들고 싶습니다」). 읽기·프로젝트 7종(P1 매매규칙 → P7 매매일지 상시)·그릴링 12문·파이프라인 7단계를 한량 밀도 기준으로 작성 →
danggeun-member-mango.html· 공개링크https://poin-mini.tailc5d3c1.ts.net/dg/fLxQpQVYZbDjauIF.html20:05 1:1 발송 완료(칼리 페르소나, og 카드 제목에 남의 정보 없음 확인).- 설계 축 = 돈이 걸린 과제라 1호는 주문을 내지 않는 것(신호 로그만) → 백테스트 → 모의투자 → 실계좌 소액 + 정지조건 순서. 성공기준을 수익률이 아니라 규칙 준수로 잡았다.
- ② 신규 멤버 코우호(은행동) 확인 — 가입인사 대기 항목으로
members.json에 추가(멤버 7→8). - ③ 수집기 완성 —
watch.py실주행 3건 수집 성공(망고치토스 29자 · 한량 55자 · 해달이 265자, 작성자·게시판 전부 정확). 「어느 글을 여느냐」 구멍이 메워졌다 = 전자동 성립.- 고친 것 = ⓐ모임 진입을 채팅 → 전체방 → 모임으로 가기 로 교체 ⓑ화면 판정·본문 파싱을 루트 노드(
_root/_live_texts)로 — 덤프에 직전 화면 유령 노드가 그대로 남는다 ⓒ작성자는 프로필을 열어 읽는다(_author_via_profile) — 알림 힌트는 보조로 강등(리스너 기동 전 글은 알림이 없다) ⓓ「이전」 링크 접두일치 + 노드 가운데 탭(옛x2+260은 화면 밖이라 아무 일도 안 일어났다) ⓔ엔티티html.unescape(이모지가👋로 박히던 것) ⓕ재수집이 손질해 둔 멤버를 안 덮게(원문만 갱신, 자동분해 건너뜀) ⓖ같은 글 반복 시 중단. - 자체검사
watch.py --demo33항목 통과(실제 덤프 모양을 픽스처로 넣었다). - ⚠남은 한계(설계상 허용) = 본문이 긴 글(해달이)에서는 「이전」 줄이 화면 밖이라 거기서 순회가 멈춘다. 스크롤하면 bounds 가 옛 좌표로 남아 오히려 무한루프가 나므로 안 한다. 순회가 최신→과거 방향이라 새 글은 안 놓친다(멈춰서 못 보는 건 이미 본 옛 글뿐).
- 고친 것 = ⓐ모임 진입을 채팅 → 전체방 → 모임으로 가기 로 교체 ⓑ화면 판정·본문 파싱을 루트 노드(
- 폐기 =
collect_manual.py→C:\dev_attic\2026-09-09\(「이전」 정확일치라 처음부터 안 걸렸다). 수동 경로는watch.py --dry-run. - ⏳리스너 정규식은 아직 못 좁혔다 —
noti.log에 진짜 당근 알림 표본이 0건이다(있는 건 배선시험 1건). 다음 실제 알림이 찍히면listen.py의is_trigger·author_hint를 그 문구로 좁힌다. - 🆕2026-09-09 밤 rev6 — 리스너를 푸시 트리거로 전환 · 관리페이지 동시 갱신 기본화(페페 지시 D007)
- 폰 = 트리거 / 미니PC = 일꾼. 알림리스너 APK 를 확장해 당근 알림을
DG_MSG태그로 흘리고(카톡KAKAO_MSG는 그대로), 미니PC 상주danggeun/listen.py가 물고 있다가 모임 알림이면 즉시watch.py를 부른다. - 폰이 카톡 작업에 잡혀 있으면 실패가 아니라 150초 간격 12회(≈30분) 재시도(
watch.py종료코드 2). 23:00~07:30 알림은 07:30 으로 미룬다. 백업 = 기존 2시간 예약작업 유지. refresh_all()=admin.json자동 갱신 + 전 페이지 빌드 + 공개링크 재발행. 데이터가 바뀌면 이 셋이 한 묶음이다.- 신설/변경 =
poin-agent/kakao-listener/{src…KListener.java,build.sh}·danggeun/{listen.py,listen_hidden.vbs,listen_task_install.ps1}·danggeun/watch.py(refresh_all·sync_admin·load_hint·fill_author·rc 2) · 예약작업Cody\danggeun-listen(5분 워치독). - 검증 = 두 태그
listener_connected· 배선시험(가짜 DG_MSG 주입) →noti.log기록 + 「트리거: 해달이」 +watch.py rc=0까지 자동 실행 확인 ·listen.py --demo10항목 ·watch.py --demo25항목 · 관리페이지에 「푸시 트리거」 문구 반영 · 공개링크 3개 200. - ~~⏳남은 구멍 = 수집기 본체.~~ → rev7 에서 해결(위). 트리거·배선은 끝났는데
collect()가 여전히 글을 못 긁는다(실주행 「새 글 0건」). 원인은 그대로 = WebView 노드 bounds 0 · 작성자 노드 없음. 작성자는 알림 힌트(fill_author)로 메울 준비가 됐으니, 남은 건 「어느 글을 여느냐」 하나다 — 모임 진입을dg_chat.goto_members경로로 갈아끼우는 게 다음 작업. - 🆕2026-09-09 저녁 rev5 — 신규 글 수집 · 멤버페이지 2장 신설 · 공개링크 발송 · 칼리 프로필 교체 완료
- 수집 = 해달이·한량/80/금천 가입인사 2건(당근 전체 6글 중 나머지 3건은 페페 자유게시판 글).
- 공개링크 = 토큰 URL 3개(
danggeun/tokens.json), Funnel/dg/→C:\dev\devplan\danggeun\pub. 검증 = 3링크 200 ·/dg/는 껍데기만(목록 안 나옴) · 없는 토큰 404. - 발송 = 당근 1:1 채팅 3건(바이브코딩·해달이·한량). 칼리 페르소나 문안, 본인 링크만 1개씩.
- 프로필 = 나노바나나 지브리풍 칼리 사진으로 교체 완료. 전역 + 모임 프로필 둘 다(모임 프로필이 별도라 처음엔 스터디 안에서 안 바뀌었다 — 페페 지적 후 수정). 「다른 모임에도 적용하기」 켬. 무늬는 deskpet 마스터 시트를 참조로 물려 좌 태비/우 치즈·흰 주둥이·분홍 코를 맞췄다. 실물 =
media/danggeun/kali-profile.png(후보 =kali-v2-{1,2,3}.png), 교체 도구 =danggeun/set_profile.py. - 도구 신설 =
danggeun/dg_ui.py(공용 조작) ·dg_chat.py(1:1 채팅) ·send_links.py(발송) ·publish_dg.py(토큰 굽기) ·gen_kali.py(프로필 생성) ·collect_manual.py·dump_walk.py(수동 수집). - 📮페페에게 전달 — 전체방 멤버 메시지 1건: 「네! 작성하겠습니다~」(26.9.9 12:01). 가입인사 요청에 대한 답이고, 작성자는 화면에서 확정 못 했다(망고치토스 추정). ⛔칼리는 답하지 않았다.
- ~~🔴리스너는 아직 미완이다.~~ → rev7 해결(작성자=프로필 경유, 순회=이전 링크 접두일치). 아래는 당시 기록.
_open_first_post는 상세를 열긴 하지만 어느 글인지 못 고르고, 「이전/다음」 링크는 노드로 못 믿는다(rules 🆕 참조). ⛒다음 설계 = ①모임 진입은 채팅방 경로로 교체(좌표가 정상인 유일한 길) ②글 순회는 「게시글 더보기」 피드 + 스크린샷 판독(작성자가 노드에 없으니 어차피 그림을 봐야 한다). 지금은 수동 수집 도구(collect_manual.py)로 대체 가능하다. -
✅푸시 트리거는 가능하다(페페 질문 답) — 노트20에 당근
POST_NOTIFICATIONS권한이 granted, 알림 채널 11개 확인. poin-agentP.watch()의 logcat 방식을 그대로 쓸 수 있다. 역할 분담 = 폰=트리거 / 미니PC=수집·빌드·발송, 2시간 폴링은 백업으로 남긴다. 착수는 페페 지시 대기. -
2026-09-09 페이지 신설 + 1차 폐기 완료 → 세션문서
session-2026-09-09-page-build.md - 2026-09-09 rev3 — 그릴링 기본 펼침 + 전체 접기/펼치기 버튼 · 바이브코딩 독립 검토본 텔레그램 발송 완료(51KB). ⏳페페 = 1차 검토 회신 대기
- 2026-09-09 같은 날 rev2 — 6장 분리 + 그릴링 자동저장 완료. 페페 「큰메뉴 1,2,3 각각 다른 페이지로… 멤버별 그릴링 항목에 입력창, 입력하면 자동 저장」. 반응형은 아직 손대기 전이다(분리는 그 사전작업). ⏳다음 = 반응형 보완 — 페이지가 갈렸으니 한 장씩 독립적으로 고치면 된다
- 2026-09-09 rev4 — 리스너 신설. 페페 「리스너 만들어서 다른 멤버 가입인사 또는 개발목표 관련 내용이 올라오면 페이지 생성해줘」. 예약작업
Cody\danggeun-watch(08~23시 2시간 간격)가 당근을 순회해 새 글 → 멤버 페이지 생성 → 계획 분해 → 검토본 발송까지 간다 - 🔴리스너 남은 한 구간 = 「어느 카드를 열었나」(26.9.9). 잠금해제 → 인터스티셜 → 모임 진입 → 상세 진입까지 전부 뚫었고, 상세에서 본문 파싱만 실패한다(앵커 오프셋이 첫 글이 아닌 카드를 연다). 다음 세션 첫 일감 = 상세 진입 직후 스크린샷 1장 떠서 어느 글인지 확인 →
watch.py의_open_first_postOFFSETS조정. 파싱 로직 자체는 실제 노드 덤프로 검증돼 있다(--demo21항목). 진단자료 = 2시간마다 쌓이는C:\dev\devplan\danggeun\watch.log - 🆕2026-09-09 저녁 페페 신규 지시 접수 → 인계문 =
inbox/relay-2026-09-09-danggeun-kali.md(설계 확정본 포함). 요지 = ①새 멤버 글 여러 건 올라옴 → 페이지 작성 ②멤버별 공개링크(토큰 URL, Funnel/dg)로 자기 페이지만 접근 ③당근 개인 채팅으로 링크+안내 발송(파일 전송 불가 확인됨) ④코디 자아 = 칼리(페페 반려묘, 지브리 스타일 프로필 나노바나나 생성 후 교체, 공손체, 답장은 대답 말고 페페에게 전달) ⑤리스너는 노트20 푸시 트리거가 정석(현재 미니PC 2시간 폴링) — 폰=트리거, 미니PC=수집·빌드·발송 - ⏳코디 = 주기 작업 — 당근에 새 글이 올라오면 7단계(수집 → members.json → 프로젝트 분해 → 그릴링 → 도식 → 멤버/AI 표 → 재빌드). 절차 전문 = 페이지 「멤버페이지 주기 작업」 절
- ⏳페페 판단 4건
1. 페이지 공개 시점·범위(전체 공개 / 본인 탭만) + 공개 URL 방식
2. 바이브코딩 그릴링 12문을 어떻게 전달할지 — 당근 댓글 / 모임 채팅 / 첫 모임 대면
3. 그릴링 답을 어디에 모을지 — 두 갈래다. ①사이트(8799 tailnet, 서버 원장에 모임) ②독립 검토본 파일(어디서나 열리지만 답이 그 브라우저에만 남아 코디가 못 읽는다). 멤버 답을 코디가 받아야 하면 ①의 공개 경로 + 인증이 필요하다
4. GitHub webhook
653764844삭제 여부(무해·선택.gh미인증이라 코디가 못 지운다) - ⏳멤버 3인 가입인사 대기 (1/4)