agent: repoint roles to frank-medium/dankclaw-3090; sync niri tweaks, memories, managed skills

- config.yml: default/commit -> frank-medium (dankserver); task/tiny/smol/vision -> frank-small (dankclaw-3090); vision xhigh
- models.yml: add llamacpp (dankclaw-3090) provider; frank-large preserve_thinking + context notes
- niri: focus-ring/border/shadow layout, hot-corners off, re-add noctalia.kdl include; blankpad eDP-1 scale 1.0
- memories: flush rollouts; retire frank_large + marreta_authentik skills; add auth-chain/kv-pool/quadlet-log skills
- managed-skills: 40+ new fleet runbook skills
- agent/skills: import built-in skill set
This commit is contained in:
Frank committed 2026-09-17 12:27:08 -07:00
1 parent 83c9c92b3f
commit 135bb2194d
103 files changed
+5333 -170

No files matched your search

@@ -1,5 +1,92 @@
# Raw Memories
## 01a0a7ff-dae2-71fd-9bd0-a8aa7c9d3676
updated_at: 1789533306
## llama.cpp Multi-GPU Parallelism (verified against docs/multi-gpu.md on master)
### Split modes (--split-mode / -sm)
- **layer** (default): Pipeline parallelism. Each GPU holds a contiguous slice of layers. Token flows through GPUs sequentially. Minimizes inter-GPU data movement; tolerates slow interconnects (PCIe fine). Best for prefill and fitting large models. Weakness: needs many tokens to keep pipeline full, poor low-batch latency.
- **tensor** (experimental): True tensor parallelism. Splits each layer's weights AND KV cache across all GPUs via a 'meta device', doing cross-GPU all-reduce per layer (NCCL). Minimizes latency, parallelizes any workload size. Heavily bottlenecked by interconnect speed (wants NVLink + NCCL). Best for fast token generation.
- **row** (deprecated): Row-split dense weights only. Predecessor to tensor; comparatively poor performance.
- **none**: Single GPU, selected via --main-gpu.
### Key constraints on tensor mode
- Requires flash attention ON (-fa on)
- KV cache must be non-quantized: f32/f16/bf16 only
- NOT implemented for: MoE/hybrid, Mamba/SSM, and several other architectures (hard-fails with SPLIT_MODE_TENSOR not implemented)
- --fit is disabled; must size --ctx-size / --parallel manually
### Separate axis (NOT model parallelism)
- **--parallel / -np**: Number of concurrent server slots (each with own KV cache). Serving-level concurrency/batch parallelism. On single GPU this is the main throughput knob.
- **CPU+GPU offload** (--n-gpu-layers, --n-cpu-moe): Hybrid inference when model exceeds VRAM. Device-distribution strategy, not 'parallelism' in the strict sense.
### What does NOT exist in llama.cpp
- No first-class context/sequence parallelism mode (unlike vLLM/TensorRT-LLM). If you see that term applied to llama.cpp, it's loose third-party language.
### User hardware context
- Single RTX 4070 Max-Q (~12 GB VRAM). Multi-GPU split modes (layer/tensor) do not apply. Relevant knobs: --parallel for concurrency, CPU+GPU offloading for models >12 GB.
## 01a0a817-7382-7525-92f1-14cd7fade072
updated_at: 1789529008
## Blankpad niri layout: externals left of eDP-1
Final committed layout (83c9c92, 2026-09-16):
- DP-2: x=0, portrait 1200x1920, transform 90 CCW, scale 1
- HDMI-A-1: x=1200, portrait 1200x1920, transform 270 CCW, scale 1
- eDP-1: x=2400, 1536x864, scale 1.25 (restated per block-reset trap)
X-offset chain: 0 → 1200 (DP-2 portrait width) → 2400 (HDMI-A-1 portrait width) → eDP-1.
Config path: ~/.omp/dotfiles/zz-blankpad/niri/.config/niri/cfg/display.kdl
Repo: dank/command-center (main), local Gitea at 192.168.0.143:3000.
The skill niri-output-rotation-pinning was followed correctly end-to-end. No new pitfalls discovered beyond what the skill already documents.
## 01a0a798-f61e-71d3-8fb6-55879410c3fc
updated_at: 1789518997
## Niri Display Rotation (Portrait 180° Flip)
### Hardware
- eDP-1: Lenovo laptop panel, 1920x1080, scale 1.25, normal transform
- DP-2: PNP(XYM) PM1601, 1920x1200, scale 1, portrait (was 270° CCW → now 90° CCW)
- HDMI-A-1: PNP(XYM) PM1601 demoset-1, 1920x1200, scale 1, portrait (was 90° CCW → now 270° CCW)
### Key Technical Facts
- Niri config split into `~/.config/niri/cfg/*.kdl` (Noctalia-style includes)
- Display config: `~/.config/niri/cfg/display.kdl` — per-output `transform` field in KDL
- `niri msg outputs` — shows current transform, logical size, scale, position
- `niri validate -c <path>` — dry-run validation before applying
- `niri msg action load-config-file` — hot-reload config at runtime (no restart needed)
- After rotation in portrait, logical size swaps (1920x1200 → 1200x1920) but logical position X may shift; verify with `niri msg outputs` after reload
### Critical Pitfall: Portrait 180° Rotation
- In portrait, "flip 180°" = swap 90° ↔ 270° transform values
- Setting `transform "180"` on a portrait monitor kicks it to landscape-upside-down
- Niri transform values are absolute: `normal`, `90° counter-clockwise`, `180°`, `270° counter-clockwise` — no modular arithmetic
### Workflow (Reusable)
1. `niri msg outputs` — capture current state
2. Read `~/.config/niri/cfg/display.kdl`
3. Edit transform values (90↔270 swap for 180° portrait flip)
4. `niri validate -c ~/.config/niri/config.kdl` — confirm valid
5. `niri msg action load-config-file` — apply
6. `niri msg outputs | grep -E '^Output|Transform|Logical|Scale'` — verify
7. `git add && git commit && git push` in dotfiles repo (`/home/blank/.omp`)
## 01a09e49-b17b-74c3-83e9-2eb95ed25621
updated_at: 1789368866
Task: user requested changing Noctalia theme yellow to red and terminal text color to same red; rollout ended before applying edits after an ask about crispness scope was interrupted.
Noctalia facts: Niri-based DE at /usr/bin/noctalia. Main config ~/.config/noctalia/config.toml. Niri config includes noctalia.kdl for display settings. IPC uses direct `noctalia msg <command>` instead of qs wrapper; key commands panel-toggle, session, lock, launcher. App templates in /usr/share/noctalia/assets/templates/ for gtk, ghostty, alacritty, hyprland, sway, wezterm, helix, btop, starship, qt, kde, cava, scroll, mango, umbriel, foot, emacs, kitty. Palette is generated from an image with `noctalia theme [image]`. Migration notes: Ghostty should use `theme = noctalia`; Alacritty can import noctalia.toml theme; GTK 3/4 accent palette default mentioned as #b267e4 purple; Niri keybinds should map to noctalia msg commands.
Theme-edit workflow: for changing a Noctalia accent such as yellow to red, prefer locating and editing the generated Noctalia palette/theme source before hardcoding per-app colors. If Ghostty is set to `theme = noctalia`, direct terminal color overrides may be less durable than updating the theme itself. Terminal text color should match the chosen red in both the Noctalia palette and any terminal-specific override if used.
Config discovery in this environment: expected ~/.config/noctalia/config.toml and ~/.config/ghostty/config were not successfully read due shaken/pruned tool output. Candidate locations included ~/.config/noctalia, ~/.config/ghostty, and /home/blank/.omp/dotfiles/noctalia/.local/share/noctalia under cwd /home/blank/.omp. Use ls/glob/read on specific files rather than assuming a single canonical path.
Niri crispness facts: in niri 26.04, true compositor AA is limited to corner rounding via niri_rounding_alpha() smoothstep and unused gradient/hue interpolation. Corner AA is driven by window-rule geometry-corner-radius with clip-to-geometry; setting radius 0 short-circuits the shader. Background blur/noise are not AA but cause softness: background-effect { blur true } plus top-level blur { passes 2, offset 3.0, noise 0.03 } creates frosted glass and film grain. Shadows were already off. Wayland clients rasterize text; niri does not alter glyph AA. Ghostty font AA is controlled by freetype-load-flags, while other apps use fontconfig or app-specific settings. No nearest-neighbor resample knob was found in this build.
Decision guidance: when asked to turn off all compositor AA for a crisp look, explain there is no single switch; offer scoped options: hard corners only; hard corners plus disable backdrop blur/noise; full maximum crispness with terminal opacity 1.0/blur 0 and global fontconfig antialias false; or terminal-only crispness. Warn that removing blur/noise changes Noctalia's glass aesthetic.
## 01a0993b-f83f-7331-9cad-fff3fc7f3070
updated_at: 1789286338
Target: agent/models.yml (frank-large entry). Sampler defaults overridden from halogen/greedy to temp=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0. Added preserve_thinking=true to retain thinking blocks across turns. Deployed to dank/command-center on dankclaw. Live effect triggers on next config read; no container restart required. Git LFS locking notice is advisory, does not block pushes. Repo path: ~/.omp.