{
  "id": "OS_LEVEL_PICKUP_RUNNER_SPEC_VALIDATION_PENDING_ACTIVE_FALSE",
  "ts_kst": "2026-06-09 23:00 KST",
  "packet_doc": "memory/plans/p0b-pickup/os_level_pickup_runner_spec_validation_packet_260609.md",
  "purpose": "IMPLEMENTATION_SPEC_PACKET 구현 task 발행 전 D-SPEC-EXACTNESS self-check. 통과선언 아니라 실코드 verbatim 대조로 drift 적발+정정.",
  "self_check_result": "PASS_WITH_CORRECTIONS — 실코드 grep 대조로 3 DRIFT 적발+정정",
  "drifts_found": {
    "DRIFT_1_dry_run_absent": "spec §12 가 process_one(dry_run=True) 가정했으나 실 시그니처에 dry_run 부재. 정정: dry-run=launcher_fn/relay_fn 미주입+isolated temp dir 주입(신규 플래그 미도입 권장). 시그니처 오류·정정 필수",
    "DRIFT_2_owner_2layer": "owner outcome OWNER_*(ANU_OWNED/NOT_ANU_OWNED_OR_ACCESS_DENIED/QUERY_FAILED/PENDING_OWNER_PROOF)=resolve_authoritative_owner 내부 L1. process_one 분기=verify.verdict==VERDICT_AUTHORITATIVE(AUTHORITATIVE) L2. 정정: §6 처리표 2-레이어 표기, closeout 분기 L2 기준·세부사유 L1 collector_result 기록",
    "DRIFT_3_pickup_done_marker": "spec §7 이 idempotency 마커를 memory/events/<task_id>.done→.done.acked(CLAUDE.md 팀 프로토콜)로 오기술. 실 driver/runner 마커=<task_id>.pickup.done+acked_path(runner L187 done_path or acked_path). 정정: collector closeout 마커=pickup.done 계열, 팀 .done 프로토콜과 혼용 금지·정정 필수"
  },
  "verbatim_confirmed": "VERDICT 9종·OWNER 4종·VERDICT_AUTHORITATIVE 상수명 일치 / collector_result.json 미존재=신규 / anu-pickup.timer 미존재=신규",
  "13_items_summary": {
    "1_self_check": "PASS_WITH_CORRECTIONS(3 DRIFT 정정 후 lint 진입. 정정 전 dispatch 금지)",
    "2_expected_files": "신규5(anu-pickup.timer/anu_collector_result.py/anu_terminal_relay.py/test 2~3) + 수정2(anu_pickup_driver.py process_one/devbot prompt) + 재사용수정0 5(owned_callback_enforcement/result_pickup_runner/entrypoint/path/service) + 후속1(PreToolUse hook)",
    "3_file_purpose": "timer=path보완 / collector_result.py=schema+atomic writer raw key0 / terminal_relay.py=2-tier sendfile·cron / tests=isolated regression / driver=L2 AUTHORITATIVE↔launcher 사이 closeout 삽입 / devbot prompt=callback 계약",
    "4_forbidden_write": "owner-proof 핵심(resolve/verify/probe 수정0)·.env.keys·harness·canonical reset/clean/stash/checkout-f·기존 events128·p0b flags(enable/설정 금지)·path/service/entrypoint 수정0",
    "5_closeout_done": "조건: target+schema PASS+not legacy+readiness PASS+dedupe miss+L2 AUTHORITATIVE(L1 OWNER_ANU)+scope PASS+agent_relay.required=false. 동작: collector_result(done_acked) atomic+pickup.done 마커+ledger append. launcher/relay 0(wake 0)",
    "6_agent_relay": "required=true 5(quarantine_reason/gemini_finding/merge_ready_ambiguous/critical7/consolidated_report)→cron ANU relay 1회(merge/dispatch/PR 금지). false=green CLOSEOUT_DONE(선택 sendfile)",
    "7_owner_4outcome_2layer": "OWNER_ANU→AUTHORITATIVE→green / OWNER_NOT_ANU·QUERY_FAILED→≠AUTHORITATIVE fail-closed QUARANTINE / OWNER_PENDING→retry NOOP_NOT_READY. self_key_used:true 거부·stale REJECT·read-only coupling 무관",
    "8_idempotency": "(a)dedupe ledger(task_id,sha256) (b)<task_id>.pickup.done+acked_path(driver 전용·팀 .done 별개) (c)flock single-flight. path재발화/timer중복/재부팅→SKIP 1회",
    "9_legacy_epoch": "epoch 부재→skip(epoch_absent fail-open 금지)/mtime<epoch→NOOP_LEGACY_SKIP/mtime≥epoch→정상. events128 무변동",
    "10_callback_enforce_loc": "3위치: devbot prompt 명문 / result.json 필수필드 callback_schedule_created:false / runner 검증(부재·true→contract_violation 기록). 즉시=관측, 차단=후속 hook",
    "11_hook_followup": "dev bot 세션 settings PreToolUse hook: Bash cokacdir --cron 패턴 deny. 결선+미적용시 dispatch 거부 fail-closed. false positive 회피=별도 task 설계만 구현0",
    "12_external_lint": "REQUIRED YES(Lv.3+ governance). Codex 9 체크: DRIFT정정반영/closeout 삽입이 surface-only·ACTIVE=false 불변/owner-proof read-only(--cron 0)/relay merge·dispatch·PR 정적차단/legacy·epoch fail-closed/raw key0/idempotency race 1회/forbidden_write 가드/callback 관측·차단 분리. lint=dispatch 직전·lint 전 dispatch 금지",
    "13_chair_approval": "1.DRIFT 정정 spec 승인 2.expected_files 최종 승인 3.external lint 실행 승인 4.lint HIGH/CRITICAL 0 후 dispatch 승인 5.systemd 설치·flag·epoch=구현 후 별도 activation 승인 6.ACTIVE=false 유지"
  },
  "capability_matrix": {
    "self_check": "PASS_WITH_CORRECTIONS (3 DRIFT 정정)",
    "external_lint": "REQUIRED_NOT_YET_RUN",
    "spec_status": "NOT_LOCKED (정정+lint 전)",
    "ACTIVE": "false", "production_activation_gate": "HARD BLOCK"
  },
  "forbidden_now": ["구현", "PR", "systemd 설치", "ACTIVE=true", "production queue 처리", "daemon restart", "direct Claude launch", "추가 canary 실행", "external lint 전 dispatch"],
  "state_preserved": "canonical HEAD 75fdf540(task-2716) 무손상 / events 무변동 / p0b flags(driver/real_wake/epoch) ABSENT / systemd anu-pickup NOT installed / 구현 0.",
  "verdict": "OS_LEVEL_PICKUP_RUNNER_SPEC_VALIDATION_PACKET_READY — self-check PASS_WITH_CORRECTIONS(DRIFT-1 dry_run 부재·DRIFT-2 owner 2-레이어·DRIFT-3 pickup.done 마커). expected_files 5신규+2수정+5재사용+1후속. external lint(Codex) 9항목 REQUIRED. spec NOT_LOCKED. 정정→lint 승인→lint GREEN→dispatch 승인 순. 구현/설치/canary=회장 별도 승인."
}
