Skip to content

Commit ef6cb18

Browse files
committed
AUDIT 2026-07-10: memory-persistence + agent-stack audits (reports), RUNBOOK launcher map (gateway_system/console_agent/mcp_server rows), memory-okf sp_status normalization (50->18 conformance errors) + 2 audit entries
1 parent 849e068 commit ef6cb18

40 files changed

Lines changed: 385 additions & 33 deletions

memory-okf/LUT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,3 +193,5 @@ Lookup before you build. `python tools/okf_mem.py lookup --root <root> <kw>`
193193
| ae243cafecb668c6 | agent | b6,recursive-gemma,looped-transformer,layer-similarity,aliasing,middle-looping,honest-negative,G-B6-LAYERSIM | B6 cheap looping/aliasing of gemma-4-12b REFUTED: adjacent-layer weight cosine ~0 (best 0.012) vs ~0.98 viable; period-6 global/SWA interleave blocks whole-stack aliasing; looped variant needs heavy retrain. PARKED. | HONEST-NEGATIVE | sum/ae243cafecb668c6.md |
194194
| 356be46556a1953e | agent | b4,kv-tiling,flashattention,prefill-attention,io-aware,weight-dequant,bottleneck,honest-negative,G-B4-FEASIBILITY | B4 exact IO-aware KV tiling REDUNDANT: prefill attention already fused/on-chip (scores in shared mem); bottleneck is weight-dequant not attention; per-token prefill = no query batch to tile; SWA fits L2. PARKED. | HONEST-NEGATIVE | sum/356be46556a1953e.md |
195195
| 260f49fb56fce095 | agent | b5,dplr,delta-rule,associative-memory,editable-memory,content-bearing,bge,honest-negative,redundant-vs-a1,G-DPLR-MEM | B5 DPLR editable memory REDUNDANT: on content-bearing vectors delta-rule == plain cosine (75% vs 77%), both lose to L5 ~85%; erase not lossless (perturbs neighbors) vs A1's clean supersede. PARKED. | HONEST-NEGATIVE | sum/260f49fb56fce095.md |
196+
| 1264a8623b7c6c0e | agent | audit-2026-07-10,memory persistence,cross-session,SP_NIGHTSHIFT_PERSIST,batch set no-op,registry rot,dead rows,orphan episodes,memory_doctor,SP_SPINE leak,run_console_reason,launcher fix,silent reload | Memory-not-persisting = broken launcher flags (set VAR with no =1 is a batch NO-OP; no registry; L5 off) + 13/17 registry rows pointing at deleted dirs (silently skipped, no log) + 43 orphaned episode dirs (no disk rescan). Fixed launchers + new tools/memory_doctor.py; live-verified grow->restart->recall 4/5. NEW: SP_SPINE=1 leaks persona record on foreign questions (A/B proven) - keep SPINE off in serve until gated. | GREEN | sum/1264a8623b7c6c0e.md |
197+
| dd122e50e2a82fea | agent | audit-2026-07-10,personality,PF-B4 wired,SP_PERSONALITY,gateway-only personality,daemon personality-blind,interceptor dead code,persona.md,okf conformance,sp_status normalize,slug addr defect | Personality gates 5/5 PASS. Daemon :3000 personality-blind by design (gateway :8800 only). FIXED: PF-B4 @personality pack now in all_tools() when SP_PERSONALITY=1 (was orphaned). Open: interceptor registered-but-never-invoked (spine run_post_turn does the real write-back, gated on typed not SP_PERSONALITY); PF-B5 curation rarely armed. OKFS: 50 conformance errors -> 18 (enum case normalized, address-safe); 18 legacy no-frontmatter notes + 6 slug-addr entries need owner decision. | GREEN | sum/dd122e50e2a82fea.md |

