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
- WSL PR #26 → 본진 00:21 KST squash merge →
- 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.md↔daejong-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.md45줄 (셋업·사용·비용·역할분리 설명)asc-territory-verify.py리팩토링:PLACEHOLDER_174_ITEMS→load_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
- PR #8 squash merge →
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(셋업·비용·확장 안내)
- Claude Code 출력 → OpenAI Responses API →
- 강대종의 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 이후 잔여)
관련 커밋
| repo | SHA | 메시지 |
|---|---|---|
| daejong-page | 7cd1571 | fix(stack): 3060Ti tailnet OFF + OpenClaw 호스트 갱신 #26 |
| daejong-page | b347a45 | parking-lot SoT 통합 mirror sync (12항목) |
| daejong-page | ecf6dfc | parking-lot stale 정리 (단어장) |
| daejong-page | c8405af | auto-sync todos 2026-05-03 |
| daejong-page | d4d3cc0 | knowhow coverage map 35이슈/11knowhow #27 |
| daejong-page | 20ef1a0 | knowhow batch 3건 일반화 #28 |
| daejong-page | ec8e857 | parking-lot lotto-calc 차트+S4+ 통계 추가 |
| claude-skills | b562b72 | ASC cache skeleton+README #18 |
| claude-skills | bccf637 | ASC 174 territory 채우기 (실데이터) |
| automations | f7db3d9 | asc-territory-verify cache 외부화 #8 |
| automations | dad769f | gpt-relay v0 Claude→GPT 중계 #9 |