feat(agent): hierarchical executor with path resolve, runtime probe, quiet UI
CI / build-gateway (push) Failing after 16s
CI / sync-config (push) Failing after 0s

Make Zed Agent closer to Cursor: deterministic DevOps path index, live Traefik
port probe before blind edits, stop-after-edit, and quieter Russian progress.
This commit is contained in:
2026-08-13 11:41:27 +03:00
parent 6fd2f0e689
commit a2d238d92e
71 changed files with 10617 additions and 449 deletions
+81 -1
View File
@@ -32,9 +32,89 @@ redis:
ttl_sec: 1800
classifier:
# heuristic | hybrid (default) | llm
mode: hybrid
llm_model: gigachat-classifier
low_confidence_threshold: 0.6
timeout_sec: 15
max_tokens: 64
# Strong Max plan → cheap coder workers/executor → conditional DeepSeek verify
hierarchical:
enabled: true
trigger_tiers: [COMPLEX, REASONING]
header: X-AI-Orchestrate # off | auto | force
planner_model: novita-planner
verifier_model: novita-verifier
planner_fallback: b-complex
verifier_fallback: b-complex
verify_policy: on_fail_or_hard
verify_input: digests
synthesize_model: a-medium-code
plan_confirm: true
agent_executor_model: a-medium-code
agent_escalate_model: b-complex
agent_escalate_after_edit_failures: 2
skip_synthesize_if_single: true
max_subtasks: 3
max_verify_retries: 1
plan_max_tokens: 1024
verify_max_tokens: 384
synthesize_max_tokens: 1024
worker_max_tokens: 768
wall_clock_sec: 600
digest_chars: 300
call_timeout_sec: 300
# First turn (kickstart read) can stay longer; after read_file body Coder hangs —
# tool_loop uses short timeout + escalate_after_read → DeepSeek.
executor_timeout_sec: 90
executor_num_retries: 0
executor_input_chars: 16000
executor_tool_loop_chars: 12000
executor_tool_loop_timeout_sec: 45
executor_newest_tool_chars: 3500
executor_minimal_context: true
executor_max_tools: 6
executor_tool_desc_chars: 120
executor_tools_full_chars: 8000
executor_max_tokens: 1024
executor_use_stream: false
executor_synthetic_on_timeout: true
# First turn only: synthetic read_file on plan path if model returns prose.
# Mid-loop still stops (no fake edits).
executor_synthetic_mode: kickstart_only
executor_max_synthetic_continues: 1
executor_max_edit_failures: 4
executor_midloop_model_retry: true
executor_midloop_escalate: true
# After successful read_file skip DeepSeek (was 408→400 loop) → edit_file
executor_force_edit_after_read: true
# After a successful read_file, skip cheap coder — it stalls on fat tool results
executor_escalate_after_read: true
# Rewrite read_file on already-read paths → edit (breaks re-read loops)
executor_rewrite_reread: true
# When model returns 200 without tool_calls: one escalate retry before kickstart
executor_no_tools_escalate: true
# After plan approve: 1) deterministic path index 2) if gaps → cheap find_* model
path_resolve_enabled: true
path_resolve_model: a-simple
path_resolve_timeout_sec: 45
path_resolve_max_tools: 3
# DevOps (*.calentiq.com / Bad Gateway): probe live ports before edit
runtime_probe_enabled: true
runtime_probe_timeout_sec: 8
# Optional: ssh host for docker inspect (empty = TCP probe from gateway only)
runtime_probe_ssh_host: ""
# Quiet Zed: milestones only (no ctx bars / LiteLLM waits / subtask dumps)
progress_verbose: false
show_context_fill: false
progress_in_content: true
stream_progress: true
context_window_tokens: 32768
plan_input_chars: 48000
llm_cache_ttl_sec: 3600
worker_map:
simple: a-simple
medium_code: a-medium-code
hard: b-complex
worker_map_max:
hard: c-complex