{
  "meta": {"version": "2.0", "last_updated": "2026-04-04"},
  "sources": {
    "chat_id": {
      "file": "constants.json",
      "key": "chat_id",
      "used_by": [
        "dispatch.py",
        "scripts/activity-watcher.py",
        "scripts/auto_merge.py",
        "scripts/canary-test.py",
        "scripts/notify-completion.py",
        "scripts/ci-report.py",
        "scripts/autoresearch/runner.py",
        "tests/test_notify_completion.py",
        "tests/test_dispatch.py",
        "tests/conftest.py",
        "scripts/tests/test_notify_completion.py",
        "dashboard/server.py"
      ]
    },
    "workspace_root": {
      "file": "paths.json",
      "key": "roots.workspace",
      "used_by": [
        "dispatch.py",
        "config/system.yaml",
        "scripts/*.py (27 files)",
        "tests/*.py (18 files)"
      ],
      "_comment": "Phase 1.5 이후 scripts/ 및 tests/ 디렉토리의 대부분 파일에서 참조됨"
    },
    "team_bot_mapping": {
      "file": "constants.json",
      "key": "teams",
      "used_by": [
        "dispatch.py"
      ]
    },
    "dq_rules": {
      "file": "memory/specs/dq-rules.json",
      "key": null,
      "used_by": [
        "config/design-system.json"
      ],
      "_note": "design-system.json의 font_rules._ref에서 참조"
    },
    "design_palette": {
      "file": "design-system.json",
      "key": "palette",
      "used_by": [
        "dashboard/components/SkillView.js"
      ]
    },
    "thresholds": {
      "file": "constants.json",
      "key": "thresholds",
      "description": "idle_hours, ghost_hours 등의 임계값 설정",
      "used_by": [
        "scripts/whisper-compile.py",
        "scripts/whisper-save-guidance.py"
      ]
    },
    "cokacdir_key": {
      "file": "constants.json",
      "key": "cokacdir_key",
      "description": "$COKACDIR_KEY 환경변수 참조",
      "used_by": [
        "scripts/ci-report.py",
        "scripts/canary-test.py"
      ]
    },
    "team_to_bot": {
      "file": "constants.json",
      "key": "team_to_bot",
      "used_by": [
        "dispatch.py"
      ]
    },
    "bots": {
      "file": "constants.json",
      "key": "bots",
      "used_by": [
        "dispatch.py"
      ]
    },
    "work_levels": {
      "file": "constants.json",
      "key": "work_levels",
      "used_by": [],
      "_note": "아직 코드에서 직접 참조하지 않음. 향후 dispatch.py에서 레벨 검증 시 사용 예정"
    },
    "font_sizes": {
      "file": "memory/specs/dq-rules.json",
      "key": "font_sizes",
      "used_by": [
        "tools/dq_rules.py"
      ]
    },
    "design_md_library": {
      "file": "resources/design-md/INDEX.md",
      "key": null,
      "description": "58개 사이트 디자인 시스템 DESIGN.md 라이브러리. 인덱스, 검색 CLI, 템플릿 포함.",
      "used_by": [
        "scripts/design_md_search.py",
        "prompts/teams/design.md"
      ],
      "paths": {
        "index": "resources/design-md/INDEX.md",
        "template": "resources/design-md/TEMPLATE.md",
        "cli": "scripts/design_md_search.py",
        "sites_dir": "resources/design-md/"
      }
    }
  },
  "rules": {
    "modification_warning": "sources 내 값을 수정하면 used_by 목록의 모든 파일에 영향을 미칩니다. 수정 전 영향 범위를 반드시 확인하세요.",
    "addition_protocol": "새 단일 소스를 등록할 때 반드시 used_by 파일 목록을 함께 기재하세요.",
    "used_by_convention": "10개 이상의 파일이 참조할 경우 디렉토리 패턴(예: scripts/*.py (27 files)) 사용"
  }
}
