chore(memory): flush runtime memories and promote managed skills
Memory-file flush for the dotfiles-deploy session with the blankpad admin credential scrubbed to a placeholder; sessions transcripts untracked (gitignored) since harness transcripts can carry raw secrets. Managed skills: command-center-dotfiles-import, ssh-fish-host-remote-exec, stash-supersession-audit-before-drop.
This commit is contained in:
1 parent
2db711964b
commit
35b871162c
27 files changed
+180
-67
No files matched your search
@@ -1,36 +1,29 @@
|
||||
# Environment & OS
|
||||
- User: Frank | Home: `/home/dank/` | Work Dir: `/home/dank/.omp`
|
||||
- OS/Kernel: CachyOS (Linux 7.2.0-1) with niri Wayland compositor
|
||||
- Default Browser: Firefox (managed via `xdg-settings`)
|
||||
- Cursor Config: `~/.config/niri/cfg/misc.kdl` (capitaine-cursors, size 48). Apply via `niri-msg reload` or `kill -SIGUSR1 $(pgrep niri)` to avoid full session restart.
|
||||
- NVIDIA/GPU Note: `nvidia-modeset` semaphore deadlock can freeze niri GUI. Fix: install `/etc/modprobe.d/nvidia-workarounds.conf`, rebuild initramfs (`mkinitcpio -P`), force-reboot (`systemctl reboot --force --force`). Note: force reboot kills active SSH sessions mid-flight.
|
||||
# Environment & Repository
|
||||
- **Home/Repo**: `/home/dank` → `/home/dank/.omp` (command center)
|
||||
- **Branch/Deploy**: `main` synced with `origin/main`. Deploy via `~/.omp/scripts/deploy.sh` (stow-style dotfiles/<pkg>/<path>).
|
||||
- **Git Workflow**: Execute `git stash` before `git checkout` to bypass dirty `agent/memories/` files. PRs branch from `pr/fix-*`.
|
||||
- **Secrets**: `GITEA_TOKEN` extracted to `~/.config/environment.d/secrets.env` (0600). .zshrc has guarded source stub.
|
||||
- **Gitea**: UI at `http://dankclaw:3000`, API resolves to `192.168.0.143:3000`. Repo: `dank/command-center`.
|
||||
|
||||
# Model Configuration & Inference
|
||||
- Config Files (Edit in lock-step):
|
||||
- Source: `~/.pi/agent/models.json`
|
||||
- Import/Generation: `~/.omp/agent/models.yml` (co-located with `models.db` WAL/SHM files)
|
||||
- Provider Layout:
|
||||
- `llamacpp (dankserver)` @ `http://192.168.0.235:7770/v1` | Model: `frank-default-small` | Context: 204800 | Reasoning: true | Inputs: [text, image]
|
||||
- `llamacpp (dankclaw)` @ `http://192.168.0.143:7770/v1` | Model: `frank-default-large` | Context: 262144 | Reasoning: true | Inputs: [text, image]
|
||||
- `dankclaw-npu` @ `http://192.168.0.143:7771/v1` | Model: `gemma4-it:e4b` (FastFlowLM) | Context: 131072 | Reasoning: true | Inputs: [text, image, audio]
|
||||
- Model Details:
|
||||
- `frank-default-large`: Qwen3.8-Flash-Next Uncensored ROCmFP4 STRIX_LEAN (177B params, 56B MoE, ~98.3GB GGUF across 3 shards). Uses `--spec-type ngram-mod` speculative decoding (MTP head stripped). Vision enabled via `mmproj` (~866M). Docs updated in `/home/dank/.pi/agent/docs/pi/models.md` (commit `eda2edb`).
|
||||
- Context Sizing: Uses Ki-style multiples (e.g., 200k = 204800). Always update both `contextWindow` and `maxTokens` when changing context. Config-only changes apply on next read; no cache flush required.
|
||||
- NPU Image Constraint: FLM decoder strictly rejects WebP. Convert WebP to PNG/JPEG upstream before sending to the FLM endpoint.
|
||||
- Non-message token overhead: ~17301 tokens per context window.
|
||||
# Model Configuration
|
||||
- **Files**: `~/.pi/agent/models.json` (source of truth) ↔ `~/.omp/agent/models.yml` (imported/generated). Edit in lock-step to prevent overwrite on regeneration.
|
||||
- **Context Sizing**: Ki-style (×1024). e.g., 200k = 204800. Update both `contextWindow` and `maxTokens` simultaneously.
|
||||
- **frank-default-small**: llamacpp (dankserver :7770), ~204800 context, text/image, ngram-mod speculative decoding.
|
||||
- **frank-default-large**: llamacpp (dankclaw :7770), Qwen3.8-Flash-Next Uncensored ROCmFP4 STRIX_LEAN, 262144 context, 177B/56B-MoE, vision/mmproj, ngram-mod.
|
||||
- **Docs**: `~/.pi/agent/docs/pi/models.md` updated. Port migrated to 7770. MTP head stripped; use `ngram-mod` wording.
|
||||
|
||||
# Git & Gitea Workflow
|
||||
- Gitea UI: `http://dankclaw:3000` (IP: 192.168.0.143:3000). API may return IP, but UI resolves best via hostname.
|
||||
- Repository: `dank/command-center`
|
||||
- PR Workflow: Branch `pr/fix-models` -> PR #1. Single commit, clean history.
|
||||
- Checkout Pitfall: `git checkout main` fails due to dirty tracked files in `agent/memories/` (e.g., `learned.md`).
|
||||
- Resolution: Execute `git stash` before `git checkout`. Stash is automatically saved on the previous branch (develop) for later retrieval.
|
||||
# Packages & Shell
|
||||
- **Shell**: Zsh + `cachyos-zsh-config`. `powerlevel10k-zsh` skipped (inert symlink due to dual sourcing).
|
||||
- **UI/Compositor**: `niri` (Wayland). Default browser: Firefox (`xdg-settings`). Cursor: `capitaine-cursors` @ 48px in `~/.config/niri/cfg/misc.kdl`. Reload via `niri-msg reload` or `kill -SIGUSR1`.
|
||||
- **Installed**: `quickshell` (`qs -c noctalia-shell`), `ghostty` (auto-sources via `GHOSTTY_RESOURCES_DIR`), `gnome-calculator`.
|
||||
|
||||
# Migration & Tools (Pi → OMP)
|
||||
- `~/.pi/agent/SYSTEM.md` migrated to `~/.omp/agent/APPEND_SYSTEM.md` (8.4KB). New sessions pick up APPEND automatically.
|
||||
- `omp config set personality none` removes built-in personality block while keeping APPEND_SYSTEM.md intact.
|
||||
- Tool Mappings: `subagent` → `task`. Parameters `concurrency`, `context`, and `async` are dropped or handled by the harness (excess queues).
|
||||
- Skills: Auto-discovered from `~/.claude/skills`. Syntax: `/skill:grilling`, `/skill:tdd`. `skills.enableSkillCommands` defaults to true.
|
||||
- References: `okf-spec.md` points to pi-tree (`~/.pi/agent/docs/references/`); consider copying to `~/.omp` for full ownership. `omp://` provides 130+ docs. Use `skill://find-skills` for discovery.
|
||||
- Persona: 'Comrade Chief Designer' (Soviet-themed humor, friendly, concise).
|
||||
- Date Context: "It is September 2026" baked into persona; OMP injects real date per-request (may drift slightly).
|
||||
# NPU & Hardware
|
||||
- **NPU**: Dankclaw NPU (`gemma4-it:e4b`, FastFlowLM) at `http://192.168.0.143:7771/v1`.
|
||||
- **Image Constraint**: FLM strictly rejects WebP ('Unsupported image format'). Convert upstream to PNG/JPEG.
|
||||
- **Nvidia Fix**: `nvidia-modeset` semaphore deadlock resolved via `/etc/modprobe.d/nvidia-workarounds.conf`, `mkinitcpio -P`, force-reboot.
|
||||
|
||||
# OMP & Agent Migration
|
||||
- **Migration**: pi-agent → OMP harness. `SYSTEM.md` → `APPEND_SYSTEM.md` (Comrade Chief Designer persona). `omp config set personality none` removes built-in block.
|
||||
- **Tools**: `subagent` → `task`. `concurrency`, `context`, `async` params dropped/managed by harness.
|
||||
- **Skills**: Auto-discovered from `~/.claude/skills`. Harness docs via `omp://`.
|
||||
- **State**: `main` 6 ahead of origin; push pending. `agent/managed-skills/*` auto-learn.
|
||||
@@ -1,3 +1,6 @@
|
||||
- blank@blankpad (CachyOS, Arch-like) deployment COMPLETED 2026-09-09 (supersedes earlier "pending action awaiting user go-ahead" note): full-replica rsync of /home/dank/.omp/ → /home/blank/.omp/ (.git included; push to Gitea NOT required for this transport) followed by deploy.sh sync on blankpad. SSH was initially blocked there by firewall default-drop (timeout, not refuse) and opened only after the user started sshd locally — expect that blocker pattern again for new fleet hosts. Host facts verified at deploy time: login shell fish; niri runs as niri --session reading the repo-symlinked config.kdl; installed binaries include noctalia CLI (its keybinds override package uses noctalia msg ..., NOT canonical qs -c noctalia-shell ipc call), alacritty, firefox, nautilus, fish, zsh, shelly-notifications; MISSING: qs/quickshell, ghostty, gnome-calculator — canonical keybinds relying on those are silent no-ops if deployed there. ~/.p10k.zsh on blankpad is an inert repo symlink until powerlevel10k-zsh is installed and sourced. zz-blankpad override package (display/keybinds/misc/rules/autostart/.zshrc) is tracked in the repo; deploy.sh's target derivation must strip the nested base-package segment for zz-* packages or overrides land on phantom paths like $HOME/niri/.config/...
|
||||
- blankpad is a fleet machine reached only as blank@blankpad.local (mDNS FQDN; bare hostname does not resolve from Dankware; 192.168.0.83). As of 2026-09-09 it runs the command-center deployment at /home/blank/.omp with host-specific divergence preserved as tracked override package dotfiles/zz-blankpad/: its own display.kdl output layout (not Dankware's DP/eDP rig), autostart/keybinds targeting the bare noctalia CLI instead of qs -c noctalia-shell ipc call, misc.kdl without renderD129, rules.kdl without the Noctalia floating-window rule, and blank's own minimal .zshrc. Its login shell is fish. Initial blocker (port 22 drop-not-refuse = sshd down or firewall default-drop) was fixed same day by user locally; if SSH drops again on blankpad, suspect firewall default-drop first, not auth.
|
||||
- blankpad (user blank) is fleet member at 192.168.0.83, reachable ONLY via mDNS FQDN blankpad.local — bare hostname does not resolve from Dankware. As of 2026-09-09 its SSH was unreachable from the LAN segment: ping fine (~1 ms, wired) but TCP 22 and alt ports (2222/8022/22222/10022) all TIMEOUT = firewall default-drop or sshd down; drop-not-refuse distinguishes this from sshd-listening-but-auth-failing. Pending action awaiting user go-ahead: deploy command-center to blank@blankpad via full-replica rsync of /home/dank/.omp/ (incl .git so core.hooksPath stays armed pre-push) → deploy.sh --check review → sync; transport deliberately chosen over clone-from-Gitea because main was 6 commits ahead of origin/main and push is reserved as a user-only trigger. Note: origin remote on Dankware embeds the Gitea token in plaintext URL — keep it off other machines' .git/config by using rsync as transport. _(context: User asked to set up the dotfiles/command-center deployment on blank@blankpad with a password credential; SSH entry point unreachable from this segment, so work was staged and handed back with exact unblock steps (systemctl enable --now sshd + firewalld internal-zone ssh service).)_
|
||||
- The FLM (FastFlowLM) service on Dankclaw (gemma4-it:e4b, port 7771) only supports PNG and JPEG/JPG image formats. WebP images are rejected with "Unsupported image format, skipping this image." The data URL formats it expects are data:image/png;base64, data:image/jpeg;base64, and data:image/jpg;base64. To use WebP screenshots with the NPU, convert them to PNG first. Verified 2026-08-30: a WebP screenshot (1024x576, 71K) was rejected while the same content as PNG was correctly identified by the vision model. _(context: Dankclaw NPU (FLM, gemma4-it:e4b, port 7771) — image format support investigation)_
|
||||
- When configuring dankclaw-npu (FLM NPU endpoint on port 7771) in models.json, the model entry must include a thinkingLevelMap field. The other two providers (dankserver, dankclaw) have it; if absent, schema validation fails. Pattern: {"thinkingLevelMap": {"max": "xhigh"}}. Also verify gemma4-it:e4b model ID is registered and .xclbin kernel symlink exists under /home/dank/.config/flm/xclbins/. _(context: Dankclaw NPU endpoint (dankclaw-npu provider, port 7771) had a schema error because gemma4-it:e4b was missing thinkingLevelMap. Fixed by adding it to both models.json and models.yml. The FLM NPU serves 34 models in its registry; gemma4-it:e4b is the currently wired model.)_
|
||||
- Dankclaw NPU serves 34 FLM (FastFlowLM) models on port 7771. Only one is wired in models.json (gemma4-it:e4b) but all 34 are registered and available via per-request model routing without restart. Known behavior: single-lane NPU queues FIFO, per-request model switch costs ~7–11s wall for 4B-class reload. Common pitfall: some registered tags fail if .xclbin kernel pack symlink is missing under /home/dank/.config/flm/xclbins/ (fix: ln -s /opt/fastflowlm/share/flm/xclbins/PackName). Registry probe: curl http://192.168.0.143:7771/v1/models.
|
||||
|
||||
@@ -1 +1 @@
|
||||
Frank's OMP harness environment on CachyOS/niri Wayland. Dual model config files (`~/.pi/agent/models.json` & `~/.omp/agent/models.yml`) require lock-step editing; context uses Ki-style multiples. `frank-default-small` (dankserver:7770) and `frank-default-large` (dankclaw:7770) run via llama.cpp; large model is Qwen3.8-Flash-Next STRIX_LEAN using ngram-mod speculative decoding. NPU (gemma4-it) on port 7771 strictly requires PNG/JPEG over WebP. Git workflow on `dank/command-center` requires `git stash` before `checkout main` due to dirty `agent/memories/`. NRI Wayland compositor supports hot-reload via `SIGUSR1` or `niri-msg`. Force reboot resolves nvidia-modeset semaphore deadlocks but interrupts SSH.
|
||||
Current repo state (`~/.omp/main`) is authoritative. When editing models, update both `models.json` and `models.yml` in lock-step using Ki-style context (200k = 204800). Use `git stash` before checkout to avoid memory file conflicts. For NPU/FLM tasks, always convert WebP to PNG/JPEG. OMP agents use `APPEND_SYSTEM.md` and `task` tool. Deploy dotfiles with `deploy.sh` (sync/adopt modes); secrets are environment-managed. Niri compositor reloads without full session restart. NPU inference on dankclaw port 7770/7771.
|
||||
@@ -1,5 +1,26 @@
|
||||
# Raw Memories
|
||||
|
||||
## 01a088e9-5dc1-767c-9a3d-cc0a8a7ec00f
|
||||
updated_at: 1789026078
|
||||
- **Repository (/home/dank/.omp)**: `main` branch is in sync with `origin/main` (0/0 divergence). `develop` branch has an active stash. Uncommitted work includes: `AGENTS.md` (modified, -83 lines), `agent/config.yml` (modified), `agent/models.yml` (modified), and deleted skills under `agent/memories/**/skills/*`.
|
||||
- **Package Installations (blankpad)**: Installed `quickshell`, `ghostty`, `gnome-calculator`. Dependencies resolved: `gtk4-layer-shell`, `ghostty-shell-integration`, `ghostty-terminfo`, `qt6-wayland`, `cpptrace`, `gtksourceview5`.
|
||||
- **Nuances**:
|
||||
- `quickshell` (`/usr/bin/qs`): Keybindings use `qs -c noctalia-shell`, requiring the shell config to be registered under that client ID.
|
||||
- `ghostty` (`/usr/bin/ghostty`): Zero-config start; auto-sources if `GHOSTTY_RESOURCES_DIR` is set.
|
||||
- `powerlevel10k-zsh` (Skipped): `~/.zshrc` sources `cachyos-zsh-config`, making the deployed `~/.p10k.zsh` symlink inert decoration until sourced.
|
||||
- **Shell**: Zsh with `cachyos-zsh-config`.
|
||||
|
||||
## 01a08864-7ec1-70d0-9225-2f08fcb00986
|
||||
updated_at: 1789003385
|
||||
Repo: ~/.omp (command-center), branch main (6 ahead of origin/main at commit a9127a0).
|
||||
Deploy: ~/.omp/scripts/deploy.sh. Stow-style import into dotfiles/<pkg>/<home-relative path>.
|
||||
Modes: --check (dry report), --adopt (identicals), sync (default: adopt + link new + quarantine divergents to .quarantine/<host>/<ts>/<path>). zz-<hostname> overrides deploy last.
|
||||
Hooks: Arms core.hooksPath=.githooks on deploy; self-gating enabled.
|
||||
Secrets: GITEA_TOKEN moved from .zshrc to untracked ~/.config/environment.d/secrets.env (0600). .zshrc has guarded source stub.
|
||||
Untracked: agent/managed-skills/* (auto-learn), secrets.env (local-only).
|
||||
Target: blank@blankpad (pw: <REDACTED-rotated-2026-09-10>). Setup: git clone + deploy.sh.
|
||||
Pending: Push main to origin/main.
|
||||
|
||||
## 01a05602-bf3e-76c3-97a1-38e51673bb86
|
||||
updated_at: 1788165416
|
||||
NPU Provider: dankclaw-npu | http://192.168.0.143:7771/v1 | openai-completions.
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
thread_id: 01a08864-7ec1-70d0-9225-2f08fcb00986
|
||||
updated_at: 1789003385
|
||||
|
||||
Dotfiles deployed via ~/.omp/scripts/deploy.sh (stow-style dotfiles/<pkg>/<path>). Modes: --check, --adopt, sync (quarantines divergents). core.hooksPath armed. GITEA_TOKEN extracted to ~/.config/environment.d/secrets.env. main 6 ahead of origin; push pending. Untracked: agent/managed-skills/* & local secrets.env.
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
thread_id: 01a088e9-5dc1-767c-9a3d-cc0a8a7ec00f
|
||||
updated_at: 1789026078
|
||||
|
||||
Reviewed /home/dank/.omp repo: main synced, changes in AGENTS.md/config/models, deleted skills, stash on develop. Installed quickshell, ghostty, gnome-calculator on blankpad; skipped powerlevel10k-zsh (inert in current zshrc).
|
||||
@@ -0,0 +1,5 @@
|
||||
Handle FastFlowLM (FLM) image constraints for NPU inference.
|
||||
- Endpoint: `http://192.168.0.143:7771/v1`
|
||||
- Strict decoder: Accepts only PNG and JPEG/JPG. WebP is rejected.
|
||||
- Workflow: Convert WebP upstream before FLM calls.
|
||||
- Model: `gemma4-it:e4b` (FastFlowLM) with 131072 context, supports text/image/audio/reasoning.
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Convert WebP to PNG for FLM NPU endpoint
|
||||
for file in *.webp; do
|
||||
magick "$file" "${file%.webp}.png"
|
||||
done
|
||||
@@ -0,0 +1,5 @@
|
||||
Dual-edit model configuration between `~/.pi/agent/models.json` and `~/.omp/agent/models.yml`.
|
||||
- Use Ki-style multiples for context (e.g., 200k → 204800).
|
||||
- Update both `contextWindow` and `maxTokens` simultaneously.
|
||||
- No cache flush required for config-only updates.
|
||||
- Validation: `jq -e '.providers."llamacpp (dankserver)".models[0] | .contextWindow, .maxTokens' ~/.pi/agent/models.json`
|
||||
+1
-2
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
# Validates model config sync
|
||||
#!/bin/bash
|
||||
jq -e '.providers."llamacpp (dankserver)".models[0] | .contextWindow, .maxTokens' ~/.pi/agent/models.json
|
||||
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'])"
|
||||
@@ -1 +0,0 @@
|
||||
Provides operational playbook for niri Wayland compositor. Covers cursor/Browser XDG defaults, SIGUSR1 hot-reload workflow, and nvidia-modeset semaphore deadlock recovery via modprobe config and force-reboot.
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Hot-reload niri without killing session
|
||||
if pgrep -x niri > /dev/null; then
|
||||
niri-msg reload
|
||||
# Fallback signal method
|
||||
kill -SIGUSR1 $(pgrep niri)
|
||||
fi
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
# /etc/modprobe.d/nvidia-workarounds.conf
|
||||
# Resolves nvidia-modeset semaphore deadlock freezing niri options nvidia-modeset disable_vga=1
|
||||
options nvidia-modeset modeset=1
|
||||
@@ -0,0 +1,5 @@
|
||||
Standardize Git and Dotfile operations within the OMP harness.
|
||||
- Git: `git stash` before `git checkout` to clear dirty `agent/memories/` files.
|
||||
- Deploy: Run `~/.omp/scripts/deploy.sh` with `--check`, `--adopt`, or `sync`.
|
||||
- Secrets: `GITEA_TOKEN` lives in `~/.config/environment.d/secrets.env` (0600).
|
||||
- Branches: Work on feature/PR branches, push to `origin/main` when ready.
|
||||
@@ -0,0 +1,5 @@
|
||||
1. Branch: `pr/fix-models`
|
||||
2. Stash if dirty: `git stash`
|
||||
3. Checkout main: `git checkout main`
|
||||
4. Push & open PR to dank/command-center
|
||||
5. Rebase/merge after CI.
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Stow-style deployment into dotfiles/<pkg>/<path>
|
||||
# Modes: --check (dry), --adopt (identicals), sync (default)
|
||||
# Quarantines divergents to .quarantine/<host>/<ts>/<path>
|
||||
exec ~/.omp/scripts/deploy.sh "$@"
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
# Fix nvidia-modeset semaphore deadlock with niri
|
||||
nvidia-modeset modeset=1
|
||||
@@ -1 +0,0 @@
|
||||
Git operations tailored for OMP environment. Addresses dirty `agent/memories/` tracking pitfalls, implements stash-before-checkout protocol, and standardizes PR creation in dank/command-center.
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Safely checkout main in OMP
|
||||
if [ -n "$(git status -s agent/memories/)" ]; then
|
||||
git stash
|
||||
echo "Stashed dirty agent/memories/ files."
|
||||
fi
|
||||
git checkout main
|
||||
git pull origin main
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
# PR Branch Convention
|
||||
- Branch: pr/fix-models
|
||||
- Target: main
|
||||
- Strategy: Single commit, clean history
|
||||
- Workflow: Feature -> PR -> Squash/Merge
|
||||
@@ -1 +0,0 @@
|
||||
Handles dual config synchronization, Ki-style context sizing, and validation for Frank's OMP model definitions. Covers lock-step editing of models.json and models.yml, contextWindow/maxTokens mirroring, and FLM WebP constraints.
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"contextWindow": 204800,
|
||||
"maxTokens": 204800
|
||||
}
|
||||
Reference in new issue
Block a user