Problem
Consolidation demands full re-authoring: settle/supersede/synthesise/reopen require new_type + new_name + new_body (all mandatory, ConsolidateParams — kaeru-mcp/src/params.rs:413-424). There is no "just promote this node" mode. Result: the two-tier operational/archival model — the core of the design — doesn't work in practice: 4 outcomes and 2 summaries out of 1,245 nodes; knowledge stays "operational" forever.
Evidence (audit of 13,105 sessions)
- The only organic session that truly consolidated fought through 7 consecutive deserialize errors ("missing field new_name", "missing field new_body", …) — the agent expected a settle(name) signature.
- Even with an explicit tidy-up mandate the agent picks the cheap tool: in one user-commanded cleanup thread — 81 link, 72 layer(cold), 1 settle, 1 synthesise. Finished-stage episodes get demoted to cold instead of promoted to outcome. The five-step layer "temperature" has displaced the tier model.
- reopen (settle's mirror) = 0 calls: the name reads as "reopen a task/review", while the signature demands authoring a new node; in-place editing via revise (78) fully displaced tier movement.
- The second-highest-adoption project (51 sessions): 75 episode + 32 cite, including clearly final wrap-up nodes — and ZERO settle/synthesise/supersede calls in the project's history.
Proposal
- Promote-in-place:
settle(name) without new_* — inherit name and body; new_type by heuristic (episode→outcome, draft→idea). supersede: default new_type = the old node's type.
- Rename reopen (unsettle/demote), make new_* optional.
- Enumerate valid new_type/tier in the schemas (see the vocabulary errors issue).
Problem
Consolidation demands full re-authoring: settle/supersede/synthesise/reopen require new_type + new_name + new_body (all mandatory, ConsolidateParams — kaeru-mcp/src/params.rs:413-424). There is no "just promote this node" mode. Result: the two-tier operational/archival model — the core of the design — doesn't work in practice: 4 outcomes and 2 summaries out of 1,245 nodes; knowledge stays "operational" forever.
Evidence (audit of 13,105 sessions)
Proposal
settle(name)without new_* — inherit name and body; new_type by heuristic (episode→outcome, draft→idea). supersede: default new_type = the old node's type.