dream: NREM does not exclude prior traces
NREM in the reframe is replay-and-consolidation of recent encoded content. Excluding previously_retrieved sources turns NREM into novelty-finding, which is Late REM's job. NREM should re-traverse already-encoded content; that's what consolidation is. The May 2 abort surfaced this — 52 sources accumulated in the exclusion list, all of them in NREM's similarity band for the recurring research/fabrication/teaching query. The dreamer hit zero retrievable chunks not because the corpus was empty, but because everything semantically aligned was excluded. Late REM and Early REM keep the exclusion mechanism — novelty is their job. Session-scoped exclusion (nrem_high_sources flowing into Early REM) also preserved. The 500/400 trim on retrieved_sources is preserved for the remaining stages that still use it.
This commit is contained in:
+3
-1
@@ -473,7 +473,9 @@ def dream_pipeline():
|
||||
|
||||
# ── Stage 1: NREM ──────────────────────────────────────────────────────
|
||||
print("\n[NREM] Retrieving...")
|
||||
nrem_chunks = retrieve("nrem", excluded_sources=previously_retrieved | session_retrieved)
|
||||
# NREM is replay-and-consolidation — does not exclude prior traces.
|
||||
# Late REM and Early REM exclude prior content for novelty; NREM does not.
|
||||
nrem_chunks = retrieve("nrem", excluded_sources=None)
|
||||
session_retrieved.update(c["source"] for c in nrem_chunks)
|
||||
# Track sources that scored above Early REM ceiling — these are the only ones Early REM should exclude
|
||||
nrem_high_sources = {c["source"] for c in nrem_chunks if c["similarity"] > 0.55}
|
||||
|
||||
Reference in New Issue
Block a user