# Copy this file to a deployment-specific path. The committed target remains
# disabled so validation and dry runs cannot contact external services.

[github]
owner = "tidbcloud"
repo = "tidb-management-service"
token_env = "AI_TRIAGE_GITHUB_TOKEN"
api_url = "https://api.github.com"
api_version = "2026-03-10"

[agent]
command = ["opencode", "acp"]
prompt_path = "prompts/triage_knowledge.md"
knowledge_paths = [
  "docs/knowledge/gha-triage-evidence.md",
  "docs/knowledge/triage-experience-rules.md",
  "docs/knowledge/scenario-framework/triage-context.md",
  "docs/knowledge/scenario-framework/failure-patterns.md",
]
timeout_seconds = 300

[monitor]
poll_interval_seconds = 60
lookback_seconds = 86400
max_pages_per_target = 10
state_path = "ai-triage-state/state.sqlite3"
lease_seconds = 600
retry_base_seconds = 30
retry_max_seconds = 1800
max_attempts = 10
retention_days = 30

[feishu]
webhook_env = "AI_TRIAGE_FEISHU_WEBHOOK"
app_id_env = "LARK_APP_ID"
app_secret_env = "LARK_APP_SECRET"

[oncall]
api_key_env = "ONCALL_API_KEY"
base_url = "https://oncall.pingcap.net"
group_name = "ONCALL"
timeout_seconds = 10
cache_ttl_seconds = 60

[routing]
api_team_map_path = "routing/api-team-map.toml"

[owners]
product = ""
case = ""
infrastructure = ""

[output]
directory = "ai-triage-results"

[limits]
max_log_bytes = 2000000
max_evidence_chars = 50000
max_agent_output_chars = 20000
max_acp_protocol_bytes = 1000000

[[targets]]
id = "dedicated-gcp-staging-smoke"
enabled = false
workflow = "e2e-openapi-dedicated-scenario.yaml"
branch = "main"
allowed_scenario_steps = ["Run scenario cases"]
