{
  "fixture_id": "task-2553plus31.no-normal-callback-regression.v1",
  "schema": "executor_completion_contract.regression_fixture.v1",
  "purpose": "Reproduce the +29/+30/+31 ANU spec-interpretation ERROR: 'cron 신규 등록/제거 금지' was over-interpreted as NO-CRON to the point of dropping the executor's MANDATORY normal completion callback. This fixture is the canonical past-error case (§6.10) — the spec validator MUST FAIL it and the runtime classifier MUST land it on RESULT_READY_NO_NORMAL_CALLBACK (recovery, NOT a normal lifecycle complete).",
  "authority_ref": "memory/events/task-2553.normal-callback-mandatory-doctrine-correction_260518.json",
  "error_case": {
    "task_id": "task-2553+31",
    "spec_excerpt": "NO-CRON 변형: executor normal-collector cron 0. 회수 = result.json + .done 자기인식, checkpoint dogfooding.",
    "spec_has_normal_callback_clause_expected": false,
    "spec_validator_verdict_expected": "FAIL",
    "spec_validator_reason_expected_contains": "executor normal completion callback clause MISSING",
    "observed_runtime": {
      "dispatch_ok": true,
      "result_present": true,
      "done_present": true,
      "normal_callback_registered": false
    },
    "classification_expected": "RESULT_READY_NO_NORMAL_CALLBACK",
    "is_accepted_normal_lifecycle_expected": false,
    "is_recovery_state_expected": true,
    "callback_4tuple": {
      "schema": "callback_4tuple.v1",
      "task_id": "task-2553+31",
      "dispatch_cron_id": "DISP31",
      "normal_collector_cron_id": null,
      "fallback_callback_cron_id": "FB31"
    },
    "callback_4tuple_valid_expected": false,
    "callback_4tuple_invalid_reason_contains": "normal_collector_cron_id missing"
  },
  "corrected_case": {
    "task_id": "task-2553+32",
    "spec_has_normal_callback_clause_expected": true,
    "spec_validator_verdict_expected": "PASS",
    "callback_4tuple": {
      "schema": "callback_4tuple.v1",
      "task_id": "task-2553+32",
      "dispatch_cron_id": "DISP32",
      "normal_collector_cron_id": "NORM32",
      "fallback_callback_cron_id": "FB32"
    },
    "callback_4tuple_valid_expected": true,
    "closeout_evidence": {
      "result_json_present": true,
      "done_marker_present": true,
      "report_present": true,
      "normal_callback_registration_evidence": true,
      "normal_collector_cron_id": "NORM32",
      "claims_finalization_authority": false
    },
    "closeout_valid_expected": true
  },
  "no_cron_invariants": {
    "registry_checkpoint_cron_add_remove": 0,
    "plus32_executor_cron_remove": 0,
    "executor_completion_callback_is_cron_violation": false,
    "fallback_cancel_on_success_path_preserved": true
  },
  "no_actor_attribution_change": true
}
