kb: retire pi-installation association (OMP is the primary harness)
Purge live-state claims that ~/.pi is our harness; keep general pi documentation in omp-docs/ and dated historical records. - README.md: single config source; Legacy Notes reworded - AGENTS.md: drop 'like ~/.pi did' framing - APPEND_SYSTEM.md: okf-spec -> omp-docs/references/okf-spec.md - dotfiles/zsh/.zshrc: systemprompt alias -> APPEND_SYSTEM.md - managed skill llm-fleet-model-swap + model_config_sync skill: single-source models.yml; validation script YAML-only - memories (MEMORY.md, memory_summary.md, learned.md): single source - omp-docs: .okf root -> ~/.omp/omp-docs; de-live pi-era claims in pi/index.md, pi-web-access.md, engineering/agents-files.md
This commit is contained in:
1 parent
eebcfbf5ac
commit
c3f30bdbd0
23 files changed
+81
-76
No files matched your search
@@ -20,7 +20,7 @@
|
||||
- **OS/Kernel**: CachyOS Linux 7.2.0-1. Fixed `nvidia-modeset` semaphore deadlock blocking `niri` (GUI freeze/VT down) via `/etc/modprobe.d/nvidia-workarounds.conf` + rebuilt initramfs (`mkinitcpio -P`) + force-reboot.
|
||||
|
||||
## AI Agent & Model Configuration
|
||||
- **Config Files**: Source of truth `~/.pi/agent/models.json` ↔ `~/.omp/agent/models.yml` (imported/generated). Edit both in lock-step unless using dedicated import.
|
||||
- **Config Files**: `~/.omp/agent/models.yml` is the single source of truth (OMP is the primary harness; the pi-era dual-copy convention is retired).
|
||||
- **Context Sizing**: Uses Ki-style multiples (`163840` = 160×1024). "200k" → `204800`. Update `contextWindow` and `maxTokens` together for `frank-default-small`.
|
||||
- **Providers & Models**:
|
||||
- `llamacpp (dankserver)` @ `http://192.168.0.235:7770/v1`: `frank-default-small` (Ornith-1.5-35B-A3B CRACK Q6_K, ngram-mod, reasoning true). Context: 204800.
|
||||
|
||||
@@ -14,4 +14,4 @@
|
||||
- Dankware (RTX 4070 Laptop, nvidia-open 610.57.04, kernel 7.2.0-1-cachyos, DynamicPowerManagement=2) suffers the known 610.x NVKMS DIFR-prefetch deadlock: nvidia-modeset/kthread_q livelocks in DifrPrefetchEventDeferredWork→nvWriteGpEntry holding the NVKMS API semaphore; any compositor (niri) atomic commit then wedges in D-state in ApplyModeSetConfig/nvkms_ioctl_from_kapi_try_pmlock. Symptoms: GUI frozen, no VT switch, SSH alive, nvidia-smi still answers (GPU idle P8, no Xid). Trigger: display-idle then flip/modeset. Unrecoverable in place — reboot via systemctl reboot --force --force. Candidate mitigations: NVreg_RegistryDwords="RMDisableDIFR=1" (one upstream report says ineffective) and DynamicPowerManagement=0. Bug class spans 595.71–610.57 upstream. _(context: 2026-08-30 GUI lockup diagnosis on dankware; user suspected nvidia modesetter, confirmed via hung-task stacks. Pending user decision on writing modprobe mitigation.)_
|
||||
- When downloading large model shards (40GB) to dankclaw via SSH: 1. NEVER run rm on partial downloads — always clean up BEFORE starting the first download 2. Ensure only ONE wget process per file — if you see duplicate wget PIDs killing them with kill -9 before restarting, or use fuser to verify exclusivity 3. Use wget -c (continue) to resume partial downloads — SSH connections often drop mid-download on large files (~300s timeout) 4. Download sequentially (not in parallel) when using background task agents that may spawn duplicate processes, or coordinate downloads through a single agent session 5. Verify each file's size against expected values after download completes
|
||||
- kingjones777's Qwen3.8-Flash-Next ROCmFP4 builds for Strix Halo (gfx1151) have three tiers: FAST (~88 GiB), STRIX_LEAN (~98.5 GiB, 3-shard), STRIX (~113.5 GiB). All are text-only — no vision tower, no mmproj, no fused MTP draft head. Uses TYPE_100/TYPE_101 ROCmFP4 tensor types (general.file_type=106), requires patched llama.cpp PR #27742 from ROCmFPX fork. STRIX_LEAN carries a 35.76 GiB PLE n-gram table streamed off SSD at runtime; ~63 GiB GTT for non-PLE weights, ~75 GiB at full 262K context. Uncensored variants exist from orcarouter but only for Qwen3.8-27B (not Flash-Next), and in non-ROCmFP4 format. _(context: User requested kingjones777/Qwen3.8-Flash-Next-Uncensored-ROCmFP4-STRIX_LEAN-GGUF for frank-default-large on dankclaw. Search revealed the repo doesn't exist; only the base STRIX_LEAN tier is available, and it's text-only with no MTP.)_
|
||||
- Model provider config exists in TWO synchronized copies: ~/.pi/agent/models.json (source of truth) and ~/.omp/agent/models.yml (generated import; header comment states it is imported from the JSON). Any edit to providers, model ids, or display name labels must be applied to BOTH files in the same change or they silently drift. Validate after editing: jq -e '.providers|keys' models.json for the JSON and a YAML parse of the .yml. Label strings are NOT cached in ~/.omp/agent/models.db (model_cache table), so no cache flush is needed after label edits — new labels apply on the next config read.
|
||||
- Model provider config is SINGLE-SOURCE: `~/.omp/agent/models.yml` (OMP is the primary harness). The pi-era dual-copy convention (`~/.pi/agent/models.json` as source of truth + generated YAML import) is retired — there is no second file to keep in sync. Validate edits with a YAML parse. Label strings are NOT cached in ~/.omp/agent/models.db (model_cache table), so no cache flush is needed after label edits — new labels apply on the next config read.
|
||||
@@ -1,4 +1,4 @@
|
||||
Current environment: `~/.omp` repo (main/develop), CachyOS + niri/Wayland + noctalia v5 (TOML-only, native). Desktop lock uses D-Bus msg; keybinds use v5 verbs; cursor is capitaine-cursors 48px. NPU deadlock fixed via nvidia-workarounds.conf.
|
||||
AI Config: `~/.omp/agent/models.yml` & `~/.pi/agent/models.json` are locked. Edit both. Context uses Ki (200k=204800). Providers: `llamacpp dankserver` (frank-default-small, 204800 ctx) & `llamacpp dankclaw` (frank-default-large Qwen3.8, 262144 ctx, ngram-mod). NPU `gemma4-it:e4b` on :7771 rejects WebP.
|
||||
AI Config: `~/.omp/agent/models.yml` is the single model registry (no second copy). Context uses Ki (200k=204800). Providers: `llamacpp dankserver` (frank-default-small, 204800 ctx) & `llamacpp dankclaw` (frank-default-large Qwen3.8, 262144 ctx, ngram-mod). NPU `gemma4-it:e4b` on :7771 rejects WebP.
|
||||
Git: Stash before checkout when `agent/memories/` is dirty. Deploy via `deploy.sh` (stow, sync mode). GITEA_TOKEN in `~/.config/environment.d/secrets.env`. OMP migration complete: use `APPEND_SYSTEM.md`, `task` tool, auto-discovered skills.
|
||||
Prioritize repo-tracked paths. v5 legacy v4 JSONs are inert.
|
||||
@@ -1 +1 @@
|
||||
Manages dual AI model configs (`~/.pi/agent/models.json` as source, `~/.omp/agent/models.yml` as import/generated). Always edit both in lock-step. Context sizes use Ki-style multiples (e.g., 200k = 204800). For `frank-default-small`, update `contextWindow` and `maxTokens` together. Validate with `jq` and `python3 -c "import yaml..."`. Providers: `llamacpp (dankserver)` & `llamacpp (dankclaw)`. NPU `gemma4-it:e4b` uses port 7771.
|
||||
Manages the OMP model config (`~/.omp/agent/models.yml`, single source of truth). Context sizes use Ki-style multiples (e.g., 200k = 204800). For `frank-default-small`, update `contextWindow` and `maxTokens` together. Validate with `python3 -c "import yaml..."`. Providers: `llamacpp (dankserver)` & `llamacpp (dankclaw)`. NPU `gemma4-it:e4b` uses port 7771.
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
When updating context from 160k to 200k:
|
||||
1. Convert to Ki: 200 × 1024 = 204800
|
||||
2. Update `contextWindow` and `maxTokens` in both `~/.pi/agent/models.json` and `~/.omp/agent/models.yml`
|
||||
2. Update `contextWindow` and `maxTokens` in `~/.omp/agent/models.yml`
|
||||
3. No cache flush required; applies on next config read.
|
||||
4. Validate with validation script.
|
||||
Regular → Executable
+7
-6
@@ -1,9 +1,10 @@
|
||||
#!/bin/bash
|
||||
# Validate both JSON and YAML context/tokens match
|
||||
JSON_VAL=$(jq -e '.providers."llamacpp (dankserver)".models[0] | .contextWindow, .maxTokens' ~/.pi/agent/models.json)
|
||||
YAML_VAL=$(python3 -c "import yaml; d=yaml.safe_load(open('/home/dank/.omp/agent/models.yml')); m=d['providers']['llamacpp (dankserver)']['models'][0]; print(m['id'], m['contextWindow'], m['maxTokens'])")
|
||||
if [ "$JSON_VAL" = "$YAML_VAL" ]; then
|
||||
echo "Config in sync: $JSON_VAL"
|
||||
# Validate the OMP model config (single source of truth) parses and reports
|
||||
# the dankserver model's context/tokens.
|
||||
YAML_VAL=$(python3 -c "import yaml; d=yaml.safe_load(open('$HOME/.omp/agent/models.yml')); m=d['providers']['llamacpp (dankserver)']['models'][0]; print(m['id'], m['contextWindow'], m['maxTokens'])")
|
||||
if [ -n "$YAML_VAL" ]; then
|
||||
echo "Config OK: $YAML_VAL"
|
||||
else
|
||||
echo "Mismatch detected. JSON: $JSON_VAL | YAML: $YAML_VAL"
|
||||
echo "YAML parse failed or model missing."
|
||||
exit 1
|
||||
fi
|
||||
Reference in new issue
Block a user