From 7ea8dd326b6f6f5d22d8a7c973c32b4d90e199e6 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Fri, 7 Aug 2026 07:10:21 -0700 Subject: [PATCH] memory: personal-KB orphan sweep EXECUTED post-b182 (kb 8230->2876, orphan=0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Operator-authorized (via worldtree-dev thread 01KZE6TGRHAW) cleanup of the WT #394 contamination: b182 deployed onto personal, all 3 preconditions verified, reconcile --repair swept the 5,354 orphan index rows. Fresh reconcile confirms orphan=0/missing=0/stale=0. Evidence-hold index-row half lifted+done; on-disk generation-dir file-retention hold still stands. reconcile --repair exited rc=1 on a non-blocking worldtree-side git-staging bug (index.add on a deleted uncommitted path) — flagged to worldtree-dev, not fixed here. --- persistent-memory.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/persistent-memory.md b/persistent-memory.md index bf7a126..ef8a11f 100644 --- a/persistent-memory.md +++ b/persistent-memory.md @@ -109,13 +109,13 @@ no longer deployed sidecars here. See Recent decisions.) ## Current state / in-flight -_As of 2026-08-07 — heavy overnight session, now at a natural rest; one background watcher live (b182 recreate verify). The night's four arcs are all landed or handed off:_ +_As of 2026-08-07 — heavy overnight session landed; b182 deployed and the operator-authorized personal-KB orphan sweep EXECUTED + verified this (post-/clear) session. The night's four arcs are all landed or handed off:_ - **FLEET RERANKER CUT OVER (the big one) — DONE + VERIFIED.** Brokkr R43 bake-off replaced the fleet `reranker` (Qwen3-Reranker-0.6B, measured HARMING 80/90 queries fleet-wide — no-reranker beat it 89/90 vs 56/90) with **A3 = BAAI/bge-reranker-v2-m3**. LiteLLM `reranker` alias repointed incumbent→A3 (boundary **2026-08-06T17:37:48Z**, config-edit on ana-docker litellm + ~52s gateway restart); Brokkr independently VERIFIED (maxdiff 0, single backend) and the **R42 v13 acceptance gate PASSED — first ever** (main+kb 56/90→90/90, evictions 33→0). Bench wound down: A2 (control) torn down; **A3 = PROD on ana-ml2 GPU1 :8013**; **A4 (gte-modernbert) = warm fallback :8014**; **incumbent still up :8002 for rollback** (via the untouched `qwen3-reranker` alias — rollback = revert one config line + a SECOND ~52s gateway restart). A3/A4 `restart=unless-stopped`. Full arc + rollback runbook: **`docs/pfi/reranker-selection-ledger.md`** (git-tracked; commits ad2df89/2c11748/377f8a4, UNPUSHED). **Passive watch:** A3 caps ~34 req/s (vs incumbent's ~55) — queues gracefully; if real p99 bites, levers = A4 swap / bump A3 gpu-util / 2nd A3 replica (Brokkr re-runs the grid, no intuition swap). **Non-urgent follow-up:** promote A3 from throwaway `docker run` to a `stacks/vllm/` compose service (a recreate briefly drops the alias → needs a window); retire incumbent when the post-cutover watch closes. -- **IN-FLIGHT RIGHT NOW:** b182 staging deploy (ships the WT #394 kb-walk fix) is rolling out → worldtree-personal recreates imminently. A **background watcher confirms the recreate lands clean (kb stays 8,230, no re-sweep), then I RETIRE the flag-before-personal-redeploy commitment** (b182 is the very deploy that fixes the recontamination risk that flag guarded). Baseline captured: personal on b181, kb=8,230. +- **b182 DEPLOYED + personal-KB orphan sweep DONE (2026-08-07 ~14:0xZ).** personal-api recreated onto b182 (`gitea…/worldtree:d6e5d6ec7b00`, git `d6e5d6e`, image `sha256:3f82b147…`, healthy, recreated 13:55:16Z; identical to the image demo serves — worldtree-dev re-tagged `staging/v1.0.0b182` onto `d6e5d6ec7b00` after the mid-train-memory-commit staging-tag miss). First-boot kb held at 8,230 (no re-sweep — the #394 fix works). All 3 preconditions verified (image/kb/orphan) → per operator's AUTO-EXECUTE ruling (no final-GO pause) ran `reconcile --repair` (uid 1000, index-rows-only): **kb 8,230 → 2,876** (−5,354 orphans); fresh reconcile confirms orphan=0/missing=0/stale=0. flag-before-personal-redeploy commitment RETIRED (b182 is the fix that guard protected). Report posted to worldtree-dev thread `01KZE6TGRHAW` (msg `01KZE8WT6W…`). **⚠ `--repair` exited rc=1** on a NON-blocking worldtree-side bug: after the sweep, reconcile.py:166 `ws._repo.index.add(report.uncommitted_in_git)` threw `FileNotFoundError` on phantom path `docs/specs/saga-taxonomy-redesign-plan.md` (a tracked-but-deleted entry in the kb wing's 1,847 uncommitted set; GitPython can't `lstat` it). No commit ran, wing git state stable (uncommitted still 1,847). Flagged to worldtree-dev as (1) reconcile robustness gap + (2) pre-existing kb-wing git inconsistency — their code/data call, I did NOT touch reconcile.py or the wing. Sweep GATES Brokkr's 16-subject floor re-run + ratatoskr's #393 baseline (worldtree coordinates). -- **kb-CONTAMINATION INCIDENT (WT #394) — diagnosed, fix shipped (b182), attribution CLOSED UNRESOLVED.** A `WingStore._embed` reconcile full-tree walk (kb wing `fs_root = KB_PATH` root, sibling wings nested under it) swept **5,354** fiction+main rows into personal's `knowledge_base` (incl. 2 SUPERSEDED generations served as current). Fixed by worldtree #394 (aca39a1, kb walks exclude sibling wings). Trigger un-attributable — a peer reconcile via the SHARED infra-ops identity leaves no fingerprint (0 dockerd/containerd exec-logging). Durable finding → auto-memory `infra_ops_shared_identity_attribution_gap`, **PARKED (operator ruled A) into the identity-hygiene arc** [[project_migrate_infra_access_to_claude_credentials]]. **⚠ EVIDENCE HOLD:** do NOT delete the 5,354 swept rows or the on-disk generations — cleanup rides the operator's SEPARATE authorization (on #394's agenda with Brokkr). +- **kb-CONTAMINATION INCIDENT (WT #394) — diagnosed, fix shipped (b182), attribution CLOSED UNRESOLVED.** A `WingStore._embed` reconcile full-tree walk (kb wing `fs_root = KB_PATH` root, sibling wings nested under it) swept **5,354** fiction+main rows into personal's `knowledge_base` (incl. 2 SUPERSEDED generations served as current). Fixed by worldtree #394 (aca39a1, kb walks exclude sibling wings). Trigger un-attributable — a peer reconcile via the SHARED infra-ops identity leaves no fingerprint (0 dockerd/containerd exec-logging). Durable finding → auto-memory `infra_ops_shared_identity_attribution_gap`, **PARKED (operator ruled A) into the identity-hygiene arc** [[project_migrate_infra_access_to_claude_credentials]]. **EVIDENCE HOLD — INDEX-ROW half LIFTED + EXECUTED 2026-08-07:** operator authorized (relayed via worldtree-dev thread `01KZE6TGRHAW`); the 5,354 swept **index rows** are now DELETED via `reconcile --repair` post-b182 (kb 8,230→2,876, orphan=0 — see the b182 sweep entry above). **The FILE half of the hold STILL STANDS:** do NOT delete the on-disk generation dirs (`fiction/rex390-dcc`, `rex392-dcc`, `b59c147c5ce0`) — file-retention hold is separate and unlifted. - **gen-reasoning empty-content (WT #392) — serving EXONERATED, no infra action.** ~2-3% zero-concept sections on the personal concepts seat = thinking-model channel behavior + broken JSON string-escapes, NOT serving config (`vllm-aeon-gen` :8015 runs `--reasoning-parser qwen3`, no reasoning-budget). rex393 raw data confirmed; worldtree's b179 retry self-heals at zero data loss. The thinking-off lever is Worldtree-court AND benched-mandatory (reasoning needed for the significance filter per #385), so no flip.