2026.05.10 작업일지 v1.0.3
v1.0.2 이후 저녁(20:11~24:33 KST): 작은 사고(3060Ti 봇 토큰 분실) 가 reply-purity 가드 + 메모리 1건을 낳고, “200분짜리 토큰을 9-to-6 동안 hands-off 로 쓰고 싶다” 는 한 마디가 fleet-director 메타 시스템(spec 983L + plan 3124L) 14일치 설계로 이어진 5시간.
오늘의 궤적 (v1.0.2 이후)
19:20 v1.0.2 push 직후 강대종이 stack.html 카드 풍성 포맷 마무리(20:14 PR #59, 20:24 PR #60) 로 하루 닫으려 함. 거기서 끝나지 않고 — 21:07 텔레그램 paste 의 <...> placeholder 로 3060Ti 봇 토큰이 분실되는 사고가 발견됨. 이걸 issue 로 박고(2026-05-10-placeholder-paste-loss.md) reply-purity 자동가드를 박음(automations dba1f55). 22:50 araseo v1 데모 dry-run todo 를 추가(daejong-page 691f476). 23:00 강대종이 “이제 무엇을 개선해야할까” 라고 물음 → 짧은 답이 “본업 9-6 에도 토큰 다 쓰고 싶다” 라는 근본 동기 surface 로 이어짐. 그 순간부터 fleet-director 메타 시스템 설계가 시작 — Q1~Q8 브레인스토밍, spec 983L 통합, Mac mini Codex line-level 6 finding 반영(md5 sync 일치 검증), 14일치 implementation plan 3124L 작성, subagent-driven 실행 결정 + 강대종 3 룰 추가, D01 시작은 fresh 컨디션 으로 보류 + 트리거 메모리 박음, /goodnight.
stack.html / 운영 에이전트 가시화 (20:11~20:24)
- PR #59 (
f00fa10): 4개 카드 (Mac 본진/Mac mini/WSL/노트북 3060) 에 운영 에이전트 배지 추가 (Claude Code / OpenClaw / Hermes). 카드 한눈에 어떤 에이전트가 도는지 보이게. - PR #60 (
4adfffd): 데스크탑 3060Ti 카드에 Claude Code 배지 추가. 5/10 챗봇 전환 사실 반영.
3060Ti 봇 토큰 분실 사고 (20:54~21:18)
타임라인:
- 20:54 ea765a3: stop-ping hook 의 PATH 문제(
jqnot found in non-login hook shell) 수정. 방어막 1개. - 21:07 daejong-page 2ec7e43: 텔레그램 paste 명령 안에
<TOKEN>같은 인라인 placeholder 가 있어서 강대종이 paste 했을 때 fenced block 이 깨지면서 봇 토큰이 사라짐. 이걸issues/2026-05-10-placeholder-paste-loss.md로 6.0K 상세 분석 박음 (transcript 복구 포함). 공개본 동기화도 같이. - 21:17 automations dba1f55: reply-purity 가드 — heredoc/fenced block 안에
<...>인라인 placeholder 가 있으면 즉시 block 으로 차단하는 hook. 같은 사고 재발 방지. - 21:18 daejong-page 1880119: parking-lot 에 “3060Ti automations git repo 화” 박음 (sync 자동화 후속안).
- memory:
feedback_telegram_paste_placeholders.md메모리에 박음 + MEMORY.md 인덱스 1줄 추가. 다음 세션이 자연 인지하게.
배운 것:
- 텔레그램 paste 가 강대종 손이라는 점 — fenced block 이 깨질 수 있는 placeholder 는 절대 안 됨.
- 작은 사고 1번 = 가드 1개 + 메모리 1건. 사고 0회 가드 0개보다 사고 1회 가드 1개가 장기적으로 안전.
CLAUDE.md / MACHINE_ROLES.md auto-sync 폭주 (21:32~22:44)
claude-skills repo 의 auto: skills update 커밋 13건. globals/CLAUDE.md, MACHINE_ROLES.md, scripts/tuya-control.py, araseo/SKILL.md 가 동시에 sync 되는 패턴. CLAUDE.md 텔레그램 reply 룰 보강 (이모지 prefix 만 / 봇 username 으로 식별). 이 변경들은 globals 의 SoT 가 양 기기 symlink 로 박혀있어 자동 propagation 됨.
araseo v1 데모 dry-run todo 등록 (22:50)
- daejong-page
691f476: todos 2026-05-10 에 추가:🤝 🎯 알아서(Araseo) v1 데모 dry-run:
/araseo 수면앱 / 무료+광고 / 한국어+일본어 / 7일. 목표 = 제출 직전 패키지까지의 경로 검증. 실제 스토어 제출 금지. spec: ~/.claude/plans/brainstorm-araseo-2026-05-10.md, SKILL: ~/.claude/skills/araseo/SKILL.md. 컨디션 좋을 때 시작 (밤 X). - 22:58
ce37174: parking-lot 에 “AI 조직 구현 후속안 (페다 기사 트리거)” 박음. 페다(FEDA) 기사로 시작된 AI 조직 컨셉을 araseo 와 분리해 후속안 큐에.
fleet-director 메타 시스템 (23:00~24:33) — 오늘의 결정적 5시간
23:00 — 한 마디
강대종이 araseo v1 데모 todo 등록 끝낸 직후 “이제 무엇을 개선해야할까” 라고 물음. 첫 답은 “/araseo 첫 dry-run 전에 관찰성 한 겹” 으로 짧게 마무리하려 했음. 그 다음 강대종이 진짜 동기 surface:
잠깐만 강대종 손0으로 알아서 5대의 기기가 일을하고 세션이 차면 알아서 세션초기화 하고 전에 하던일 이어서 하고 그런 시스템 구축하고 싶어 지금의 trio vote / loop run 으로는 부족해 /araseo 로 가능할까?
답: /araseo 단독으로는 안 됨. 별도 fleet-director 메타 레이어 필요.
23:06 — 본질 reframe
다음 한 마디:
아니 나는 본업하는 9to6 에도 계속 돌리고 싶은거지 토큰 다 소비하고 싶어서 200분짜리
이게 진짜 동기 — Claude Max $200 plan 토큰을 본업 시간 동안 안 쓰고 흘려보내기 아까움. 그 시간을 hands-off 자율 작업으로 채우고 싶음. 처음 답에서 “메타 동결” 옵션을 제시했는데 reframe 해보니 “메타가 곧 정답인 케이스” 였음.
23:0924:33 — Q1Q8 브레인스토밍
각 Q마다 사용자가 옵션 선택 + 추가 룰 제안 → spec 에 박는 형태로 1.5시간:
- Q1 모드: B+C 하이브리드 (기본 backlog 소진, mission 던지면 priority lock). A 앱 양산 모드는 C.app_lifecycle subtype 으로 흡수. D 모드 선택형 director 는 v2.
- Q2 라이프사이클: D 변형 — mission 24/7 (강대종 챗 시 30분 일시정지) / backlog 평일 09-18+22-07, 토 10-18, 일 off / mission lock 시 backlog 새 claim 금지.
- Q3 아키텍처: B 변형 — Cron 무상태 워커 (idle 토큰 0). preflight shell 이 claim 가능 시에만 Claude 1회 spawn. 데몬 X. 5대 동등.
- Q4 체크포인트: A 변형 — per-task
progress.md(사람·Claude 회상용) +status.json(worker deterministic 판단). markdown parsing 우회. - Q5 게이트: 🟢 자동 OK / 🟡 ack 필수 13개 카테고리 / ⛔ 영원히 fleet 직접 X / A+B+C 3중 방어 / v1 ack 은 slash only / 24h timeout → stale_gates/.
- Q6 Task 공급: B 모드 deterministic 스크레이퍼 (보수적, done_candidates/ 만 v1) / C 모드 milestone 일괄 + task 점진 (app_lifecycle = /araseo phase 0~2 참조 + fleet plan_review gate).
- Q7 관찰성: 3-tier (silent / summary 정시 4회 / alert) + slash 13개 + emergency
/fleet kill(PAUSED 파일 응급 정지). - Q8 안전·동시성: ccusage SoT 80/90/95% 단계 정지 + 95% PAUSED 자동 (kill 자동 trigger 표현은 emergency pause 로) / claim race git push 자연 락 / expires_at 30분 자연 heartbeat / strange-loop 5중 가드.
24:00 — spec 983 lines 통합 작성
~/.claude/plans/brainstorm-fleet-director-2026-05-10.md (983 lines, 17 섹션). v1 success 6개 / v1 / v1.1 / v2 분리.
00:09 — Mac mini Codex line-level 6 finding
scp 으로 Mac mini sync (md5 d782ca80...). Codex 가 line-level 검토 → 6 finding:
- High: PAUSED 5초 모순 (cron 분단위 → 5초 불가능) + 95% PAUSED 자동 vs 새 ccusage 윈도우 자동 재개 충돌
- Medium: devices/queue 필드명 mismatch (
default_claim_enabled변종) + gate evidence “3종” 실제 5필드 + git reset —hard 범위 - Low: strange-loop “임의 1개 시뮬” 이 5중 검증 약함
00:14 — 6 finding 모두 spec 반영
- §2 #1: 응급 정지 단계별 (로컬 <5초 / remote 다음 preflight 최대 cron interval+1분) + v1.1 fanout kill 후보로 분리
- §11.5: PAUSED reason 분리 (
human_emergency절대 자동 release X /budget_95새 ccusage 윈도우 자동 release) - §8.3: schedule_label + schedule_windows 분리, on_demand_only/default_claim_enabled 명시. 변종 필드명 금지 룰 spec 본문 박음.
- §10.3: gate evidence 5필드 (matched_rule/matched_text/matched_layer/required_ack_id/blocked_at) 누락 시 ack 받아도 진행 X
- §12.2: git reset —hard fleet-state repo claims/* 한정 안전 절차 (status —porcelain dirty check + 좁게 폐기)
- §2 #3: strange-loop unit 5/5 + e2e 1 분리
- §17 변경 이력: refinement 1차 + 2차 (Codex line review 반영) 명시
Mac mini 재sync md5 일치 (d782ca80...).
00:25 — implementation plan 14일치 (3124 lines)
~/.claude/plans/plan-fleet-director-2026-05-10.md (3,124 lines). 강대종 6-field × Day 1~14:
- Input / Output artifact / Implementation steps (TDD bite-sized) / Verification command/test / Dependency-rollback / Done criteria
Day 분배:
- Week 1 인프라: D01 fleet-state private repo / D02 5 state JSON + JSON Schema + gates.yaml 13패턴 / D03 preflight shell + 4 lib 테스트 / D04 claim/push 자연 락 + race 시뮬 + heartbeat / D05 worker spawn + done_when 4 type + post-action C / D06 stale claim 회수 / D07 launchd Mac mini 2분 + Mac 본진 5분 + WSL 5분
- Week 2 안전망+UX: D08 게이트 A+B+C + bats 6 / D09 13 shell primitive + bats / D10 SKILL.md 슬래시 13 wrapper + claude-skills 통합 / D11 summary 정시 4회 + alert 6 type + device health / D12 strange-loop 5중 + 첫 dry-run + 6 success criteria 시뮬 / D13 운영 발견 버그 fix + README 운영 가이드 / D14 1주 모니터링 + v1.1 후보
self-review: spec 17 섹션 모두 task 매핑 / placeholder 0 / 필드명 일관 / mission state / claim state spec §8 일관.
Mac mini sync md5 594f430a... 일치.
00:30 — subagent-driven + 강대종 3 룰
실행 방식: (1) Subagent-Driven 채택. fresh subagent per Day.
강대종 추가 3 룰 (각 subagent prompt 에 inline):
- Day 단위 hard stop: 자기 Day 범위 밖 파일 수정 X. 필요하면 BLOCKED 보고.
- 검증 없는 완료 금지: Done criteria 체크 전에 verification command 실제 실행 필수.
- commit은 review 후: D03+ 부터 cron/launchd 영향 있어 빡빡 적용.
00:33 — D01 시작 보류 + 트리거 메모리
자정 넘어 (KST 00:33) D01 (gh repo create + clone + 첫 commit) 진행 vs 내일 fresh 시작 (B) 결정. 이유: fleet-director 의 본래 목적이 “강대종 hands-off 시간 확보” 인데 자정에 시작 = 본말전도 + D01 산출물 (fleet-state repo 첫 형태) 이 D02~D14 토대라 review 품질 중요.
memory 박음:
~/.claude/projects/-/memory/fleet_director_d01_trigger.md- 새 세션 첫 메시지 “D01 시작” → plan 의 Day 1 implementer subagent 즉시 dispatch
- spec/plan md5 + 강대종 추가 3 룰 + D01 8 sub-step 전부 포함
- MEMORY.md 인덱스 1줄 추가
확장: D02~D14 도 같은 패턴 (“D02 시작” / “D03 시작” …). D03+ 는 commit-after-review 룰 빡빡 적용.
인프라·스킬·자동화
- automations dba1f55: reply-purity 가드 (placeholder block in fenced)
- automations ea765a3: stop-ping PATH 수정
- claude-skills auto-sync 13건: globals/CLAUDE.md, MACHINE_ROLES.md, tuya-control.py, araseo SKILL
- memory 신규 2건: feedback_telegram_paste_placeholders.md, fleet_director_d01_trigger.md
- plans 신규 2건: brainstorm-fleet-director-2026-05-10.md, plan-fleet-director-2026-05-10.md (Mac mini sync md5 일치)
학습·상담
- “토큰 잘 쓰고 싶다” 같은 자원 동기 = 메타 시스템 설계로 직결. 메타 동결 vs 빌드 선택은 본인 시간 계산이 핵심.
- 자정 직전 만든 plan 은 자정 직전 시작하지 마라 (D01 미룸 결정).
- 작은 사고 1번 = 가드 1개 + 메모리 1건. 사고 0회 가드 0개보다 안전.
- 5대 기기 자율 작업의 핵심 = 데몬 아니라 cron 무상태 워커 + git 자연 락.
- 메타 시스템 진짜 위험 = 폭주 시 손 안 댄 채 8시간 토큰 태움. 관찰성 + 게이트 + kill switch + budget cap + strange-loop guard 5겹 방어 필수.
남은 작업
- D01 시작 (내일 컨디션 좋을 때): 챗에 한 줄 “D01 시작” → fleet-state private repo + clone + 첫 commit + Mac mini sync. ~15-20분.
- D02~D14: 매 Day 종료 후 강대종 review → 다음 Day 트리거.
관련 커밋
| repo | SHA | 메시지 |
|---|---|---|
| daejong-page | f00fa10 | stack: 4개 카드 운영 에이전트 배지 (#59) |
| daejong-page | 4adfffd | stack: 데스크탑 3060Ti Claude Code 배지 (#60) |
| daejong-page | 2ec7e43 | issue: placeholder paste 3060Ti 봇 토큰 분실 |
| daejong-page | 1880119 | parking-lot: 3060Ti automations git repo 화 |
| daejong-page | 691f476 | todos: araseo v1 데모 dry-run 추가 |
| daejong-page | ce37174 | parking-lot: AI 조직 후속안 (페다 트리거) |
| automations | ea765a3 | fix(stop-ping): jq PATH |
| automations | dba1f55 | feat(reply-purity): block <...> placeholder |
| claude-skills | a198613 (외 12건) | auto: skills update (CLAUDE.md / MACHINE_ROLES / tuya / araseo) |
산출 메모리·이슈
~/.claude/projects/-/memory/feedback_telegram_paste_placeholders.md(3060Ti 봇 토큰 분실 사고 학습)~/.claude/projects/-/memory/fleet_director_d01_trigger.md(내일 D01 시작 트리거)~/.claude/skills/issues/2026-05-10-placeholder-paste-loss.md(6.0K 포스트모템)
산출 plans
~/.claude/plans/brainstorm-fleet-director-2026-05-10.md(983 lines, md5 d782ca80…)~/.claude/plans/plan-fleet-director-2026-05-10.md(3,124 lines, md5 594f430a…)- 양 파일 Mac 본진 + Mac mini sync md5 일치