← 작업일지

2026-05-03 · v1.0.0

2026.05.03 작업일지 v1.0.0

데스크탑 3060Ti 격리 완료 + ASC territory cache 양방향 자율 사이클 + knowhow 14→11건 일반화 + gpt-relay v0

오늘의 궤적

자정 직후 데스크탑 3060Ti를 OpenClaw 샌드박스 호스트로 격리하는 결정부터 시작됐다. tailscale 로그아웃 + SSH off로 인바운드를 완전히 닫고, WSL이 홈페이지 STACK 카드 업데이트까지 처리했다. 오전에는 ASC territory cache 작업이 양방향 자율 사이클로 돌아갔다 — 본진이 디렉티브를 쏘면 WSL이 골격을 만들고, 본진이 실데이터를 채우는 흐름. 10시대엔 issues↔knowhow coverage map을 처음 그리고 핵심 3건을 knowhow로 일반화했다. 11시엔 gpt-relay v0가 나왔다.

OpenClaw 샌드박스 + 3060Ti 격리

  • 00:09 KST — 강대종: “데스크탑3060Ti에 샌드박스 환경 구성하고 OpenClaw 설치 중”
  • 00:10 KST — tailscale 로그아웃 + SSH 연결 끊음 → 완전 격리 확정 (영구)
  • WSL이 메모리 reference_3060_nodes_client_only.md 갱신 (client-only + sshd disable)
  • 홈페이지 STACK 3060Ti 카드: “tailnet OFF + OpenClaw 샌드박스 호스트” 갱신
    • WSL PR #26 → 본진 00:21 KST squash merge → 7cd1571
  • OpenClaw LLM 선택 논의 (00:32~00:40 KST, WSL 응답):
    • 옵션: Claude CLI / LLM / GPT API mini
    • WSL 추천: Sonnet 4.6 (1M context, Opus 비용 1/5, 도구 사용 최적)
    • 강대종이 보내준 스크린샷으로 OpenClaw 확인 → researcher 에이전트 딥리서치
  • 00:36 KST — parking-lot SoT 통합: ~/todo/parking-lot.mddaejong-page/parking-lot.md 동일화 12항목 (b347a45)

submit-app ASC territory cache — 양방향 자율 사이클

  • 09:37 KST — 본진: 기상 후 9개 todos 확인, WSL 자율 작업 후보 4개 정리
  • 09:56 KST — 본진 → WSL 디렉티브 발송 (METHOD A, wsl-directive.sh)
    • 작업명: submit-app/asc-territory-cache-skeleton
    • 브랜치: wsl/submit-app-asc-territory-cache-2026-05-03
  • WSL 수행 (09:56~10:04 KST):
    • claude-skills/submit-app/asc-cache/ 디렉토리 생성
    • territories.json 빈 골격 (스키마: version/fetched_at/source/territories[]/unavailable[])
    • README.md 45줄 (셋업·사용·비용·역할분리 설명)
    • asc-territory-verify.py 리팩토링: PLACEHOLDER_174_ITEMSload_territories() (경로 우선순위: —cache-path → env → DEFAULT_CACHE_PATH)
    • 파일 없으면 SystemExit, 빈 배열이면 WARN + 빈 list 반환 (dry-run 정상 종료)
    • PR #18 (claude-skills), PR #8 (automations) OPEN
  • 본진 수행 (10:04~10:28 KST):
    • PR #8 squash merge → f7db3d9 (automations)
    • PR #18 squash merge → b562b72 (claude-skills)
    • ASC API GET /v2/appAvailabilities/6764308678/territoryAvailabilities 실호출
    • 결과: available=174 (KOR/USA/FRA/DEU/GBR … XKS), unavailable=[“CHN”]
    • territories.json 실데이터 채우기 → bccf637
    • dry-run 검증: “174 territory records + CHN 1 unavailable” PASS

knowhow 정비 — coverage map + 3건 일반화

  • 10:41 KST — issues ↔ knowhow coverage map 작성 (PR #27 → d4d3cc0):
    • 35 issues / 11 knowhow 전수 비교
    • 이미 있음 22건 / 일반화 후보 11건 / 단발 4건 / 회색지대 4건
  • 11:00 KST — batch s: 3건 일반화 (PR #28 → 20ef1a0):
    • 2026-05-03-irun-device-lock-precheck.md — iOS device 잠금 시 Flutter 오탐 대응
    • 2026-05-03-google-signin-ios-gidclientid-precheck.md — google_sign_in GIDClientID+URL scheme 셸 게이트
    • 2026-05-03-launchd-register-verification-gate.md — launchctl bootstrap 직후 list 검증 게이트
    • index.json: 14 entries (3 추가)
    • 남은 8건은 별도 사이클

gpt-relay v0

  • 11:28 KST — PR #9 squash merge → dad769f (automations):
    • Claude Code 출력 → OpenAI Responses API → reply.md 단방향 중계
    • scripts/gpt-relay/gpt_relay.py (함수 3개: load_config / call_gpt / main)
    • 디폴트: gpt-4o-mini + max_output_tokens 2000 + temperature 0.3 + 시니어 페어 프로그래머 system_prompt
    • API 키: OPENAI_API_KEY 환경변수 (하드코딩 금지)
    • config.example.json + README.md (셋업·비용·확장 안내)
  • 강대종의 GPT 복붙 사이클 자동화 1차 안

세션 마무리 (11:19~11:21 KST)

  • session-close: lotto-calc 후속 2개 parking-lot 추가 (ec8e857):
    • StatsScreen 차트 시각화 (fl_chart)
    • 통계 알고리즘 S4+ (짝홀/합계/연속)
  • parking-lot stale 정리: 단어장 앱 항목 삭제 (단어요 LIVE 흡수) (ecf6dfc)

인프라·스킬·자동화

  • WSL ↔ 본진 양방향 자율 사이클: METHOD A 디렉티브 → PR → merge → 실데이터 채우기 패턴 확인
  • gpt-relay v0로 Claude-GPT 단방향 체인 1차 구현

남은 작업

  • /submit-app 가드 실호출 wiring (ASC credentials 연결 + —apply 모드 검증)
  • 단어요 빌드/배포 Mac mini SoT 통합 (v1 출시 직전)
  • 한줄일기 스크린샷 A/B 1차 시안
  • knowhow 일반화 후보 8건 (batch s 이후 잔여)

관련 커밋

repoSHA메시지
daejong-page7cd1571fix(stack): 3060Ti tailnet OFF + OpenClaw 호스트 갱신 #26
daejong-pageb347a45parking-lot SoT 통합 mirror sync (12항목)
daejong-pageecf6dfcparking-lot stale 정리 (단어장)
daejong-pagec8405afauto-sync todos 2026-05-03
daejong-paged4d3cc0knowhow coverage map 35이슈/11knowhow #27
daejong-page20ef1a0knowhow batch 3건 일반화 #28
daejong-pageec8e857parking-lot lotto-calc 차트+S4+ 통계 추가
claude-skillsb562b72ASC cache skeleton+README #18
claude-skillsbccf637ASC 174 territory 채우기 (실데이터)
automationsf7db3d9asc-territory-verify cache 외부화 #8
automationsdad769fgpt-relay v0 Claude→GPT 중계 #9