{
  "fixture_id": "task-2553plus39.artifact-root-false-missing.v1",
  "schema": "artifact_root_resolver.regression_fixture.v1",
  "purpose": "Reproduce the +39 artifact-root false-missing case (회장 §2.2/§3.C / diagnosis report_items.2): the fallback/dead-man collector first looked at the autoset/current cwd (/home/jay/.cokacdir/workspace/autoset — NO memory/events) and concluded the +39 artifact was missing, but the CANONICAL root /home/jay/workspace/memory/events actually contained the +39 result/collector-result. The resolver MUST re-check the canonical root and yield RESULT_PRESENT or NORMAL_COLLECTOR_COMPLETED, NEVER RESULT_MISSING/DISPATCH_NOT_RECEIVED.",
  "authority_ref": "memory/events/task-2553-callback-lifecycle-diagnosis_260518.json",
  "chat_id": "6937032012",
  "canonical_anchor": {
    "canonical_root": "/home/jay/workspace",
    "autoset_cwd_root": "/home/jay/.cokacdir/workspace/autoset",
    "autoset_has_memory_events": false,
    "canonical_events_dir": "/home/jay/workspace/memory/events",
    "canonical_plus39_result": "memory/events/task-2553+39.result.json",
    "canonical_plus39_collector_result": "memory/events/task-2553+39.collector-result.json",
    "canonical_plus39_present": true
  },
  "case": {
    "task_id": "task-2553+39",
    "result_basename": "task-2553+39.result.json",
    "lookup_from_autoset_cwd": true,
    "dispatch_stale": false,
    "verdict_expected_one_of": ["RESULT_PRESENT", "NORMAL_COLLECTOR_COMPLETED"],
    "verdict_forbidden": ["RESULT_MISSING", "DISPATCH_NOT_RECEIVED"],
    "autoset_only_miss_blocked_expected": true,
    "search_order_first_expected": "/home/jay/workspace"
  },
  "autoset_only_miss_block_case": {
    "description": "regression 11 — an autoset-cwd missing memory/events MUST NOT alone produce RESULT_MISSING; canonical re-check is mandatory before any missing verdict.",
    "autoset_events_dir_present": false,
    "canonical_re_checked_before_missing": true
  },
  "true_missing_case": {
    "description": "regression 12 — only when the canonical root has nothing AND no schedule_history for this chat AND the dispatch is stale -> RESULT_MISSING / BOT_STALE candidate.",
    "task_id": "task-2553+NONEXISTENT-ZZZ",
    "canonical_present": false,
    "schedule_history_seen": false,
    "dispatch_stale": true,
    "verdict_expected": "RESULT_MISSING"
  },
  "no_cron_invariants": {
    "resolver_write_cron_dispatch": 0,
    "read_only": true
  },
  "no_actor_attribution_change": true
}
