{
  "schema": "anu_v3.pre_authorized_evidence_bundle.v1",
  "task_id": "task-2553+1",
  "evidence": {
    "task_identity": {
      "kind": "task_identity",
      "source": "task md 파일명 + dispatch marker + go-ready packet (3-way 일치)",
      "observed_value": {
        "go_ready_packet_task_id": "task-2553+1",
        "task_md_filename_task_id": "task-2553+1",
        "dispatch_marker_task_id": "task-2553+1"
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/task_id/3way"
    },
    "action_method_marker": {
      "kind": "action_method_marker",
      "source": "task-2553+1.md method 선언 (Option B clean replacement) + git(신규 branch ≠ source)",
      "observed_value": {
        "method": "clean_replacement_pr_open",
        "new_branch": "task/task-2553p1-f1-clean-replacement",
        "source_branch": "task/task-2553-dev5"
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/action_type/method+git"
    },
    "source_pr": {
      "kind": "source_pr",
      "source": "PR #102 source marker (identifier — packet authority allowed)",
      "observed_value": {
        "number": 102,
        "branch": "task/task-2553-dev5"
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/source_pr/identifier"
    },
    "source_pr_preservation": {
      "kind": "source_pr_preservation",
      "source": "git rev-parse task/task-2553-dev5 vs recorded PR#102 head",
      "observed_value": {
        "recorded_head_sha": "bd5ad74f5d443b354319fc8b3cb006816b8a9025",
        "recomputed_head_sha": "bd5ad74f5d443b354319fc8b3cb006816b8a9025"
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/source_pr/git-rev-parse"
    },
    "same_branch_push_zero": {
      "kind": "same_branch_push_zero",
      "source": "git rev-list --count bd5ad74f..task/task-2553-dev5",
      "observed_value": {
        "source_branch": "task/task-2553-dev5",
        "source_branch_push_count": 0
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/same_branch_push/rev-list"
    },
    "fresh_base": {
      "kind": "fresh_base",
      "source": "git rev-parse origin/main + git merge-base --is-ancestor 7346df82 origin/main",
      "observed_value": {
        "recorded_base_sha": "7346df8260803308df30a6d04ec32d66d4cdfa5b",
        "current_origin_main_sha": "7346df8260803308df30a6d04ec32d66d4cdfa5b",
        "is_ancestor": true
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/fresh_base/origin-main-ancestor"
    },
    "expected_files": {
      "kind": "expected_files",
      "source": "task-2553+6 §5 single-authority 6-file effective diff (#2=high_fix, D-SPEC-EXACTNESS)",
      "observed_value": {
        "files": [
          "anu_v2/owner_trigger_pat.py",
          "tests/regression/test_owner_trigger_2553_plus1_high_fix.py",
          "memory/reports/task-2553+1.md",
          "memory/events/task-2553+1.result.json",
          "memory/events/task-2553+1.red-evidence.log",
          "memory/events/task-2553+1.green-evidence.log"
        ]
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/expected_files/spec-authority"
    },
    "git_effective_diff": {
      "kind": "git_effective_diff",
      "source": "ISOLATED git -C <isolated_wt> diff --cached --name-only (detached HEAD == fresh origin/main 7346df82; task-2553+1 F1-solo 6-file delta replay, staged)",
      "observed_value": {
        "base_sha": "7346df8260803308df30a6d04ec32d66d4cdfa5b",
        "head_sha": "PLANNED_DRY_RUN",
        "files": [
          "anu_v2/owner_trigger_pat.py",
          "dashboard/data/naver-sa-stats.json",
          "memory/events/task-2553+1.green-evidence.log",
          "memory/events/task-2553+1.red-evidence.log",
          "memory/events/task-2553+1.result.json",
          "memory/reports/task-2553+1.md",
          "memory/whisper/status.json",
          "tests/regression/test_owner_trigger_2553_plus1_high_fix.py"
        ]
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/effective_diff/git-diff"
    },
    "forbidden_path_scan": {
      "kind": "forbidden_path_scan",
      "source": "effective_diff_files ∩ forbidden_write_targets (task-2553+6 §13)",
      "observed_value": {
        "forbidden_write_targets": [
          "anu_v3/pre_authorized_action_gate.py",
          "anu_v3/pre_authorized_contract_deriver.py",
          "anu_v3/pre_authorized_executor_binding.py",
          "schemas/pre_authorized_action_contract.schema.json",
          "schemas/pre_authorized_action_decision.schema.json",
          "schemas/pre_authorized_evidence_bundle.schema.json",
          "tests/regression/test_pre_authorized_action_gate.py",
          "tests/regression/test_pre_authorized_contract_derivation.py",
          "tests/regression/test_pre_authorized_executor_binding.py",
          "utils/anu_delegation_completion_callback.py",
          "memory/fixtures/task-2553+1.duplicate-callback-ignored.collector-regression-fixture.json",
          "tests/regression/test_completion_callback_dup_ignored_realworld_2553plus1.py",
          "dispatch.py",
          "scripts/finish-task.sh",
          "task-timer.py"
        ]
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/forbidden/intersection"
    },
    "critical_7_marker": {
      "kind": "critical_7_marker",
      "source": "task-2553+1 Critical-7 classification marker (structured)",
      "observed_value": {
        "critical_7": false
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/critical_7/marker"
    },
    "codex_verdict_marker": {
      "kind": "codex_verdict_marker",
      "source": "task-2553+1 Codex post-result marker `verdict` field",
      "observed_value": {
        "verdict": "PASS_WITH_RECOMMENDATIONS"
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/codex_verdict/marker"
    },
    "scope_declaration": {
      "kind": "scope_declaration",
      "source": "task-2553+1.md F1-only least-privilege scope 선언",
      "observed_value": {
        "requires_credential": false,
        "requires_owner_pat": false,
        "requires_actual_api": false,
        "requires_real_write": false,
        "requires_limited_real_write": false,
        "requires_merge": false,
        "requires_auto_closeout": false,
        "requires_dev_status_change": false,
        "declared_scope_files": [
          "anu_v2/owner_trigger_pat.py",
          "tests/regression/test_owner_trigger_2553_plus1_high_fix.py",
          "memory/reports/task-2553+1.md",
          "memory/events/task-2553+1.result.json",
          "memory/events/task-2553+1.red-evidence.log",
          "memory/events/task-2553+1.green-evidence.log"
        ]
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/scope/task-md"
    },
    "callback_policy_marker": {
      "kind": "callback_policy_marker",
      "source": "callback (a) STANDARDIZED marker (collector-only/no-write 인코딩)",
      "observed_value": {
        "normal": true,
        "fallback": true,
        "authority": "collector_only",
        "no_write": true,
        "no_dev_reactivation": true,
        "no_dispatch": true,
        "no_closeout": true
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/callback/marker+invariant"
    },
    "go_ready_packet_claims": {
      "kind": "go_ready_packet_claims",
      "source": "GO-ready packet self-asserted booleans (hint-only, 비권위 9-R.3)",
      "observed_value": {
        "claimed_booleans": {
          "same_branch_push": false,
          "fresh_base": true,
          "effective_diff_contamination": false,
          "critical_7": false,
          "credential_change_required": false,
          "owner_pat_touch_required": false,
          "actual_api_call_required": false,
          "real_write_required": false,
          "limited_real_write_entry_required": false,
          "scope_expansion": false,
          "merge_required": false,
          "auto_closeout": false,
          "dev_status_change": false
        }
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.3/packet-hint-only"
    },
    "credential_scan": {
      "kind": "credential_scan",
      "source": "git show bd5ad74f:anu_v2/owner_trigger_pat.py | scan(forbidden-patterns); F1 = endpoint/args allowlist 강화, token transport 무관 (task-2553+1 §2)",
      "observed_value": {
        "scanned": true,
        "hits": []
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/negative/credential"
    },
    "owner_pat_scan": {
      "kind": "owner_pat_scan",
      "source": "git show bd5ad74f:anu_v2/owner_trigger_pat.py | scan(forbidden-patterns); F1 = endpoint/args allowlist 강화, token transport 무관 (task-2553+1 §2)",
      "observed_value": {
        "scanned": true,
        "hits": []
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/negative/owner_pat"
    },
    "actual_api_scan": {
      "kind": "actual_api_scan",
      "source": "git show bd5ad74f:anu_v2/owner_trigger_pat.py | scan(forbidden-patterns); F1 = endpoint/args allowlist 강화, token transport 무관 (task-2553+1 §2)",
      "observed_value": {
        "scanned": true,
        "hits": []
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/negative/actual_api"
    },
    "real_write_scan": {
      "kind": "real_write_scan",
      "source": "git show bd5ad74f:anu_v2/owner_trigger_pat.py | scan(forbidden-patterns); F1 = endpoint/args allowlist 강화, token transport 무관 (task-2553+1 §2)",
      "observed_value": {
        "scanned": true,
        "hits": []
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/negative/real_write"
    },
    "limited_real_write_scan": {
      "kind": "limited_real_write_scan",
      "source": "git show bd5ad74f:anu_v2/owner_trigger_pat.py | scan(forbidden-patterns); F1 = endpoint/args allowlist 강화, token transport 무관 (task-2553+1 §2)",
      "observed_value": {
        "scanned": true,
        "hits": []
      },
      "collected_ts": "2026-05-16T22:18:32Z",
      "derivation_rule_id": "9-R.2/negative/limited_real_write"
    }
  },
  "_provenance": {
    "derived_by": "anu_v3.pre_authorized_contract_deriver",
    "evidence_bundle_sha256": "04bb75922fe10a1510b3407f776bf35b230e0313a3fbe7dc93a467265772a7f1",
    "recomputed_all_gate_booleans": true,
    "deriver_version": "1.0.0",
    "source_workspace_type": "live_workspace"
  },
  "_isolated_worktree_evidence": {
    "schema": "anu_v3.isolated_worktree_evidence.v1",
    "module": "anu_v3.isolated_worktree_evidence_source",
    "module_version": "1.0.0",
    "source_workspace_type": "live_workspace",
    "fresh_base_sha": "7346df8260803308df30a6d04ec32d66d4cdfa5b",
    "isolated_effective_files": [
      "anu_v2/owner_trigger_pat.py",
      "dashboard/data/naver-sa-stats.json",
      "memory/events/task-2553+1.green-evidence.log",
      "memory/events/task-2553+1.red-evidence.log",
      "memory/events/task-2553+1.result.json",
      "memory/reports/task-2553+1.md",
      "memory/whisper/status.json",
      "tests/regression/test_owner_trigger_2553_plus1_high_fix.py"
    ],
    "live_workspace_referenced": true,
    "destructive_ops_on_live_or_other_worktree": false,
    "cleanup_policy": "git worktree remove --force only",
    "clean_replacement_branch": "task/task-2553p1-f1-clean-replacement",
    "would_mutate_live_branch_on_real_pr_open": true
  }
}