You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tidy-up (dream) never reads concept bodies — duplicate/stale content is invisible and unfixable by it #40
Dream/tidy-up ("Consolidation assessment") only runs lint_knowledge + list_directory and can never fix content drift
What happens
The web UI "tidy up" (dream) run is assessed purely from lint_knowledge output, the directory tree and the recent update log — it never calls read_concept, so it has no access to concept bodies at all. Observed trace (kind: mutation, 37s):
So content problems that don't change link structure or frontmatter — duplicate sections (e.g. the same ## Host block re-appended as a stray top-level heading), stale numbers, contradictory statements inside bodies — are invisible to tidy-up and can never be healed by it, no matter how many times it is triggered. The run does hit the LLM (visible on a local backend), which makes it look like something happened while the bundle stays untouched.
Why this happens in practice
patch_conceptreplace_section matches top-level headings only. When a concept mixes H2 and H1 sections, a failed match results in the patched content being appended as a new top-level section instead of replacing the existing one — producing exactly the duplicate-section drift tidy-up is supposed to catch (see also #39 for the frontmatter side of untyped patches).
Suggested fixes
Give the dream/consolidation agent read access to recently-changed and/or high-risk concepts (at minimum read_concept for every concept touched in the recent window), so it can verify body-level consistency, not just links.
Instruct/hard-limit: "no action needed" must require that no duplicate top-level headings or duplicate section content exist — a deterministic pre-pass (e.g. count identical heading names per document) would flag these before the LLM even assesses.
Related: patch_concept should fail loudly when the target section heading is not found, instead of falling back to append — that fallback is what manufactures the drift this issue describes.
Activity