{
  "id": "OS_LEVEL_PICKUP_RUNNER_ARCHITECTURE_PENDING_ACTIVE_FALSE",
  "ts_kst": "2026-06-09 21:45 KST",
  "packet_doc": "memory/plans/p0b-pickup/os_level_pickup_runner_architecture_packet_260609.md",
  "direction_correction": "회장 2026-06-09: non-cokacdir direct launch 주경로 폐기. OS-level pickup runner 우선. 목표 재정의=agent 깨우기 아니라 result.json 활동-독립 수거·안전 처리. cokacdir agent wake=terminal relay/reporting 한정.",
  "method": "read-only — systemd units + entrypoint.sh + driver grep. 설치/구현/실행 0.",
  "key_finding": "OS-level pickup 인프라 이미 ~80% 존재(미설치). detection=anu-pickup.path(PathExistsGlob result.json→OS inotify, activity-independent). 문제 지점 단 1곳=build_launcher_fn→launch_wake→cokacdir --cron(inbound-coupling 유입). closeout 결정론화 시 coupling 근절.",
  "11_items_summary": {
    "1_detection_struct": "2계층: anu-pickup.path inotify(즉시) + (보강) systemd timer 60s(유실 safety-net) → .service oneshot → driver. 둘 다 OS, cokacdir 0",
    "2_decouple": "detection=systemd path/timer(scheduler_loop·inbound 비의존). processing=driver deterministic closeout(cokacdir wake 0). 수거·처리 전구간 cokacdir cron/inbound 의존 0",
    "3_devbot_contract": "dev bot=result.json(+report) 작성만, cokacdir --cron callback 등록 금지. enforce=prompt 명문+callback_schedule_created:false 필드+(선택)PreToolUse hook cokacdir --cron 차단",
    "4_sealed_key": "key=entrypoint argv 0+driver .env.keys 런타임 로드. hmac.compare_digest 상수시간. 로그/ledger/marker key literal 0(PR#196). owner-proof 조회도 --key transient only",
    "5_deterministic_closeout": "결정론 완결(다수): schema/readiness/legacy-skip/dedupe/owner-proof(cron-history)/scope/.done→.acked/marker. LLM 추론 불요→driver 직접 완결, cokacdir wake 0. 산출 collector_result.json+.done.acked",
    "6_wake_relay_only": "agent wake=결정론 못 끝낼 잔여만, 그때도 보고/relay 한정(merge/dispatch/PR 금지). wake 늦거나 coupling 돼도 데이터 유실 0(closeout 이미 완료)",
    "7_spawn_needed_or_not": "불필요(다수): green closeout/dedupe/legacy/NOOP/owner-proof PASS 단순.done. 필요(소수): Gemini 판정/모호 merge-ready/Critical7 종합보고/QUARANTINE 사유 해석/consolidated report→terminal relay 보고만. 원칙: 데이터안전=runner결정론 / 판단·보고=agent",
    "8_owner_proof": "verify_collector_authoritative 재사용: envelope schedule_id→cokacdir --cron-history --key ANU read-only 조회→OWNER_ANU. read(조회)만, fire(발사) 의존 0→coupling 무관·activity-independent. fail-closed→QUARANTINE(데이터 보존)",
    "9_legacy_single_dedupe": "legacy=activation_epoch 이전 NOOP_LEGACY_SKIP(128 무변동). 단일=path 이벤트당 task-<id> 1건 scope. dedupe=(task_id,sha256) ledger+.done.acked+flock single-flight",
    "10_active_false": "2 flag(p0b_driver_enabled+p0b_real_wake_enabled) OFF+systemd 미설치+path/timer 미enable→result.json 생겨도 트리거 0. 설계/regression/dry-run 만",
    "11_preconditions": ["path+timer 설계 확정", "deterministic closeout regression(각 verdict·wake 0)", "owner-proof cron-history 조회 inbound 무관 실증", "devbot callback-schedule 0 계약 enforce", "relay 경계(merge/dispatch/PR 0)", "dry-run 무부작용", "legacy 128 NOOP", "회장 승인 후 systemd 설치+통제 1회 canary", "real wake activation 회장 승인"]
  },
  "advantage_vs_direct_launch": "owner-proof/hook/workspace/권한경계 신규 재구현 0(기존 재사용). detection 이미 activity-independent. coupling 제거=launcher 위임 1곳 차단으로 충분. 데이터 안전이 agent 가용성·cokacdir scheduler 와 완전 분리. Simplicity First(새 launch 대신 80% 완성 인프라 마지막 coupling 만 끊음)",
  "open_questions": ["(a) path 단독 vs path+timer", "(b) collector_result.json schema/위치", "(c) terminal relay 수단(cron relay-only vs sendfile)", "(d) devbot callback 금지 enforce 강도"],
  "capability_matrix": {
    "detection_activity_independence": "SYSTEMD_PATH_READY (미설치)",
    "deterministic_closeout": "DRIVER_PARTIAL_EXISTS (launcher 위임 1곳 잔존)",
    "cokacdir_wake_role": "TERMINAL_RELAY_ONLY (설계)",
    "wake_fire_coupling": "REMOVED_BY_DESIGN (closeout 결정론화 시)",
    "ACTIVE": "false", "production_activation_gate": "HARD BLOCK"
  },
  "forbidden_now": ["production activation", "ACTIVE=true", "systemd 설치", "daemon restart", "direct Claude launch 구현", "추가 canary 실행"],
  "state_preserved": "canonical HEAD 75fdf540(task-2716) 무손상 / events 무변동 / p0b flags(driver/real_wake/epoch) ABSENT / systemd anu-pickup NOT installed / direct launch 미구현.",
  "verdict": "OS_LEVEL_PICKUP_RUNNER_ARCHITECTURE_PACKET_READY — detection=systemd path(이미 activity-independent), closeout=driver deterministic(owner-proof/dedupe/.done 직접 완결), cokacdir wake=terminal relay 한정. 수거·처리 전구간 cokacdir cron/inbound 의존 0. 비-cokacdir direct launch 불요. 구현/설치/canary=회장 별도 승인."
}
