--home-blank-.omp--: MEMORY.md +140 / learned.md / memory_summary.md / raw_memories.md +1002 rewritten by auto-learn after the model rename, frank-medium split-balance and bottleneck studies. Skills renamed to single-topic buckets: dotfile-git-workflow -> ghostty-text-aa + niri-display-rotation + noctalia-theme, handy-service-mgmt -> handy-flm-inference, inference-runtime -> llama-cpp-parallelism. --home-blank-Projects-serverAppConfig--: 38 new rollout summaries, raw_memories.md/MEMORY.md refreshed, skills re-bucketed (bench-protocol, llm-fleet-model-swap, rootless-quadlet-log-retrieval, orchestration-quadlet). Per-worktree bucket (wt-20261006-122204) is now gitignored, not committed.
29 lines
3.7 KiB
Markdown
29 lines
3.7 KiB
Markdown
# Environment & Tooling Memory (Frank workstation / blankpad)
|
|
|
|
## Persistent facts
|
|
- User: `blank`. Home: `/home/blank`. Dotfiles repo: `~/.omp` (Gitea `dank/command-center` at 192.168.0.143:3000, local `git push` pattern). `serverAppConfig` cloned to `~/Projects/serverAppConfig`.
|
|
- Desktop: Noctalia (Niri-based DE at `/usr/bin/noctalia`). Configs `~/.config/noctalia/config.toml` + `noctalia.kdl`; IPC via `noctalia msg <cmd>` (panel-toggle, session, lock, launcher). App templates in `/usr/share/noctalia/assets/templates/`. Palette generated via `noctalia theme [image]`. GTK accent #b267e4.
|
|
- Ghostty: `theme = noctalia`; text AA via `freetype-load-flags` (not `font-hinting`). Alacritty: `font.antialias=false`.
|
|
- Niri display config: `~/.config/niri/cfg/display.kdl`. Transform values are absolute; in portrait, a 180° flip = swap 90° ↔ 270°.
|
|
- Hardware: Lenovo laptop eDP-1 (1920x1080, scale 1.25) + two PNP(XYM) PM1601 externals (1920x1200, scale 1, portrait). Current blankpad layout: DP-2@x=0 → HDMI-A-1@x=1200 → eDP-1@x=2400.
|
|
- Frank desktop: cursor size 36, capitaine-cursors theme, Authenik 2026.8. Authenik caches claims per session (1-24h TTL) → silent 403s after group add.
|
|
- Inference: `handy` app (`/usr/bin/handy`, hub op=start, application=/usr/bin/handy, pty=true, persist=true) with 69 catalog models. FLM NPU gemma4-it on port 7771 — PNG/JPEG only (no WebP), needs `thinkingLevelMap` in models.json, `.xclbin` symlinks under `~/.config/flm/xclbins/`.
|
|
- Halogen runtime (frank-large): baked-in chat template, no file swap; accepts `chat_template_kwargs` (enable_thinking, preserve_thinking, reasoning_effort). Sampler defaults: temp=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0. `preserve_thinking=true` in `agent/models.yml`.
|
|
- `sudo usermod -aG input blank` was required for `/dev/input` device access (660 root:input).
|
|
- Compositor AA in niri 26.04 is limited to corner rounding via `niri_rounding_alpha()`; blur/noise settings cause softness, not AA. Client-side text AA is not controlled by niri.
|
|
|
|
## Durable workflows
|
|
1. **Noctalia theme change**: edit generated palette/theme source before hardcoding per-app colors; terminal text color must match accent in both palette and terminal override. `noctalia msg` for IPC; `git add && git commit && git push` in dotfiles repo.
|
|
2. **Niri display rotation**: `niri msg outputs` → read `display.kdl` → edit transforms → `niri validate -c <path>` → `niri msg action load-config-file` → verify → git commit/push.
|
|
3. **Ghostty AA fix**: replace `font-hinting = hinting` with `freetype-load-flags = hinting,light`. Reload via USR1: `pgrep ghostty | while read pid; do kill -USR1 "$pid"; done`.
|
|
4. **Handy restart**: `pkill -f handy`, then hub daemon start with pty=true, persist=true, ready timeout 10s.
|
|
5. **llama.cpp parallelism**: layer (default) = pipeline; tensor (experimental) = true tensor parallelism requiring flash attention + non-quantized KV; row (deprecated); none = single GPU. `--parallel` is serving-level concurrency, not model parallelism. No context/sequence parallelism mode.
|
|
|
|
## Pitfalls
|
|
- Portrait 180° rotation in niri is 90°↔270° swap, NOT adding 180°.
|
|
- Tensor mode: flash attention required, KV cache non-quantized, MoE/Mamba/SSM unsupported, `--fit` disabled.
|
|
- Authenik session claim caching causes silent 403s post-group-add.
|
|
- Local dir `serverAppConfig` vs remote repo `serverAppConfigs` name mismatch (trivial, pull/push unaffected).
|
|
- Git LFS lock warnings: mitigate with `git config lfs.http://<repo>/info/lfs.locksverify true`.
|
|
- Noctalia crispness: no single compositor-AA switch; scoped options only (hard corners; hard corners + no blur/noise; full crispness with opacity 1.0/blur 0/fontconfig AA off; terminal-only).
|