56fc89976396b38c3e99614f66566902a93ff478
The RDNA4 offload campaign left three HIP probes and a driver sitting loose in $HOME, where the next agent cannot find them and a stray `rm -rf` ends them. They answer a recurring question on the R9700 box — is decode limited by the link or by the engine's read path — so they move into scripts/probes/ with a driver, tests, and a page. Two things changed in the code, not just the address: - The driver measures only after a guard that runs BEFORE anything is built: gpu_busy_percent over PCIE_PROBE_MAX_BUSY, or any process holding /dev/kfd, is a refusal (exit 3) rather than a measurement. A benchmark taken beside a live endpoint is both disruptive and worthless, and silently unloading a production service is not a tool's decision — --force is the human saying otherwise. The refusal-before-build ordering is pinned by a test, because the sysfs and kfd paths are overridable and a refusal is otherwise untestable off the card box. - hip_smoke.hip and pcie_probe.hip called hipGetDeviceProperties, which SEGFAULTS on this ROCm build even though hipGetDeviceCount works; only pcie_bw.hip avoided it, and that is the one that produced the campaign's numbers. Device identity now comes from the sysfs topology block the driver prints, so all three probes are runnable on the build we ship. Verified here: refusal on a real busy APU (exit 3), missing toolchain (exit 4), missing sources (exit 2). Compile-and-run still needs the box with hipcc. Refs #53
Command Center
Configuration repository for Frank's Userspace configurations (i.e. his desktop setup)
AI Disclosures:
- Slop rating: 3/5 - Actively using, actively de-slopping, repository still mostly AI owned
- Completeness: Unfinished, planning planned, no plan yet
- Datacenter model/spend: Less than $5 of Deepseek 4.1 Flash
- Local model: Qwen 3.8 27B
slop rating of 3 or higher indicates human reading is a waste of time outside of this README, and that you might as well ask an agent for help with this.
slop rating 3 indicates Frank is comfortable using this for professional use -- but barely.
The Fleet
| Host | Role | IP |
|---|---|---|
| Workstation | Client box (CachyOS, Niri/Wayland) | — |
| Dankclaw | Server (Podman, reverse proxy, Gitea, NPU) | 192.168.0.143 |
| Dankserver | LLM inference backend | 192.168.0.235 |
The workstation hosts the primary checkout — this repository lives at ~/.omp/ and drives the OMP agent harness.
Structure at a Glance
~/.omp/
├── agent/ # OMP harness runtime
│ ├── config.yml # Live agent configuration
│ ├── models.yml # Model providers (single source of truth)
│ ├── APPEND_SYSTEM.md # System prompt extensions
│ ├── managed-skills/ # Managed skills (SKILL.md bundles)
│ ├── models.db # Model cache
│ └── sessions/ # Persistent session state
├── dotfiles/ # stow-style env-layer packages (home-relative trees)
│ └── deploy via scripts/deploy.sh (check|adopt|sync; quarantine-and-replace)
├── omp-docs/ # Knowledge base (source of truth)
│ ├── index.md # KB index — start here
│ ├── system/ # Fleet hardware, OS, network
│ ├── tools/ # Installed software (llama.cpp, Gitea, Caddy, niri…)
│ ├── core/ # Agent config conventions (settings, models, AGENTS.md)
│ ├── pi/ # Legacy pi-era config reference
│ ├── engineering/ # SDLC, languages, infra, skills ecosystem
│ ├── research/ # Decision-support research (not yet facts)
│ ├── references/ # OKF spec, maintenance procedures
│ ├── caddy/ # Reverse proxy configuration
│ ├── packages/ # Pi packages and extensions
│ ├── inventory/ # Userspace config census
│ ├── reports/ # Investigation reports
│ ├── log.md # Change log
│ └── .okf/ # OKF v0.1 conformance config
├── scripts/ # Utility scripts (kb-lint.sh)
├── plugins/ # npm plugins (pi-peon, etc.)
├── puppeteer/ # Browser automation config
├── .githooks/ # Pre-commit hook
├── .gitignore # Runtime state ignored (databases, logs, cache)
├── AGENTS.md # Agent conventions (niri reload, keybindings)
└── README.md # This file
What Lives Here
Config in, state out. Everything tracked is something an agent reads or writes. Runtime databases (*.db, *.sqlite), logs, caches, and session state are git-ignored — git history captures configuration changes, not agent heartbeat.
Quick Start
| Task | How |
|---|---|
| Read the knowledge base | omp-docs/index.md — every concept linked from here |
| Check agent config | agent/config.yml + agent/models.yml |
| Lint the KB | scripts/kb-lint.sh (OKF v0.1 conformance) |
| View change log | omp-docs/log.md |
| Run a pre-commit | .githooks/pre-commit |
Conventions
- OKF v0.1 — every doc file carries YAML frontmatter with a
type:field.index.mdfiles are directory listings (no frontmatter). - Progressive disclosure —
index.mdis a landing page; drill into subdirectories for detail. - Verified facts — stamped with
verified:when probed against the live fleet. Trust over memory. - Single config source —
~/.omp/agent/models.ymlis the only model registry; OMP is the primary harness and there is no second copy to keep in sync.
Legacy Notes
omp-docs/pi/ and omp-docs/core/ retain general documentation about the pi-coding-agent harness (its config format, packages, skill system) for reference. OMP at ~/.omp/ is the live harness; managed skills live in ~/.omp/agent/managed-skills/.
Languages
Shell
68.8%
HTML
16.2%
Lua
6.5%
HIP
4.8%
CSS
2.7%
Other
1%