daemon: add distill agent to consolidation plan

Add distill_count to ConsolidationPlan, daemon health metrics,
and TUI display. Distill agent now participates in the
consolidation budget alongside replay, linker, separator,
transfer, organize, and connector.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kent Overstreet 2026-03-16 17:10:09 -04:00
parent f555fa3c8e
commit e049d4437f
3 changed files with 40 additions and 13 deletions

View file

@ -480,6 +480,7 @@ fn compute_graph_health(store: &crate::store::Store) -> GraphHealth {
plan_transfer: plan.transfer_count,
plan_organize: plan.organize_count,
plan_connector: plan.connector_count,
plan_distill: plan.distill_count,
plan_rationale: plan.rationale,
computed_at: crate::store::format_datetime_space(crate::store::now_epoch()),
}
@ -607,6 +608,8 @@ pub struct GraphHealth {
pub plan_transfer: usize,
pub plan_organize: usize,
pub plan_connector: usize,
#[serde(default)]
pub plan_distill: usize,
pub plan_rationale: Vec<String>,
pub computed_at: String,
}
@ -995,15 +998,16 @@ pub fn run_daemon() -> Result<(), String> {
transfer_count: h.plan_transfer,
organize_count: h.plan_organize,
connector_count: h.plan_connector,
distill_count: h.plan_distill,
run_health: true,
rationale: Vec::new(),
};
let runs = plan.to_agent_runs(5);
log_event("scheduler", "consolidation-plan",
&format!("{} agents ({}r {}l {}s {}t)",
&format!("{} agents ({}r {}l {}s {}t {}d)",
runs.len(), h.plan_replay, h.plan_linker,
h.plan_separator, h.plan_transfer));
h.plan_separator, h.plan_transfer, h.plan_distill));
// Phase 1: Agent runs — sequential within type, parallel across types.
// Same-type agents chain (they may touch overlapping graph regions),
@ -1400,9 +1404,9 @@ pub fn show_status() -> Result<(), String> {
indicator(gh.episodic_ratio, 0.4, false), gh.episodic_ratio * 100.0,
gh.sigma);
let total = gh.plan_replay + gh.plan_linker + gh.plan_separator + gh.plan_transfer + 1;
eprintln!(" consolidation plan: {} agents ({}r {}l {}s {}t +health)",
total, gh.plan_replay, gh.plan_linker, gh.plan_separator, gh.plan_transfer);
let total = gh.plan_replay + gh.plan_linker + gh.plan_separator + gh.plan_transfer + gh.plan_distill + 1;
eprintln!(" consolidation plan: {} agents ({}r {}l {}s {}t {}d +health)",
total, gh.plan_replay, gh.plan_linker, gh.plan_separator, gh.plan_transfer, gh.plan_distill);
}
eprintln!();