{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "anu_v3.isolated_worktree_evidence.v1",
  "title": "Isolated Worktree Evidence Source — task-2553+8",
  "description": "anu_v3.isolated_worktree_evidence_source 산출 메타데이터. fresh origin/main(7346df82) isolated worktree 에서 task-2553+1 F1-solo 6-file delta 를 재현해 산출한 evidence provenance. live workspace 무영향, git -C <isolated_wt> + sanitized env 전용.",
  "type": "object",
  "required": [
    "schema",
    "module",
    "module_version",
    "source_workspace_type",
    "fresh_base_sha",
    "isolated_effective_files",
    "live_workspace_referenced",
    "destructive_ops_on_live_or_other_worktree",
    "cleanup_policy",
    "clean_replacement_branch",
    "would_mutate_live_branch_on_real_pr_open"
  ],
  "additionalProperties": true,
  "properties": {
    "schema": { "const": "anu_v3.isolated_worktree_evidence.v1" },
    "module": { "const": "anu_v3.isolated_worktree_evidence_source" },
    "module_version": { "type": "string", "minLength": 1 },
    "ts_utc": { "type": "string" },
    "source_workspace_type": {
      "type": "string",
      "enum": ["isolated_clean_worktree", "live_workspace"],
      "description": "evidence provenance 분류. 실 PR open 은 isolated_clean_worktree 만 신뢰 (runner §9-R.1 SEAL ②)."
    },
    "fresh_base_sha": {
      "type": "string",
      "const": "7346df8260803308df30a6d04ec32d66d4cdfa5b",
      "description": "fresh origin/main base (회장 §2)."
    },
    "isolated_effective_files": {
      "type": "array",
      "items": { "type": "string" },
      "description": "isolated worktree staged diff (git -C <wt> diff --cached --name-only) — 정확 6 파일이어야 ALLOW."
    },
    "isolated_head_sha": {
      "type": "string",
      "description": "staged(uncommitted) → 빈 문자열 가능 (PLANNED_DRY_RUN)."
    },
    "live_workspace_referenced": {
      "type": "boolean",
      "const": false,
      "description": "live workspace path/mtime 미참조 (9-R.2)."
    },
    "git_calls": { "type": "string" },
    "destructive_ops_on_live_or_other_worktree": {
      "type": "boolean",
      "const": false,
      "description": "live·타 worktree 대상 reset/clean/stash/rm/unlink/rmtree 0 (9-R.4)."
    },
    "cleanup_policy": {
      "type": "string",
      "const": "git worktree remove --force only"
    },
    "clean_replacement_branch": {
      "type": "string",
      "description": "회장 §5 / builder NEW_CLEAN_REPLACEMENT_BRANCH."
    },
    "clean_replacement_branch_checked_out_at": {
      "type": ["string", "null"],
      "description": "그 branch 가 다른(live/main) worktree 에 checkout 된 경로 (없으면 null)."
    },
    "would_mutate_live_branch_on_real_pr_open": {
      "type": "boolean",
      "description": "true → runner primitive ① git checkout -B 가 live branch ref reset → 실 PR open 구조적 HOLD (회장 §6/§7/§12)."
    }
  }
}
