This project keeps deterministic diagnosis as the execution backbone. Planner Agent and Critic Agent can now run as live Bailian-backed LLM agents without adding autonomous code execution loops.
Multi-agent components are responsible for:
- repository understanding
- triage
- planning
- critique
Deterministic tools remain responsible for:
- scanning
- rule evaluation
- hard verification
- policy enforcement
Governor: orchestrates the whole diagnosis pass and bounded planning passTool Runner: runs the deterministic scanning and rule engine stackScanner Agent: converts raw artifacts into hotspot-oriented repo inventoryPlanner Agent: turns findings into bounded action stepsCritic Agent: checks plan scope and policy risksPolicy Engine: enforces protected path and file-scope guardrails
In addition to the original diagnosis artifacts, the tool now writes:
artifacts/repo_inventory.jsonartifacts/triage.jsonartifacts/action_plan.jsonartifacts/critic_review.jsonartifacts/planner_agent.jsonartifacts/critic_agent.jsonartifacts/model_routing.json
- governor / planner / triage / critic:
PLANNER_MODEL, fallbackDASHSCOPE_MODEL, defaultdeepseek-v3.2 - refactor / test fix / small bug fix:
CODER_MODEL, fallbackDASHSCOPE_MODEL, defaultqwen3-coder-flash - cheap summaries / PR copy / scan explanation:
DASHSCOPE_MODEL, defaultqwen3.5-flash - vector recall:
text-embedding-v4 - rerank:
qwen3-rerank
Provider environment variables are:
DASHSCOPE_API_KEYDASHSCOPE_BASE_URLDASHSCOPE_MODELCODER_MODELPLANNER_MODELENABLE_LIVE_AGENTS
Legacy compatibility:
BAILIAN_BASE_URLis still accepted as an alias forDASHSCOPE_BASE_URLBAILIAN_MODELis still accepted as an alias forDASHSCOPE_MODEL
Default routing source:
config/agent_models.json
Priority:
- internal fallback
- config file
- environment variables
Use:
python main.py --check-llm-configThe check reports:
- resolved provider config
- live agent runtime status
- planner / critic / coder / summary model health
If --output is also provided, the tool writes:
artifacts/llm_health_check.json
Planner and Critic may call a live LLM provider. Tool Runner and Policy Engine remain deterministic. No agent is allowed to execute code changes automatically.