organize: fine-grained agent logging + cluster size cap

Add progress callback to run_one_agent and run_and_apply so callers
can see: prompt size, node list, LLM call timing, parsed action
count, and per-action applied/skipped status. Daemon writes these
to the persistent event log via log_event.

Cap organize cluster to 20 nodes - 126 nodes produced a 682KB
prompt that timed out every time. Agent has tools to explore
further if needed. Restore general query for production runs.
This commit is contained in:
ProofOfConcept 2026-03-13 20:25:19 -04:00
parent 01aba4c12b
commit 4cacfa7599
4 changed files with 56 additions and 6 deletions

View file

@ -125,11 +125,17 @@ fn job_consolidation_agent(
) -> Result<(), TaskError> {
let agent = agent_type.to_string();
let batch = batch_size;
run_job(ctx, &format!("c-{}", agent), || {
let job_name = format!("c-{}", agent);
let job_name2 = job_name.clone();
run_job(ctx, &job_name, || {
ctx.log_line("loading store");
let mut store = crate::store::Store::load()?;
ctx.log_line(&format!("running agent: {} (batch={})", agent, batch));
let (total, applied) = super::knowledge::run_and_apply(&mut store, &agent, batch, "consolidate")?;
let log = |msg: &str| {
ctx.log_line(msg);
log_event(&job_name2, "progress", msg);
};
let (total, applied) = super::knowledge::run_and_apply_with_log(&mut store, &agent, batch, "consolidate", &log)?;
ctx.log_line(&format!("done: {} actions ({} applied)", total, applied));
Ok(())
})
@ -147,7 +153,8 @@ fn job_rename_agent(
let batch = if batch_size == 0 { 10 } else { batch_size };
ctx.log_line(&format!("running rename agent (batch={})", batch));
let result = super::knowledge::run_one_agent(&mut store, "rename", batch, "consolidate")?;
let log = |msg: &str| ctx.log_line(msg);
let result = super::knowledge::run_one_agent(&mut store, "rename", batch, "consolidate", &log)?;
// Parse RENAME actions from response (rename uses its own format, not WRITE_NODE/LINK/REFINE)
let mut applied = 0;