Add enabled toggle to AutoAgent, simplify unconscious scheduling

- AutoAgent.enabled: universal toggle for any auto agent
- Subconscious: should_trigger checks auto.enabled
- Unconscious: simplified from consolidation-plan-driven budgets to
  simple loop with cooldown. Static agent list, max 2 concurrent.
- TUI: unconscious agents shown in F3 subconscious screen under
  separator, with enabled/running/runs display

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
ProofOfConcept 2026-04-09 00:41:18 -04:00
parent ddfdbe6cb1
commit 1df49482fd
5 changed files with 99 additions and 94 deletions

View file

@ -107,6 +107,7 @@ struct App {
should_quit: bool,
context_info: Option<ContextInfo>,
agent_state: Vec<crate::mind::SubconsciousSnapshot>,
unconscious_state: Vec<crate::mind::UnconsciousSnapshot>,
walked_count: usize,
channel_status: Vec<ChannelStatus>,
idle_info: Option<IdleInfo>,
@ -130,6 +131,7 @@ impl App {
should_quit: false,
context_info: None,
agent_state: Vec::new(),
unconscious_state: Vec::new(),
walked_count: 0,
channel_status: Vec::new(), idle_info: None,
}
@ -370,6 +372,7 @@ async fn run(
idle_state.decay_ewma();
app.update_idle(&idle_state);
app.agent_state = mind.subconscious_snapshots().await;
app.unconscious_state = mind.unconscious_snapshots().await;
app.walked_count = mind.subconscious_walked().await.len();
if !startup_done {
if let Ok(mut ag) = agent.state.try_lock() {