{
  "marker_version": "v1",
  "marker_type": "spawn_visibility_false_negative_prevention_guard_packet_ready",
  "recorded_at": "2026-05-25T12:15:00+09:00",
  "recorded_by": "ANU_chair_facing_session",
  "source_attribution": "INFERENCE_ONLY",
  "packet_id": "SPAWN-VISIBILITY-FALSE-NEGATIVE-PREVENTION-GUARD-260525",
  "supersedes_packet": null,
  "chair_directive_origin": "회장 verbatim 2026-05-25 (지금 다음 작업은 spawn visibility false negative 재발 방지다 · 끝 sentinel 확인)",
  "chair_authorization_id_required_verbatim": "(★ 회장 verbatim 발행 대기 · ANU 임의 생성 금지)",

  "sago_basis": {
    "incident_marker": "memory/events/task-2657.axis-3-canary-scale-aware-guard-implemented-chair-verified-260525.json (★ WARN 1 initial_spawn_visibility_gap)",
    "anu_false_negative_at_kst": "2026-05-25T11:57:24+09:00 (★ task-2657 schedule_id=426931FE / fire_at 11:46:52 후 10분 30초)",
    "anu_check_location_used_only": "/home/jay/workspace/.worktrees/ (★ main repo .git/worktrees 컨벤션만)",
    "actual_bot_worktree_revealed_by_chair_callback": "/home/jay/.cokacdir/workspace/426931FE/wt-2657-dev6 (★ schedule_id 디렉터리 + wt-<task_id>-<team>)",
    "classification": "FALSE_NEGATIVE_SPAWN_VISIBILITY (★ silent drop 4신호 박제 적용 시 location coverage 누락)"
  },

  "non_negotiable_anchors_chair_verbatim": [
    "Axis 3 canary는 real_t0+24h 도달 전까지 RUNNING 승격 0",
    "observer chain은 계속 유지 (★ 본 task 진행 중에도 monitoring 격리)",
    "live settings.json · PreToolUse runtime · Axis 1/2 runtime · dispatch.py · live cokacdir · hooks/* 변경 0",
    "commit/push/PR/merge 0",
    "회장 본 세션 적용 0 · ANU collector 세션 적용 0"
  ],

  "required_implementation_8_chair_verbatim": {
    "1_spawn_visibility_check_candidate_paths_min_2": [
      "/home/jay/workspace/.worktrees/ (★ main repo 컨벤션)",
      "/home/jay/.cokacdir/workspace/<schedule_id>/wt-<task_id>-<team>/ (★ cokacdir 봇 컨벤션)"
    ],
    "2_schedule_id_based_workspace_dir_check": "★ /home/jay/.cokacdir/workspace/<schedule_id>/ 존재 확인",
    "3_task_id_based_wt_dir_check": "★ wt-<task_id>-* glob pattern · 두 후보 위치 모두 grep",
    "4_executor_process_check": "★ ps 명령어 + pattern match (★ 봇 spawn 별칭 분기 고려)",
    "5_schedule_history_check": "★ /home/jay/.cokacdir/schedule_history/<schedule_id>.log",
    "6_result_report_done_marker_check": "★ memory/events/<task_id>.done + memory/events/<task_id>.*-result-*.json + memory/reports/<task_id>.md",
    "7_callback_envelope_or_result_present_silent_drop_forbidden": "★ 6 source 중 일부가 없더라도 callback envelope 또는 result marker가 있으면 silent drop 단정 금지 (★ false negative 차단 핵심 anchor)",
    "8_status_enum_separation_5": [
      "SPAWN_VERIFIED (★ worktree dir + executor process + first response NOT-refusal 3 신호)",
      "SPAWN_PENDING (★ fire 후 짧은 시간 경과 · 부분 신호만 관찰)",
      "SPAWN_VISIBILITY_GAP (★ 일부 source 부재 + 다른 source 있음)",
      "CALLBACK_RECOVERED_AFTER_VISIBILITY_GAP (★ ANU 초기 ABSENT 측정 후 result/report/done 또는 callback envelope 도착)",
      "TRUE_SILENT_DROP (★ 모든 source 부재 + 일정 시간 경과)"
    ]
  },

  "required_regression_6_chair_verbatim": [
    {"id": "R1", "scenario": "legacy /home/jay/workspace/.worktrees/ 위치 worktree 존재", "expected": "SPAWN_VERIFIED"},
    {"id": "R2", "scenario": "/home/jay/.cokacdir/workspace/<schedule_id>/wt-<task_id>-<team>/ 위치 worktree 존재", "expected": "SPAWN_VERIFIED"},
    {"id": "R3", "scenario": ".worktrees에는 부재 · cokacdir에만 worktree 존재", "expected": "SPAWN_VERIFIED (★ false negative 금지 핵심)"},
    {"id": "R4", "scenario": "executor process 부재 · result/report/done 모두 존재", "expected": "CALLBACK_RECOVERED_AFTER_VISIBILITY_GAP"},
    {"id": "R5", "scenario": "전 source 부재 + fire 시각으로부터 hard_timeout 경과", "expected": "TRUE_SILENT_DROP"},
    {"id": "R6", "scenario": "schedule_history 부재 · 다른 source 부분 부재 · fire 후 짧은 시간 경과", "expected": "SPAWN_PENDING (★ 단정 금지)"}
  ],

  "forbidden_chair_verbatim_10": [
    "Axis 3 RUNNING 선언",
    "full rollout",
    "HARNESS_ENFORCED 전체 선언",
    "policy 승격",
    "BLOCK 정책 확대",
    "PreToolUse runtime 변경",
    "Axis 1/2 runtime 변경",
    "live settings.json 변경",
    "dispatch.py 변경",
    "commit/push/PR/merge"
  ],

  "completion_status_enum_chair_verbatim_2": [
    "SPAWN_VISIBILITY_FALSE_NEGATIVE_PREVENTION_GUARD_READY (★ packet 박제만)",
    "SPAWN_VISIBILITY_FALSE_NEGATIVE_PREVENTION_GUARD_IMPLEMENTED (★ 코드 구현 + 6 regression all PASS)"
  ],

  "current_status": "SPAWN_VISIBILITY_FALSE_NEGATIVE_PREVENTION_GUARD_PACKET_READY (★ 본 marker 시점 · code implementation 별도 회장 결정 대기)",

  "design_decisions_anu_recommendation_chair_decision_required": {
    "module_location_recommendation": {
      "option_a_anu_general_tool": "utils/anu_spawn_visibility_guard/* (★ Axis 3 외 일반 ANU 도구 분리 · 모든 dispatch 검증에 재사용 · ANU 추천)",
      "option_b_axis_3_extension": "utils/axis_3_canary_scale_aware_guard/spawn_visibility.py (★ task-2657 모듈 확장)",
      "anu_recommendation_rationale": "본 guard는 Axis 3 한정 아닌 모든 dispatch 후 spawn 검증에 적용 · option_a 권장"
    },
    "callback_envelope_definition": {
      "anu_question": "★ callback envelope 정의 = (a) memory/.callback_inbox/* JSONL 또는 (b) result marker 자체 · 회장 verbatim 명시 필요",
      "anu_default_assumption": "result marker 또는 done marker 존재 = callback evidence (★ 회장 정정 시 spec 변경)"
    },
    "hard_timeout_for_true_silent_drop": {
      "anu_question": "★ TRUE_SILENT_DROP 판정 기준 시간 (fire 후 N 분) · 회장 verbatim 명시 필요",
      "anu_default_proposal": "30분 (★ 봇 spawn + first response 평균 시간 + 2σ 여유 · 회장 정정 시 변경)"
    },
    "executor_recommendation": {
      "option_a_dev6_perun": "★ task-2657 직 executor · scale-aware guard 컨벤션 익숙 · 권장",
      "option_b_dev5_marduk": "★ task-2656 직 executor · canary 흐름 컨텍스트 보유",
      "option_c_anu_direct": "★ ANU 직 구현 (자기 도구이므로 · 그러나 직접 코딩 금지 anchor 위반)",
      "anu_recommendation": "option_a dev6 페룬"
    },
    "scope_recommendation": {
      "anu_recommendation": "FULL_IMPLEMENTATION (★ packet만 박제 시 ANU 측정 결함 재발 우려)"
    }
  },

  "next_action_required_chair_decision_6": [
    "chair_authorization_id verbatim 발행 (★ ANU 임의 생성 0)",
    "module_location 선택 (option_a anu_general_tool OR option_b axis_3_extension)",
    "callback_envelope_definition verbatim 명시",
    "hard_timeout_for_true_silent_drop verbatim 명시 (★ default 30분 · 회장 정정 가능)",
    "executor 선택 (dev6 페룬 권장)",
    "scope 선택 (FULL_IMPLEMENTATION 권장)"
  ],

  "current_axis_3_canary_monitoring_unchanged": {
    "current_status": "AXIS_3_CANARY_SAFE_TRAFFIC_SAMPLE_RECORDED + MONITORING_SILENT_CONTINUE_WITH_TRAFFIC_SAMPLE",
    "real_t0_plus_24h_target": "2026-05-25T19:51:35+09:00",
    "remaining_hours_approx": 7.6,
    "running_promotion_blocked_until_24h": true,
    "anu_action_count_in_canary_monitoring": 0
  },

  "anu_action_count": 1,
  "anu_polling_count": 0,
  "anu_direct_collector_spawn": 0,
  "code_infra_mutation": 0,
  "commit_push_pr_merge_count": 0,

  "linked_markers": [
    "memory/events/task-2657.axis-3-canary-scale-aware-guard-implemented-chair-verified-260525.json (★ WARN 1 direct 후속)",
    "memory/events/task-2657.axis-3-canary-scale-aware-guard-result-260525.json (★ executor result · WARN 1 발견 근거)",
    "memory/events/task-2656.task-2657.chair-acceptance-dispatch-submitted-260525.json (★ ANU 11:57:24 false negative 측정 기록)",
    "memory/events/scale-aware-prevention-guard-packet-axis-3-260525.json (★ ANU packet 패턴 참조)"
  ]
}
