diff --git a/docs/pfi/model-sampler-defaults.md b/docs/pfi/model-sampler-defaults.md index 250b605..79c609c 100644 --- a/docs/pfi/model-sampler-defaults.md +++ b/docs/pfi/model-sampler-defaults.md @@ -55,17 +55,19 @@ Also governs **summarizer-large** (shares the same `qwen3.6-27b-aeon` @ :8015 de *Source:* dvalin canonical (Mistral-Small RP prose) **A/B-validated by infra-ops** on the live serve. *Changes:* temp 1.0 → 1.1, min_p 0.03 → 0.10. **min_p 0.10 richened imagery vs 0.03** with no incoherence at temp 1.1. **repeat_penalty 1.05 was REJECTED** — in the A/B it injected a stray markdown title into a grief scene; rep-style penalties hurt Drummer/Magistral RP creativity (matches the model card and dvalin's own note). Alt prose model: `MS3.2-PaintedFantasy-v4.1-24B` (swap via the `char-rp-gguf` stack `.env`). -### 4. char-rp-reasoning — QwQ-32B-ArliAI-RpR-v4 (llama.cpp, reasoning RP) +### 4. char-rp-reasoning — Qwen3.5-27B-Deckard-PKD (llama.cpp, managed-reasoning RP) -| param | value | +| param | value (request-level) | |---|---| | temperature | 1.0 | -| top_p | **0.95** | +| top_p | 0.95 | | top_k | 40 | -| min_p | 0.02 | -| repetition/DRY/XTC | **off** | +| min_p | **0.05** | +| presence/repetition | **off** | +| DRY | **0.8 server-side** (base 1.75 / len 2, dry-after-temp) — not a request param | +| reasoning-budget | 400 (server-side) | -*Source:* ArliAI RpR v4 card — explicit **NO** rep/DRY/XTC penalties. *Change:* added explicit top_p 0.95. Reasoning is server-side (`--reasoning on`, budget-capped); the CoT surfaces in `reasoning_content` with clean prose in `content`. SillyTavern wiring (non-sampler): `include names = never`; exact ``/`` tokens. +*Source:* dvalin-CONFIRMED canonical 2026-07-08 (thread 01KX1Y7P). **Corrected 2026-07-09:** this seat had lagged on QwQ-RpR-v4 — the A/B on 2026-07-08 replaced it with **Deckard-PKD-Heretic i1-Q5_K_M** (DavidAU, Qwen3.5-27B, :8018); the live gateway was always Deckard. Deckard won on brokkr's frozen scorer (0/30 loops, 0/30 refusals) over RpR-v4 (1/30 loop, forbids DRY) + Pantheon-27B (7/30 refusals). Reasoning ON server-side (`--reasoning on`, budget 400); CoT surfaces in `reasoning_content`, clean prose in `content`. Tuning ladder: flat prose→min_p 0.08, loops→DRY 0.9, over-damped→DRY 0.6/off. **Do NOT import RpR/QwQ sampler rules** (different family — QwQ hated DRY; Qwen3.5 benefits from it). ## Changing a default diff --git a/persistent-memory.md b/persistent-memory.md index 95335f2..8c5d984 100644 --- a/persistent-memory.md +++ b/persistent-memory.md @@ -285,8 +285,7 @@ _Earlier (2026-07-07):_ - **Backups — STILL OPEN:** rotate the 5 disclosed rest-server creds (operator, offline); confirm esh-vm-db's resticprofile includes DB dumps. `docs/runbooks/backups.md`. -- **Standing / parked:** phantom `qwen3.6-35b-a3b` gateway cleanup (400s in /v1/models); ana-docker - docker-daemon log-cap; inert `mood.decay_rate`/`stale_hours` keys in deployed WT config; Mac Pro +- **Standing / parked:** inert `mood.decay_rate`/`stale_hours` keys in deployed WT config; Mac Pro migration (hw-gated); R22 gateway-key at `/home/lkraven/.r22-gateway-key` (mode 600, paid GLM, do NOT delete); Deckard staged on ana-ml2 as T1's writing benchmark; `/books` transient NFS mount on nh3-dev; **dvalin sampler re-tune pass** for char-rp / char-rp-reasoning once they accumulate live Worldtree/ST @@ -302,6 +301,53 @@ _Earlier (2026-07-07):_ ## Recent decisions +- `[2026-07-09]` **Two parked items closed: phantom `qwen3.6-35b-a3b` alias VERIFIED already-gone; ana-docker + docker log-cap SOLVED no-bounce.** (1) **Phantom**: absent from `/v1/models` + `/model/info` (config+DB + registry), zero litellm log refs — the parked "400s in /v1/models" note was STALE (already cleaned in the + 2026-07-08 gen repoint to `-heretic`); bare token survives only in 2 config COMMENTS (lines 76/80). Nothing to + remove. (2) **Log-cap**: running containers were UNCAPPED (182M json-logs, top offender 59M) because + daemon.json's `max-size 10m/max-file 3` only applies to containers CREATED AFTER a daemon restart — it never + reaches already-running ones. No-bounce fix = `/etc/logrotate.d/docker-containers` (**copytruncate** — dockerd + opens json-logs `O_APPEND` so truncate-in-place resets cleanly, no sparse-file corruption; `size 10M`, + `rotate 3`, `compress`, `su root root`), auto-picked-up by the daily `logrotate.timer`. Force-ran + gzipped the + frozen `.1` archives → **182M → ~55M** (44M active + 11M gz), every container kept its multi-week uptime + (zero bounce, verified). **LATENT FOOTGUN FLAGGED (not yet fixed, operator's call): daemon.json declares + `live-restore:true` but the RUNNING daemon has it FALSE** (daemon.json was edited after the last daemon start, + never reloaded) → the NEXT `systemctl restart docker` / crash / pkg-upgrade **bounces ALL ana-docker containers + once**. Fix WITHOUT a bounce = `systemctl reload docker` (SIGHUP loads live-restore into the running daemon; + log-opts are NOT SIGHUP-reloadable, which is why logrotate — not the daemon cap — is the enforcer for running + containers). + +- `[2026-07-09]` **granite→gen `memory_extractor` bind host-synced on demo+personal Worldtree (Vuong-directed, + #335 Slice-4).** Changed `model_roles.yaml` memory_extractor `binds.catalog_id` `summarizer`→`gen` (overrides + intact: thinking:false/temp0/8192) on BOTH `/opt/worldtree{,-personal}/config`; `memory_distiller` left on + `summarizer` (range-scoped sed `/memory_extractor:/,/memory_distiller:/` — the naive global replace would've hit + both); backups `*.bak-preqgen-20260709`; validated via each container's OWN yaml parser. **DEMO LIVE on gen** + (b43 `d501e516732d` auto-deployed mid-edit + its restart RACED my edit by ~2min → I restarted + `worldtree-worldtree-api-1` to activate; healthy, live process resolves memory_extractor=gen). **PERSONAL + NOW LIVE on gen too** — Vuong authorized the restart (via wt-dev); restarted `worldtree-personal-worldtree-api-1` + after a PRE-FLIGHT that ran the app's OWN `load_model_roles()` (`core/llm/roles.py:121`) against the synced config + INSIDE the running `c9986cd` container: `gen` in catalog, all 9 roles resolve, no `DanglingBindingError` → proven + safe on the OLDER image BEFORE touching it (model_roles-delta-alone clean; no full-config-set sync needed). + StartedAt 20:50:55Z, healthy, resolves gen. **BOTH instances live on gen.** **LESSON: + the bind-mount `/opt/worldtree*/config` SHADOWS the baked `/app/config-defaults/` → the deploy alone never + updates the ACTIVE config; the host edit is required AND a restart activates it (role registry cached at boot) — + pre-stage BEFORE the deploy's restart or you race it.** FOLLOW-UPS (non-blocking): (a) `memory.extractor.user_pass` + parity block → self-serve from the b43 baked `defaults.yaml` (pydantic-default no-op); (b) stale `gen` provider + description (Mistral-Small-4 → qwen3.6-35b-a3b-heretic) → wt-dev owns the REPO-side `providers.yaml` fix + (operator's call — NOT purely cosmetic: the gen/dialogue + classifier entries carry Mistral-Small-4 SAMPLING + defaults that drive mask/lofn/forseti/mimir dialogue, so wt-dev re-validates for qwen), host cosmetic sync pairs + when it deploys. Gave wt-dev the VERIFIED canonical 4-alias set (backends+samplers read from the LIVE gateway + config, not the doc); corrected `docs/pfi/model-sampler-defaults.md` seat 4 (had lagged QwQ-RpR-v4 → Deckard-PKD; + live gateway was always Deckard). Operator SCOPED IN the character-RP re-point (2026-07-09): + character→char-rp / thoughtful-character→char-rp-reasoning (character-rp per wt-dev's role semantics), moving + character RP off the GENERAL qwen onto the dedicated Magidonia/Deckard seats. Relayed to wt-dev w/ the mapping + principle + a SAMPLER-OVERRIDE warning (DROP character-rp's old temp0.75/top_p0.85 overrides — carried onto the + dedicated seats they'd clobber the canonical RP tuning DOWNWARD) + ratatoskr-reach note (role call is transparent + but Magidonia/Deckard quality/latency differs from gen). PENDING wt-dev's repo re-point → I pair the host-sync + + user_pass block. Threads `01KX3SGH`/`01KX48QP` (worldtree-dev), + monitor armed. See [[reference_corviduo_dev_emergency_ops]]. + - `[2026-07-09]` **mOrpheus TTS off-the-shelf voice pipeline SHIPPED end-to-end (irv-ml1) + wired into gateway-chat.** Full arc (commits): gen served-name honesty rename aeon→qwen3.6-35b-a3b-heretic (99a4a17, vLLM served-name + litellm refs, so /v1/models + spend-logs name the real model); permanent 2-container stack