From 8a2af3091d5530d781afde8d5fae4a272fc57928 Mon Sep 17 00:00:00 2001 From: nanobot Date: Thu, 18 Jun 2026 07:43:13 +0200 Subject: [PATCH] dream: 2026-06-18 06:38, 4 change(s) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [MEMORY] Duplicate wiki sources (same URL as already-compiled source) should be detected and moved to `_hard/` [MEMORY] Wiki uses graph layer with ontology.yaml [MEMORY] Wiki graph regeneration: run `wiki_graph_lint.py` + `wiki_graph_extract.py` after each ingest batch that adds graph metadata [SKILL] wiki-compile: idempotent wiki source compilation — check if pages already exist (skip if so), detect duplicate URLs → `_hard/`, handle ambiguous/conflicting sources → `_hard/` + log, move processed to `_done/`, run graph lint+extract after batch --- memory/.dream_cursor | 2 +- memory/MEMORY.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/memory/.dream_cursor b/memory/.dream_cursor index 755152b..e24b797 100644 --- a/memory/.dream_cursor +++ b/memory/.dream_cursor @@ -1 +1 @@ -359 \ No newline at end of file +361 \ No newline at end of file diff --git a/memory/MEMORY.md b/memory/MEMORY.md index dc40cb3..b20eaa1 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -87,7 +87,9 @@ This file stores important information that should persist across sessions. - Wiki lint rule: lint is report-only, never make destructive edits to existing wiki pages without user confirmation - Wiki compilation runs in isolated background sessions without user interaction (batch/hands-off mode) - Wiki idempotency rule: if wiki pages already exist for a source, treat as done, move raw file to `_done/`, skip reconciliation +- Duplicate wiki sources (same URL as an already-compiled source) must be detected and moved to `_hard/` - Every processed source must be moved out of `cml/raw/` to prevent cron reprocessing +- Wiki graph regeneration: run `wiki_graph_lint.py` + `wiki_graph_extract.py` after each ingest batch that adds graph metadata - Wiki source pages need explicit `slug` field (e.g. `slug: source-flash-attention`) and `graph.node_id` + `canonical: true` to avoid UNIQUE constraint collision with concept/entity pages sharing the same filename stem - `wiki_graph_extract.py` patched: skip duplicate slugs (first wins) instead of crashing on `nodes.slug` UNIQUE constraint