self-review 2026-07-24: boot counter — demote to telemetry weight, restore persistence via HTTP write-back
Three stale soul:boot_count copies (salience .9, importance .9, Canonical: +0.2 tier bias, 0.15 threshold) held the top WM slots for 23h — a boot counter outcompeting real context. Demoted to salience .55 / importance .2 / tier Working: plumbing, not memory. Persistence was also broken: in HTTP-engram mode the server owns state and nothing wrote the counter back — the log shows boot #5 on three consecutive boots. mem_boot_count_inc now mirrors the persona write-back: delete stale server copies (matched by content prefix — route_create_node sets label=content), create the replacement server-side. Working tier is in the boot seed (/api/nodes) but excluded from periodic /api/sync, so the count survives restarts without re-importing mid-session. Verified: restart incremented 1->2 with exactly one server-side counter node.
This commit is contained in:
+18
-1
@@ -236,7 +236,24 @@ fn auto_term_try_slot(slot_type: String, slot_lbl: String) -> Void {
|
||||
if !str_eq(slot_lbl, "") {
|
||||
let sp: Int = str_find_chars(slot_lbl, " :([")
|
||||
if sp > 3 {
|
||||
state_set("cseed_auto", str_slice(slot_lbl, 0, sp))
|
||||
// GENRE-WORD BLOCKLIST (2026-07-23 self-review): world-ingestor
|
||||
// titles open with classifier prefixes ("Method paper ...",
|
||||
// "Theory paper ..."), so the first word is a genre tag, not a
|
||||
// topic. Verified live: every scan after Knowledge admission
|
||||
// seeded on 'Method'. Skip these; a lower-WM slot with a
|
||||
// topical first word wins instead.
|
||||
let term: String = str_slice(slot_lbl, 0, sp)
|
||||
state_set("_ats_gw", "0")
|
||||
if str_eq(term, "Method") { state_set("_ats_gw", "1") }
|
||||
if str_eq(term, "Theory") { state_set("_ats_gw", "1") }
|
||||
if str_eq(term, "Finding") { state_set("_ats_gw", "1") }
|
||||
if str_eq(term, "Survey") { state_set("_ats_gw", "1") }
|
||||
if str_eq(term, "Paper") { state_set("_ats_gw", "1") }
|
||||
if str_eq(term, "Knowledge") { state_set("_ats_gw", "1") }
|
||||
if str_eq(term, "Value") { state_set("_ats_gw", "1") }
|
||||
if str_eq(state_get("_ats_gw"), "0") {
|
||||
state_set("cseed_auto", term)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user