{
  "schema": "backlog.inventory.v1",
  "ts_kst": "2026-05-22 22:35 KST",
  "track": "D (inventory-only · 정리/삭제/commit/revert/stash 실행 0)",
  "scope_note": "회장 지시 'foreign dirty 5건 + stash audit fail 3건' 인벤토리. 단 실측 결과 main working tree dirty 는 5가 아니라 640개 — 괴리를 정직히 기록(환각 금지). '5건'은 특정 FOREIGN_DIRTY_BLOCKER subset 추정이나 정확한 멤버십 미확정 → 별도 회장 확인 권장. 본 트랙은 inventory-only 라 어떤 경우에도 무행동.",
  "foreign_dirty_actual": {
    "main_workspace_working_tree_dirty_total": 640,
    "categorized": {
      "runtime_operational_churn_autogenerated": 104,
      "memory_reports_churn": 120,
      "memory_tasks_churn": 111,
      "code_script_config": 132,
      "memory_specs": 7,
      "memory_backups_deleted_D": 7,
      "기타_나머지": "memory/daily·sessions·plans 등 잔여"
    },
    "risk_assessment": {
      "runtime_operational_churn": "LOW — 봇/데몬이 쓰는 상태파일(bot-activity·member-status·pipeline-status·canary·audit-trail·dashboard/data). git-tracked 이라 finish-task git-gate 를 오염시키나, 실 코드 무관. .gitignore 또는 untrack 정책 필요(별도)",
      "code_script_config": "MEDIUM — 대부분 untracked(??) anu_v3/*.py 신규 모듈(auto_remediation_planner·batch_dependency_*·callback_* 등 prior local-only 스캐폴딩). 미머지 누적. 일부 tracked M: config/constants.json · utils/replacement_pr_runner.py(M)",
      "memory_reports_tasks_churn": "LOW~MEDIUM — task 산출물/보고서 누적. 다수가 정상 산출물이나 git-gate 오염원",
      "★replacement_pr_runner_observation": "utils/replacement_pr_runner.py 가 ' M'(tracked modified) 상태. 회장 금지대상 파일이 working tree 에서 dirty — 본 트랙은 inventory-only 라 미접촉. 별도 audit 권장(3-way blob: HEAD/origin-main/working-tree)"
    },
    "owner_task_attribution": "다수 미상(누적). finish-task git-gate quarantine 잔여 + prior 미머지 스택 추정. 정확 귀속은 per-file blame/mtime 별도 분석 필요",
    "separation_need": "HIGH — 640 dirty 는 callback/merge-ready 트랙과 절대 혼합 금지. 별도 'working tree 위생' triage task 로 분리(회장 결정). 본 batch 무관"
  },
  "stash_inventory": {
    "total": 10,
    "entries": [
      "stash@{0}: task-2623 other dirty files",
      "stash@{1}: task-2576 finish-task git-gate-bypass (task-2309/2310/2311 leftover events)",
      "stash@{2}: task-2570 finish-task git-gate-bypass (task-2569 leftovers + 256X events)",
      "stash@{3}: task-2569 finish-task GIT-GATE (test_replacement_pr_runner_2510.py + utils/replacement_pr_runner.py)",
      "stash@{4}: WIP pre-task-2568+3",
      "stash@{5}: task-2566 finish-task quarantine",
      "stash@{6}: task-2564 other files",
      "stash@{7}: WIP task-2562 (#115)",
      "stash@{8}: WIP task-2560 (#113)",
      "stash@{9}: WIP task-2554+2 (#106)"
    ],
    "risk": "MEDIUM — stash 누적 10개(5개 초과 WARN 정책 대상, feedback_stash_accumulation_doctrine). 일부 finish-task git-gate quarantine 기원. pop 강제 정책 미완(task-2571 후속). 본 트랙 무행동",
    "separation_need": "별도 stash 정리 task (회장 결정)"
  },
  "pre_existing_stash_audit_fail_3": {
    "tests": [
      "test_stash_origin_audit_compat.py::test_finish_task_sh_has_if_x_guard_for_stash_audit (L179)",
      "test_stash_origin_audit_compat.py::test_finish_task_sh_stash_audit_guard_appears_twice (L193)",
      "test_stash_origin_audit_compat.py::test_finish_task_sh_stash_before_greater_than_five_warn (L292)"
    ],
    "cause": "origin/main 의 scripts/finish-task.sh 가 테스트가 기대하는 stash audit guard(-gt 5 WARN · if-x guard · guard 2회 출현)를 미포함 → spec/impl mismatch. 본 PR 들과 완전 무관(pre-existing)",
    "owner_task": "finish-task stash audit guard 도입 미완 (task-2569/2571 계열 후속)",
    "risk": "LOW — callback/merge-ready 기능 무관. 매 full regression 에 3 fail 로 노이즈. 별도 backlog",
    "separation_need": "별도 backlog task 로 분리(회장 결정). 본 batch 무관"
  },
  "actions_taken": "NONE (inventory-only). 정리/삭제/commit/revert/stash/replacement_pr_runner 수정 0",
  "recommendation": "①working tree 위생 triage(640 dirty, 특히 runtime churn untrack/gitignore + 미머지 anu_v3 스캐폴딩 정리) ②stash 10개 정리 ③finish-task stash audit guard 도입(3 fail 해소) — 3건 모두 별도 task·회장 결정. callback/merge-ready 트랙과 혼합 금지"
}
