Summary
Watch for changes to AGENTS.md/CLAUDE.md/CODEFRAME.md during long-running batch executions and hot-reload configuration without restarting. Inspired by Symphony's dynamic WORKFLOW.md reload pattern.
Motivation
During multi-hour batch runs (cf work batch run --all-ready), operators may need to adjust agent behavior — change the prompt, adjust concurrency, modify gate configuration. Currently this requires killing and restarting the batch. Symphony solves this with filesystem watching and automatic config reload.
This is lower priority because single-task execution is short-lived, but it becomes important for Phase 4 multi-agent scenarios where batch runs may run for hours.
Design
Scope (single session)
- File watcher: Use
watchdog or inotify to monitor config files for changes
- Reload logic in
core/agents_config.py:
- On file change: re-parse config
- Validate new config (don't apply if invalid)
- Log reload event with diff summary
- Apply to future task dispatches (don't restart in-flight agents)
- Integration with conductor:
core/conductor.py checks for config updates between task dispatches
- New concurrency/strategy settings apply to remaining tasks
- New prompt/agent settings apply to next agent launch
- Safety:
- Invalid config reload → keep last known good config, log error
- Config reload during agent execution → queued, applied after current task
What reloads dynamically
- Agent prompt / system prompt supplement
- Concurrency limits (
max_parallel)
- Gate configuration
- Hook scripts (for future tasks)
- Stall timeout
What requires restart
- Engine selection (react/plan)
- Workspace path
- Tech stack
Acceptance Criteria
Dependencies
Summary
Watch for changes to
AGENTS.md/CLAUDE.md/CODEFRAME.mdduring long-running batch executions and hot-reload configuration without restarting. Inspired by Symphony's dynamicWORKFLOW.mdreload pattern.Motivation
During multi-hour batch runs (
cf work batch run --all-ready), operators may need to adjust agent behavior — change the prompt, adjust concurrency, modify gate configuration. Currently this requires killing and restarting the batch. Symphony solves this with filesystem watching and automatic config reload.This is lower priority because single-task execution is short-lived, but it becomes important for Phase 4 multi-agent scenarios where batch runs may run for hours.
Design
Scope (single session)
watchdogorinotifyto monitor config files for changescore/agents_config.py:core/conductor.pychecks for config updates between task dispatchesWhat reloads dynamically
max_parallel)What requires restart
Acceptance Criteria
cf work batch statusshows "config reloaded at HH:MM:SS" if reload occurredDependencies