Summary
Extend Nightwatch drift detection with stagnation metrics and automatic redirection strategies when agents stop making progress.
Approach
Stagnation Detection
- Extend
DriftMetrics with novelty_score, learning_velocity, quality_trend
- Add
observe_evolution() method and StagnationLevel classification
- Detect stagnation: 3+ consecutive windows with no new lessons
Redirection Strategies (tried in order)
- Prompt variation: Append "Previous approaches exhausted. Try different angle: [prior approach summary]"
- Model rotation: Force different model via
RoutingEngine override
- Task decomposition: Split into sub-tasks, hand off to fresh agents
Safeguards
- Require 3 consecutive stagnant windows before first redirect
- Cap at 3 redirections per agent per day
- All redirections logged as
Process lessons
Critical Files
crates/terraphim_orchestrator/src/nightwatch.rs -- StagnationMetrics, observe_evolution(), StagnationLevel
crates/terraphim_orchestrator/src/lib.rs -- handle CorrectionAction::RedirectStrategy
Acceptance Criteria
Dependencies
Summary
Extend Nightwatch drift detection with stagnation metrics and automatic redirection strategies when agents stop making progress.
Approach
Stagnation Detection
DriftMetricswith novelty_score, learning_velocity, quality_trendobserve_evolution()method andStagnationLevelclassificationRedirection Strategies (tried in order)
RoutingEngineoverrideSafeguards
ProcesslessonsCritical Files
crates/terraphim_orchestrator/src/nightwatch.rs-- StagnationMetrics, observe_evolution(), StagnationLevelcrates/terraphim_orchestrator/src/lib.rs-- handle CorrectionAction::RedirectStrategyAcceptance Criteria
cargo test --workspacepassesDependencies