# ClawCodex upstream-sync configuration
# See docs/UPSTREAM_SYNC_DESIGN-decoupling.md for design rationale.

project_name: "clawcodex"
source_lang: "python"

upstream:
  remote_url: "https://github.com/agentforce314/clawcodex.git"
  # ``upstream`` is the GitCode integration repository in this fork; keep the
  # canonical source repository on an unambiguous remote.
  remote_name: "source-upstream"
  main_branch: "main"
  vendor_branch: "upstream/vendor"
  # Use git short commit hash as version tag (e.g. "b125e16")
  version_tag_format: "{commit}"
  source_subpath: "src"

layers:
  - name: "upstream"
    paths:
      - "src/upstream"
      - "src/upstream/{commit}"
    allowed_imports_from: []
    forbidden_imports_from: []

  - name: "capabilities"
    paths:
      - "extensions/capabilities"
    allowed_imports_from: []
    forbidden_imports_from:
      - "src.upstream"
    # F-48 D-1: capabilities 路径从 src/capabilities 改为 extensions/capabilities。
    # 实际代码全在 extensions/capabilities/,src/capabilities 物理不存在。
    # 详见 docs/decisions/F48-decisions.md D-1 裁决。

  - name: "features"
    paths:
      - "extensions/orchestrator"
      - "extensions/api"
      - "src/providers"
      - "src/hooks"
      - "src/permissions"
    allowed_imports_from:
      - "src.capabilities"
    forbidden_imports_from:
      - "src.upstream"
      - "src.agent"
      - "src.tool_system"
      - "src.context_system"

patches:
  # Patches stored per upstream commit hash, e.g. patches/upstream/b125e16/
  directory: "patches/upstream"
  engine: "git-am"           # quilt requires CLI installation; git-am is git-native
  # Per-commit patch subdirectory (recommended for large patch sets)
  # When set, patches are loaded from patches/upstream/{commit}/
  # instead of the flat patches/ directory
  patch_subdir: "patches/upstream/{commit}"
  # Note: the {commit} placeholder is resolved at apply time
  metadata_dir: "patches/metadata/upstream"

sync:
  impact_threshold_auto: "low"
  impact_threshold_agent: "medium"
  report_formats:
    - "json"
    - "markdown"