{
  "schema_version": "anu_v2.effective_diff.v1",
  "task_id": "task-2547+1",
  "computed_at": "2026-05-11T00:00:00Z",
  "base_commit": "2bae7b7bd8f9fb816c6dcf2fef35d452529ce8fc",
  "base_ref": "origin/main",
  "branch": "task/task-2547+1-dev6-fix",
  "diff_files_count": 4,
  "expected_files_count": 4,
  "effective_diff_equals_expected_files": true,
  "diff_files": [
    "dashboard/helpers.py",
    "report_parser.py",
    "scripts/start_task_guard.py",
    "tests/regression/test_task_id_parser_v3.py"
  ],
  "expected_files": [
    "dashboard/helpers.py",
    "report_parser.py",
    "scripts/start_task_guard.py",
    "tests/regression/test_task_id_parser_v3.py"
  ],
  "diff_stat": {
    "dashboard/helpers.py": {"additions": 13, "deletions": 2},
    "report_parser.py": {"additions": 9, "deletions": 4},
    "scripts/start_task_guard.py": {"additions": 3, "deletions": 1},
    "tests/regression/test_task_id_parser_v3.py": {"additions": 254, "deletions": 0}
  },
  "totals": {"additions": 279, "deletions": 7, "files_changed": 4},
  "forbidden_path_violations": 0,
  "forbidden_paths_audited": [
    "anu_v2/**",
    "memory/poc/**",
    "tests/poc/**",
    "tools/poc/**",
    ".github/workflows/**",
    "memory/events/task-2487*",
    "memory/tasks/task-2487*"
  ],
  "pr_95_diff_files_intentionally_excluded": [
    "dispatch/__init__.py",
    "scripts/auto_merge.py",
    "scripts/done-watcher.py",
    "scripts/notify-completion.py",
    "scripts/pattern-detector.py",
    "scripts/report_utils.py",
    "scripts/token-tracker.py",
    "teams/shared/verifiers/browser_verify.py",
    "utils/task_id_parser.py",
    "tests/regression/test_dashboard_report_hardening_2487.py",
    "tests/regression/test_dispatch_hardening_2487.py",
    "tests/regression/test_dotphase_compat_2487.py",
    "tests/regression/test_legacy_compat_2487.py",
    "tests/regression/test_scripts_hardening_2487.py"
  ],
  "exclusion_rationale": "PR #95 의 18 files 무비판 확대 금지 (회장 §명시). 본 task-2547+1 의 본질은 Gemini fresh review 4 fix + 회귀 박제 1건. task-2487 hardening 의 잔여 산출물은 후속 task 분리.",
  "regression_test_count_new": 45,
  "regression_test_count_related_existing": 60,
  "regression_test_total_pass": "105/105"
}