memory-okf/full/0818f9eccbdee043.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Pass->block RESOLVED: L5-shortlist -> judge rejects foreign (spurious 90%
44
description: Sequential pass->block VALIDATED. SP_B3_JUDGE_L5 (routes.rs 5d336c7): L5 cosine shortlists top-K cold, validated judge PICKs answerer or [NULL]. judge_test N=12 para+12 foreign, K=8: recall ~100% (judge picks correct fct via L5 shortlist); foreign explicit NULL 33%, end-to-end spurious-delivery 17% (vs query-side ~90%) — the reject cheap signals couldn't do; model robustness cleans false-accepts. BUG: judge answer-synthesis degenerate (<image|>) -> para obey 0 despite correct picks (delivery defect not recall). DEPLOY: judge NULL-decision + L5 clean delivery. Receipt G-L5-JUDGE-PASSBLOCK-2026-07-01.
55
timestamp: 2026-07-01T04:34:48Z
66
resource: engine main 5d336c7
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: G-L5-JUDGE-PASSBLOCK-2026-07-01
99
sp_commit: engine main 5d336c7
1010
sp_repro: _faithful_serve_judgeL5.bat + python _faithful_corpus/judge_test.py 12
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
type: memory
3+
title: AUDIT 2026-07-10: cross-session memory persistence root-caused + fixed; SP_SPINE live leak found
4+
description: Memory-not-persisting = broken launcher flags (set VAR with no =1 is a batch NO-OP; no registry; L5 off) + 13/17 registry rows pointing at deleted dirs (silently skipped, no log) + 43 orphaned episode dirs (no disk rescan). Fixed launchers + new tools/memory_doctor.py; live-verified grow->restart->recall 4/5. NEW: SP_SPINE=1 leaks persona record on foreign questions (A/B proven) - keep SPINE off in serve until gated.
5+
timestamp: 2026-07-10T00:52:39Z
6+
resource: engine working tree 2026-07-10
7+
sp_status: GREEN
8+
sp_gate: persist-after-restart probe 4/5 + foreign clean (inline path)
9+
sp_commit: engine working tree 2026-07-10
10+
sp_repro: run_console_reason.bat; python tools/memory_doctor.py audit; python _faithful_corpus/b4_grow_recall_gate.py grow; restart; persist probe
11+
mem_kind: agent
12+
mem_addr: 1264a8623b7c6c0e
13+
mem_verified: unverified
14+
mem_lifecycle: active
15+
tags: [audit-2026-07-10, memory persistence, cross-session, SP_NIGHTSHIFT_PERSIST, batch set no-op, registry rot, dead rows, orphan episodes, memory_doctor, SP_SPINE leak, run_console_reason, launcher fix, silent reload, agent, tier-2]
16+
mem_tier: full
17+
---
18+
19+
AUDIT 2026-07-10 (memory persistence across sessions): user-reported "memory does not persist across sessions" root-caused to THREE stacked failures, all fixed + live-verified on the reason model serve.
20+
(1) run_console_reason.bat was memory-broken: `set "SP_NIGHTSHIFT_PERSIST"` with NO =1 is a batch NO-OP (flag never set), no SP_RECALL_REGISTRY (recall chain never arms - daemon loads None), SP_RECALL_L5=0 + SP_AUTO_RECALL_DEFAULT=0. Net: B4 captured episodes into _nightshift_live as ORPHANS (no registry row), nothing survived restart. LESSON (binding): in .bat, `set "VAR"` does not set VAR - always `set "VAR=1"`; audit launchers for value-less set lines.
21+
(2) Registry rot: 13/17 rows in _memory_live/registry.jsonl pointed at DELETED episode dirs. load_registry() rehydrates missing dirs with EMPTY gk/l5key via unwrap_or_default (recall.rs ~555-557) and the L5 selector silently skips l5key.len()!=512 (routes.rs ~2186) with NO log - dead memories are invisible. Capture is gated+logged; reload failures are silent = asymmetry.
22+
(3) Orphan blindness: daemon never scans _nightshift_live on disk; episodes captured while SP_NIGHTSHIFT_PERSIST was unset are never rediscovered (43 orphans found, mix of real user facts + leaked test corpus).
23+
FIXES: run_console_reason.bat rewritten (registry bootstrap + PERSIST=1 + L5=1 + AUTO_RECALL_DEFAULT=1 + QKEY_MINT=1 + MEM_CLASSIFY=1 + MEM_POLICY=1 + plain + veto head); run_console_everything_reason.bat gains QKEY_MINT/MEM_CLASSIFY/MEM_POLICY; NEW engine tools/memory_doctor.py (audit / prune-dead / adopt orphans / remint via store verb; sig_bits dummy is safe - L5 path never reads it, precedent build_sne_registry.py); RUNBOOK-ONE-CONFIG launcher map updated same change-set.
24+
LIVE VERIFICATION (reason model, fixed launcher): remint 2/2 real facts -> recall "what is my cat's name?" -> "Tuffy."; FULL RESTART -> reload 11 episodes -> persist probe 4/5 (cat/door/sister/foreign ok; dog = known same-template cross-pick). Cross-session persistence WORKS under the fixed launcher.
25+
NEW FINDING - SP_SPINE LIVE LEAK (one-variable A/B): with SP_SPINE=1 + small personal registry, foreign question "capital of Spain?" delivered the persona record ("Knack.") - off-topic leak past attr-gate/veto. SP_SPINE=0 (inline path): foreign clean ("Madrid."). The proven serve composition (G-B4-GROW-RECALL-L5, run_console_everything*) is the INLINE path; SPINE serve composition is UNGATED - keep SP_SPINE off in daily drivers until it earns a live gate.
26+
Known residuals (documented, NOT persistence): same-template cross-pick (L5 structure>subject collapse, fix = learned relevance head, deferred); absent-record questions can confabulate (door "1234") or cross-pick instead of declining.

memory-okf/full/223b196b628e6a72.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Pass->block reject: query-side FAILS (clean); judge-reject INCONCLUSIVE (
44
description: Reject thread final. (1) v1 foreign set was 30/40 CONTAMINATED (in-corpus) — my error; re-ran clean v2. (2) Query-SIDE reject (L5/Jaccard/margin single+combined) genuinely FAILS on clean v2 foreign: ~90% foreign false-accept @85% para-accept (foreign factual Qs structurally == in-mem; L5=question-type, Jaccard=scaffolding). (3) Sequential pass->block (L5 top-1 -> binary judge) = INCONCLUSIVE: served quantized 12B degenerates on naive YES/NO classification prompt (43/43 + 23/23 all NO; on 6 obvious cases emits 'NO'+garbage 'دبستان' fresh cache AND polluted) — harness inadequacy, NOT a concept result. Right tool = validated SP_B3_JUDGE (selection over tagged candidates, 85.7% recall@1), run on (query, top-few-facts) — deliberate build. (4) served model ignores irrelevant recalled context (answers foreign from parametric despite forced spurious recall) -> bounds damage. DURABLE: L5 recall shipped 86.89% para live.
55
timestamp: 2026-07-01T04:08:44Z
66
resource: engine main (receipts + harnesses)
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: G-FOREIGN-REJECT + G-JUDGE-REJECT 2026-07-01
99
sp_commit: engine main (receipts + harnesses)
1010
sp_repro: read G-FOREIGN-REJECT-2026-07-01.log + G-JUDGE-REJECT-2026-07-01.log

memory-okf/full/4dab263e577c4188.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Foreign-reject via cheap signals = NEGATIVE (needs pairwise query x fact
44
description: DISCONFIRMS 'the combiner's value is foreign-reject'. G-FOREIGN-REJECT-2026-07-01 (live 12B, 61 in-mem para vs 40 foreign): top1 L5-cos para 0.955 vs foreign 0.965 (foreign HIGHER); margin identical; max Jaccard para 0.151 vs foreign 0.325 (foreign more similar). All gates @85% para-accept -> ~80% foreign FALSE-accept; multi-signal (L5 AND margin) == L5 alone. ROOT: reject is QUERY x FACT (does the fact answer the query), not query-similarity; foreign factual Qs are structurally identical to in-mem ones so L5 co-locates + Jaccard confounded by scaffolding. RIGHT TOOL: generative judge SP_B3_JUDGE (exists) or learned cross-encoder, NOT a cheap signal-agreement gate. SILVER LINING: model answered foreign Qs correctly from parametric despite forced spurious recall (ignores irrelevant context) -> moderate tau bounds damage. NET: L5-cosine alone is the deployable recall selector (86.89% para live); combiner beats it on neither recall nor foreign-reject -> retired for this task.
55
timestamp: 2026-07-01T03:37:35Z
66
resource: engine main (receipt + _faithful_corpus/rep_foreign.py)
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: G-FOREIGN-REJECT-2026-07-01
99
sp_commit: engine main (receipt + _faithful_corpus/rep_foreign.py)
1010
sp_repro: _faithful_serve_l5cap.bat + foreign_probe.py + python rep_foreign.py <eng>

memory-okf/full/560f75339f395c98.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: DO NOT REBUILD: global-eviction slab + LSH router + NIAH already CLOSED G
44
description: 8x global KV eviction slab + learned-LSH router + NIAH far-needle retrieval are ALREADY built+trained+gated in gemma4_decode_cuda. Trained weights on disk: tests/fixtures/lsh/lsh_R_r32_raw.bin (SP_ARM_LSH_R) + lsh_M_r32.bin (SP_ARM_LSH). C-c NIAH GREEN: HIT 837492 at depth 10/50/90% with the learned router; FROZEN +-1 = MISS. Do NOT retrain the router or rebuild the slab; a daemon-path NIAH MISS is a PORT bug (not loading lsh_R_r32_raw.bin), not router quality.
55
timestamp: 2026-06-30T13:57:24Z
66
resource: 222463a,33ac632,8e35877,3218d73
7-
sp_status: PROVEN
7+
sp_status: GREEN
88
sp_gate: G-P3-R2.b-2b-LSH, G-P3-R2.b-2c, C-c-NIAH
99
sp_commit: 222463a,33ac632,8e35877,3218d73
1010
sp_repro: SP_ARM_LSH_R=tests/fixtures/lsh/lsh_R_r32_raw.bin + SP_ARM_SLAB via test_gemma4_cuda SP_G4_NIAH

memory-okf/full/6b15d4c18b2ecc42.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: KSTE v2 magnitude-as-depth + Dickson = discrimination WIN (37.6x near-dup
44
description: The sieve discrimination that in-tree v1 failed (1.2x, G-SIEVE-MEASURE) is REPRODUCED+exceeded by fresh v2 encoder (core/kste_md/, from Paper III/IV spec, anti-contamination, frozen v1 untouched). Encoder: top-14 anchors=A, next-60 residual chains B(+)/C(-) length=magnitude-as-depth, sig=sigma0(nA,nB,nC,dmax,ntot)+sigma1(3x3 ancestor-pair counts) in N^14, Dickson elementwise dominance. Gate G-KSTE-MD-2026-07-01 (T_KMD 11/11): intra/inter dedup ratio 37.6x @cos~1.0 (vs v1 1.2x, paper ~17x), 8.4x @cos 0.9998, graceful decay w/ noise; plateau 76 (v1=2); Dickson 16.66ns/pair; encode 9.1us qsort-bound. WHY: count sig has independently-moving components (sign-split nB/nC, chain-shape MBB/MCC) so clusters go INCOMPARABLE while near-dups stay comparable; v1 order-stats were magnitude-correlated. SCOPE: CPU-core only, NOT wired to served daemon/PoUW sieve (frozen v1 still there); plateau 76 != paper 307 (params not re-tuned).
55
timestamp: 2026-07-01T01:28:55Z
66
resource: system core/kste_md/ (see git log)
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: G-KSTE-MD-2026-07-01 + T_KMD 11/11
99
sp_commit: system core/kste_md/ (see git log)
1010
sp_repro: gcc -O2 -std=c11 -D_POSIX_C_SOURCE=199309L -Iinclude tests/kste_md_measure.c core/kste_md/kste_md.c core/kste/kste_encode.c core/kste/kste_dominance.c -o kste_md_measure -lm && ./kste_md_measure

memory-okf/full/8198c3323f712fe2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: SP-SWARM distributed layer — sound design + rejected mechanics (do NOT
44
description: Swarm/DHT/decentralized-memory: sound design = papers/PPT-LAT-DESIGN-SWARM-MEMORY-MESH.md (private invite-only mesh, libp2p/X25519/Ed25519/ChaCha20, byte-exact SHA content-addressing over MEM-OKF objects, content-addressed pull replication, Ed25519 provenance, C2 SimHash as similarity OVERLAY not routing metric, curated records cross wire NOT latent geometry / re-embed locally). REJECTED (do not re-derive): (1) CRT poison-pill = home-rolled stream cipher, keystream recoverable from 2 vals, + encrypted data doesn't poison training; (2) DH over 21-bit prime = BSGS-broken, NTT primes != crypto groups; (3) P1=structure/P2=semantic/P3=trap = residues of same numbers (CRT-shards-numbers error); (4) 3 new Proth primes = forks frozen q1/q2 for no need; (5) latent-challenge-as-auth = gates compute not identity, replayable; (6) geometry-broadcast = contradicts TELE-12 + last-token-Q content-poor.
55
timestamp: 2026-07-01T00:51:31Z
66
resource: lattice PPT-LAT-DESIGN-SWARM-MEMORY-MESH.md
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: G-OKF-CONFORM (design doc); reuses byte-exact G-BYTEEXACT-FORWARD-12B + MEM-OKF verify + M.4 ledger
99
sp_commit: lattice PPT-LAT-DESIGN-SWARM-MEMORY-MESH.md
1010
sp_repro: read shannon-prime-lattice/papers/PPT-LAT-DESIGN-SWARM-MEMORY-MESH.md sec7 + sec9

memory-okf/full/8c928b41dc1a0908.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Reconciliation: L5 finding half-overturns 'input is the wall' (kste_md ve
44
description: The earlier realdata 'input is content-poor / need new pooled capture' (c90d457) was measured on the LAYER-AVERAGED global-Q; averaging 8 global layers destroyed the signal. On global layer 5 ALONE: cosine gap +0.086, exact->para recall 85.2%, L5 query-key 100%/88.5%. So 'input is the wall' was a representation artifact; unlock is layer SELECTION (already captured), NOT a new pooled capture. WHAT STANDS: kste_md still off the global-Q recall path, but the reason upgrades from 'content-poor input' to 'WRONG GEOMETRY' — on the L5 rep cosine aces (85%) yet kste_md is still 3.3% because the L5 signal is DIRECTIONAL/angular and kste_md reads magnitude-shape. kste_md's home is NARROWER than claimed (magnitude/sign-profile-separable data, not any cosine-separable embedding; even TELE-1 pooled emb is cosine/directional -> kste_md may be blind). Live win = L5+cosine (SP_RECALL_L5), a directional win not a kste_md win.
55
timestamp: 2026-07-01T02:39:11Z
66
resource: reconciliation of c90d457 + aee79cba
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: G-REP-LAYER-L5 vs G-KSTE-MD-REALDATA
99
sp_commit: reconciliation of c90d457 + aee79cba
1010
sp_repro: compare tests/fixtures/G-KSTE-MD-REALDATA-2026-07-01.log vs G-REP-LAYER-L5-2026-07-01.log

memory-okf/full/95de0b4a0e1fdc0f.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Friedman Stack + DHT/chain 'lost stuff' = TRIAGED (not lost; do not mass-
44
description: The big Friedman Stack (Papers III/IV: KSTE/sieve/Dickson/ultraproduct/choice-op) + DHT/token-economy/blockchain dump is NOT lost work. 4 buckets: (A) PROVEN+in-tree = KSTE encoder (E_CPU_6), Dickson dominance arithmetic, Garner + M.4 receipt-ledger/canonical-order (the honest kernel of the 'blockchain' = an audit ledger, already SP-SWARM L2). (B) RESOLVED-negatives (don't revive): KSTE-as-router (59af46dc), Fibonacci-phi-as-router, CRT-multi-device (dff07b41). (C) PAPER-ONLY+superseded (Papers III/IV ARCHIVED): ultraproduct attention + choice operator, both displaced by learned W_c. (D) ONE parked-real: Friedman sieve as KV-eviction — strong numbers CLAIMED in archived Paper III but receipt LOGS NOT on disk (paper-claimed, not gated), AND it's the KV-eviction rabbit hole the operator EXITED (STATE: Ring-2 context is load-bearing, not eviction). DHT/tokens/blockchain = UNBUILT scaffolding (paper self-labels 'scaffolding'); sound 10% already = SP-SWARM doc. Reusable kernels survive; 'resurrect all' is not the move.
55
timestamp: 2026-07-01T01:03:56Z
66
resource: lattice _friedman_dht_triage.md
7-
sp_status: green
7+
sp_status: GREEN
88
sp_gate: two repo sweeps 2026-07-01 + PPT-LAT-STATE + memory-okf cross-check
99
sp_commit: lattice _friedman_dht_triage.md
1010
sp_repro: read shannon-prime-lattice/memory-okf/_friedman_dht_triage.md

0 commit comments

Comments
 (0)