Add proactivity features: memory CLI, session pruning, self-repair notifications, slash commands, status diagnostics, context warnings

Closes the proactivity gap with six features:

- Memory CLI (`ironclaw memory search/read/write/tree/status`) for direct workspace access without starting the full agent
- Session pruning background task that evicts idle sessions (configurable TTL, default 7 days)
- Self-repair notifications broadcast recovery results through channel manager instead of silent logging
- `/heartbeat`, `/summarize`, `/suggest` slash commands for manual heartbeat trigger, thread summarization, and next-step suggestions
- `ironclaw status` diagnostics command checking DB, session, secrets, embeddings, WASM tools, channels, heartbeat, and MCP servers
- Context pressure warning that notifies users before auto-compaction fires

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
Illia Polosukhin
2026-02-05 19:28:13 -08:00
co-authored by Claude Opus 4.6
parent 1c9f9db420
commit f3c85f57fc
10 changed files with 960 additions and 17 deletions
+10
View File
@@ -229,6 +229,11 @@ pub struct AgentSettings {
/// Maximum repair attempts.
#[serde(default = "default_max_repair_attempts")]
pub max_repair_attempts: u32,
/// Session idle timeout in seconds (default: 7 days). Sessions inactive
/// longer than this are pruned from memory.
#[serde(default = "default_session_idle_timeout")]
pub session_idle_timeout_secs: u64,
}
fn default_agent_name() -> String {
@@ -251,6 +256,10 @@ fn default_repair_interval() -> u64 {
60 // 1 minute
}
fn default_session_idle_timeout() -> u64 {
7 * 24 * 3600 // 7 days
}
fn default_max_repair_attempts() -> u32 {
3
}
@@ -269,6 +278,7 @@ impl Default for AgentSettings {
use_planning: true,
repair_check_interval_secs: default_repair_interval(),
max_repair_attempts: default_max_repair_attempts(),
session_idle_timeout_secs: default_session_idle_timeout(),
}
}
}