Add blankpad-host auto-learn skills and memory store

Tracked the harness artifacts accumulated on blankpad (blank@), matching
the existing convention for the --home-dank-* memory stores and the 36
already-tracked managed-skills.

managed-skills (9): authentik-proxy-provider-app-link,
dankclaw-guard-chain-layer-diagnosis, e2e-arr-rawip-reachability-triage,
halogen-kv-pool-fit, lan-client-split-dns-fix, noctalia-reference,
rootless-quadlet-log-retrieval, ssh-key-bootstrap-no-sshpass,
swapfile-resize-safe-ordering.

memories (2 stores): --home-blank-.omp-- (dotfiles_git, handy_lifecycle,
input_permissions) and --home-blank-Projects-serverAppConfig--
(frank_large_quadlet).

Secret sweep before staging: no PEM blocks, no credential literals.
Content is fleet topology/IPs only, same class as the tracked dank stores.
This commit is contained in:
Frank committed 2026-09-13 00:25:29 -07:00
1 parent b60e95158c
commit 4b82f35354
37 files changed
+669

No files matched your search

@@ -0,0 +1,35 @@
# Consolidated Memory
## OMP Harness & Server App Config
- **Location**: `~/.omp` (config/dotfiles), `~/Projects/serverAppConfig` (cloned).
- **Repository Details**: Remote repo `serverAppConfigs` (plural), local dir `serverAppConfig` (singular). Head `701ab14` on `main` (tracks `origin/main`). HTTP transport with embedded dank token, no SSH keys.
- **Structure** (308 files, 4.2 MB):
- `dankclaw/`: Dankclaw stack definitions.
- `dankserver/`: Inference backend config.
- `frankbook-pro/`: 7 quadlet units (sonarr, radarr, lidarr, readarr, prowlarr, qbittorrent, gluetun).
- `shared/`: Homepage (html/css/js + services.json), alloy, loki, prometheus, searxng.
- `tests/`: 47 files, E2E suite.
- `serverAppConfigs-docs/`: 115 files, Architecture KB (deployment flow, network/storage/testing policy, container netns, Dankclaw service pages).
- `old/`, `report/`, `scripts/`, `.githooks/`, `AGENTS.md`: Legacy, reports, tooling, hooks.
- **Recent Commits**: Observability quadlet cutover (loki/alloy/comfyui images, grafana OAuth secret per-service env seeding, docs commit recording exposure posture + unconfigured state).
## Dotfiles & Git Workflow
- **State Inspection**: `git status --short | git branch --show-current | git log --oneline HEAD..@{u}`. Untracked dirs: `.pre-pull-backup/`, `home/`.
- **Modified Configs**: `alacritty.toml`, `config.ghostty`, `noctalia.css` (gtk3/4), niri `.kdl` files. Shift to noctalia theme.
- **Ghostty Fix**: Replace `font-hinting = hinting` with `freetype-load-flags = hinting,light` (line 10).
- **Commit/Push Pattern**: `git add <file> && git commit -m "<msg>" && git push`. Mitigate LFS lock warnings via `git config lfs.http://<repo>/info/lfs.locksverify true`.
- **Process Reload**: Ghostty reload via USR1: `pgrep ghostty | while read pid; do /usr/bin/kill -USR1 "$pid"; done`.
## Handy Application Lifecycle
- **Binary**: `/usr/bin/handy`.
- **Kill**: `pkill -f handy`.
- **Start**: `hub op=start, application=/usr/bin/handy, pty=true, persist=true, ready={log:'.*', timeout:10}`.
- **Status**: Persistent daemon running. 69 catalog models seeded.
## Device & Input Permissions
- **Issue**: `Platform error: permission denied opening 16 device node(s) under /dev/input` causing keyboard listener failure.
- **Diagnosis**: `/dev/input/*` owned by `root:input` with `crw-rw----` (660). User `blank` was missing the `input` group.
- **Resolution**: `sudo usermod -aG input blank`.
- **Pitfalls**:
1. `usermod` without `sudo` fails to lock `/etc/passwd`.
2. `sudo` password entry in CLI environment requires PTY for reliable input.