{
  "schema": "anu.normal_callback_envelope.v1",
  "marker_type": "anu_callback_self_test_fire_confirmation",
  "marker_version": "v1",
  "task_id": "task-2661",
  "anu_key": "c119085addb0f8b7",
  "owner_key": "c119085addb0f8b7",
  "collector_role": "ANU",
  "callback_kind": "normal",
  "source_attribution": "DEV5_MARDUK_PHASE_2B_SCHEDULED_TASK_SELF_TEST",
  "canonical_root": "/home/jay/workspace",
  "envelope_state": "DELIVERED",
  "delivery_outcome": "DELIVERED",
  "confirmation": "CONFIRMED",
  "schedule_id": "F6D7C6E1",
  "schedule_at_kst": "2026-05-25T16:10:00+09:00",
  "registered_at_kst": "2026-05-25T16:09:30+09:00",
  "anu_spawn_observed_at_kst": "2026-05-25T16:10:14+09:00",
  "schedule_to_spawn_delta_seconds": 14,
  "policy_target_seconds": 30,
  "within_policy": true,
  "recorded_at": "2026-05-25T16:12:30+09:00",
  "recorded_by": "ANU_scheduled_callback_collector_F6D7C6E1",

  "phase_2b_production_validation": {
    "claim": "absolute timestamp 'YYYY-MM-DD HH:MM:SS' via finish-task.sh + dispatch helper produces live cokacdir runtime fire within 30s policy",
    "validated_in_production": true,
    "validation_method": "ANU collector self-spawn at scheduled fire time (★ 본 메시지 자체가 증거)",
    "validation_evidence": [
      "schedule_id F6D7C6E1 registered by dev5-marduk-bot at ~16:09:30 KST with --at '2026-05-25 16:10:00' (absolute timestamp)",
      "ANU collector spawn observed at 16:10:14 KST via cokacdir --currenttime (first call this run)",
      "spawn delta = 14s (≤ 30s policy target)",
      "schedule_type=absolute (per dev5 result · cokacdir dry-run A52CA89C precedent)",
      "envelope UTF-8 bytes 322 ≤ 3900 byte cap",
      "envelope includes callback_kind=normal · source_attribution=DEV5_MARDUK_PHASE_2B_SCHEDULED_TASK_SELF_TEST"
    ],
    "comparison_to_pre_remediation": {
      "task_2659_observed_idle_gap_pre_remediation_seconds": 840,
      "task_2661_self_test_observed_fire_delta_post_remediation_seconds": 14,
      "reduction_factor_approx": 60
    }
  },

  "anu_collector_safety_anchors_preserved": {
    "dev5_bot_result_overwritten": false,
    "dev5_bot_report_overwritten": false,
    "result_path_referenced_only": "memory/events/task-2661.callback-normal-fire-delay-remediation-p2b-result-260525.json",
    "report_path_referenced_only": "memory/reports/task-2661.md",
    "executor_owner_separation": "schedule registered with owner_key=c119085addb0f8b7 (ANU) · executor_key was dev5 launch session (per dev5 result · self-key fail-closed defensive passed at registration)",
    "fallback_module_touched": false,
    "axis_runtime_touched": false,
    "cokacdir_binary_touched": false,
    "live_settings_touched": false,
    "code_infra_mutation": "zero"
  },

  "dev5_bot_artifacts_referenced": {
    "result_json": {
      "path": "memory/events/task-2661.callback-normal-fire-delay-remediation-p2b-result-260525.json",
      "recorded_by": "dev5_marduk_bot",
      "current_status_chair_facing": "CALLBACK_NORMAL_FIRE_DELAY_REMEDIATION_P2B_HOLD_FOR_CHAIR",
      "regression_8_8_total_pass": 26,
      "regression_8_8_total_fail": 0,
      "forbidden_action_count": 0,
      "anu_normal_callback_self_test_pre_recorded_fire_at": "2026-05-25T16:10:00+09:00",
      "anu_normal_callback_self_test_pre_recorded_schedule_id": "F6D7C6E1"
    },
    "report_md": {
      "path": "memory/reports/task-2661.md",
      "title": "CALLBACK_NORMAL_FIRE_DELAY_REMEDIATION_PHASE_2B_ABSOLUTE_AT",
      "regression_total_label": "26 / 26 ALL PASS"
    },
    "task_done": {
      "path": "memory/events/task-2661.done",
      "first_line": "CALLBACK_NORMAL_FIRE_DELAY_REMEDIATION_P2B_HOLD_FOR_CHAIR"
    }
  },

  "hold_for_chair_chain_unchanged": {
    "anu_authority_to_resolve_hold": false,
    "reason": "ghs_ (BOT App token) 부재 · OWNER PAT only → ANCHOR-8 발동 · 봇/ANU 자율 push/PR 금지 · 회장 verbatim 결정 필요",
    "next_chair_decision_required_3_unchanged": [
      "commit 2d6dbee0 push + PR 생성 결정 (회장 직접 push or ghs_ 발급)",
      "task-2660 commit c6425611 (worktree task-2660-dev1) 보존/폐기 결정",
      "Phase 3 fallback launcher 분리 / Phase 4 threshold enforce 진행 여부 (별도 회장 verbatim 강제)"
    ]
  },

  "linked_markers": [
    "memory/events/task-2661.callback-normal-fire-delay-remediation-p2b-result-260525.json (★ dev5 bot result · pre-fire prediction)",
    "memory/reports/task-2661.md (★ dev5 bot report)",
    "memory/events/task-2661.done (★ dev5 bot done)",
    "memory/events/task-2661.dispatch-submitted-phase-2b-absolute-at-260525.json (★ ANU dispatch marker)",
    "memory/events/callback-fire-at-delay-audit-packet-260525.json (★ ANU audit packet)",
    "memory/events/task-2660.hold-for-chair-plus-cokacdir-10s-reject-incident-260525.json (★ Phase 2 사고 · Phase 2b 사유)",
    "/home/jay/.cokacdir/schedule_history/963056D5.log (★ dispatch parent · status:ok ts:2026-05-25T16:10:26.388+09:00)",
    "/home/jay/.cokacdir/schedule_history/F6D7C6E1.log (★ 본 self-test 실행 로그 · 본 ANU 종료 후 기록)"
  ]
}
