{
  "marker_version": "v1",
  "marker_type": "chair_verbatim_signature_per_axis",
  "recorded_at": "2026-05-24T12:15:00+09:00",
  "recorded_by": "ANU_chair_facing_session",
  "source_attribution": "LOG_LOOKUP_OR_SCHEDULE_HISTORY_VERIFICATION",

  "chair_authorization_id": "CHAIR-AUTH-AXIS-1-20260524-<ANU가_랜덤_생성하지_말고_이_문자열_그대로_기록>",
  "chair_authorization_id_recorded_verbatim_no_anu_random_generation": true,
  "chair_authorization_id_anu_self_check": "회장 verbatim 명시: 'ANU가 랜덤 생성하지 말고 이 문자열 그대로 기록'. ANU가 random suffix 자체 생성 0. placeholder 문자열을 chair_authorization_id value로 그대로 박제.",

  "axis_id": 1,
  "axis_name": "callback_authority_gate",
  "axis_source_task": "task-2646",
  "axis_finalize_commit": "09372a419757da090b5260d24d769145f433caa4",
  "axis_branch": "task/task-2646-dev3",
  "axis_packet_ref": "memory/events/chair-signature-packet-axis-1-callback-authority-gate-260524.json",

  "authorization_scope": {
    "in_scope": [
      "task-2646 helper 3종 (utils/callback_registration.py + utils/callback_authority_validator.py + utils/callback_source_cross_checker.py)",
      "dispatch.py shim (helper re-export 부분만)",
      "schemas/callback_authority_marker_v1.json",
      "schemas/callback_state_enum_v1.json"
    ],
    "out_of_scope_forbidden": [
      "Axis 2 (task-2644+1 hooks/utils/schemas _v2 일체)",
      "Axis 3 (task-2643 PreToolUse runtime guard)",
      "live settings.json 수정",
      "live cokacdir 임의 수정",
      ".github 수정",
      "hooks live path 수정 (Axis 2 영역)",
      "real auto-merge",
      "PR #141 pilot",
      "BOT App token 사용",
      "commit/push/PR/merge (단 Axis 1 helper merge는 본 signature 범위 내 허용)",
      "HARNESS_ENFORCED 전체 선언",
      "callback system verified 전체 선언"
    ]
  },

  "authorization_purpose": "Axis 1 live activation 후 첫 dispatch cycle에서 실제 callback authority gate가 동작하는지 검증",

  "required_real_values_8_chair_verbatim": {
    "1_real_cron_registration": 1,
    "2_registration_argv_generated": true,
    "3_real_cron_id_fired": true,
    "4_schedule_history_present": true,
    "5_cron_history_owner_key_match": "ANU key c119085addb0f8b7",
    "6_result_artifact_present": true,
    "7_ledger_row_appended": true,
    "8_live_callback_enforcement": 1
  },

  "required_smoke_S1_S6": [
    "S1: dispatch.py + ANU key → PASS",
    "S2: direct cron + ANU key → PASS",
    "S3: self-key fail-closed → detected",
    "S4: helper bypass detect → detected",
    "S5: envelope-actual mismatch → OWNER_KEY_MISMATCH",
    "S6: 4 source cross-check all PASS"
  ],

  "report_format_required": "AXIS_1_LIVE_ACTIVATION_ATTEMPTED · 8 실제값 + S1-S6 + forbidden_action_count + rollback_trigger 여부 + next_action만 포함",
  "success_expression": "AXIS_1_CALLBACK_AUTHORITY_GATE_LIVE_VERIFIED",
  "fail_expression_a": "AXIS_1_ROLLBACK_REQUIRED",
  "fail_expression_b": "AXIS_1_HOLD_FOR_CHAIR",

  "binding_axis_only": "Axis 1 단독 · chair_authorization_id == AXIS_1 only · Axis 2/3에 재사용 절대 불가",
  "absence_behavior_after_signature": "chair_authorization_id가 본 marker에 박제된 verbatim 값과 정확히 일치할 때만 helper가 live activation 모드로 동작 가능",

  "chair_directive_ref": "회장 verbatim 2026-05-24 Axis 1 단독 chair_authorization_id 발급"
}
