Follow-up to #36: the knowledge-base half of the workstation truth-up. The dotfiles half (dotfiles/lazyvim/, the lazyvim zsh function) already landed on main through the live-sync tier, so this branch is prose only.
Adds
omp-docs/tools/neovim.md — the two entry points (nvim vanilla vs lazyvim = NVIM_APPNAME=lazyvim), the fresh-box install sequence, the base16 wallpaper-palette hook and its SIGUSR1 reload contract, and the trap that matters: the official LazyVim recipe clones over ~/.config/nvim and destroys the vanilla quick-edit path this box depends on.
core/dankvoice.md → "Arming auto-speak" — arming is session-scoped by design, so a session that starts silent is a config state, not a fault; the two checks (/say status must say auto-speak on, then pgrep -a pw-play shows one player per segment) prove the chain without blaming the endpoint.
Touches
tools/index.md: neovim entry, alphabetical.
tools/applications.md: Neovim row linked with its verified version (0.12.6 — the table said 0.12.4); the Ghostty row had lost its label and rendered as | ](ghostty/index.md) |.
log.md: two dated entries with the durable lessons.
Verification
./scripts/kb-lint.sh omp-docs → 0 violations; scripts/kb-coverage.py omp-docs → 0 issues; bats tests/ in the live checkout → 45/45.
Follow-up to #36: the knowledge-base half of the workstation truth-up. The dotfiles half (`dotfiles/lazyvim/`, the `lazyvim` zsh function) already landed on `main` through the live-sync tier, so this branch is prose only.
## Adds
- **`omp-docs/tools/neovim.md`** — the two entry points (`nvim` vanilla vs `lazyvim` = `NVIM_APPNAME=lazyvim`), the fresh-box install sequence, the base16 wallpaper-palette hook and its `SIGUSR1` reload contract, and the trap that matters: the official LazyVim recipe clones over `~/.config/nvim` and destroys the vanilla quick-edit path this box depends on.
- **`core/dankvoice.md` → "Arming auto-speak"** — arming is session-scoped by design, so a session that starts silent is a config state, not a fault; the two checks (`/say status` must say `auto-speak on`, then `pgrep -a pw-play` shows one player per segment) prove the chain without blaming the endpoint.
## Touches
- `tools/index.md`: neovim entry, alphabetical.
- `tools/applications.md`: Neovim row linked with its verified version (0.12.6 — the table said 0.12.4); the Ghostty row had lost its label and rendered as `| ](ghostty/index.md) |`.
- `log.md`: two dated entries with the durable lessons.
## Verification
`./scripts/kb-lint.sh omp-docs` → 0 violations; `scripts/kb-coverage.py omp-docs` → 0 issues; `bats tests/` in the live checkout → 45/45.
Refs dank/command-center#36, dank/dankvoice#2 (merged as dank/dankvoice#3).
---
cwd: /home/blank/.omp/wt/wt-20261019-125509-7c8a99d · session: 01a155bb-6474-7366-be9d-629f74af0e05
Neither setting did what it looked like it did, and the knowledge base had no
page for either, so both were invisible until the operator asked.
tools/neovim.md: the two entry points (vanilla `nvim`, `lazyvim` as an
NVIM_APPNAME profile), the fresh-box install, the base16 wallpaper-palette hook
with its SIGUSR1 contract, and the trap that matters — the official recipe
clones over ~/.config/nvim and destroys the vanilla quick-edit path.
tools/applications.md gets the editor row (Ghostty's row had lost its label)
and Neovim's verified version.
core/dankvoice.md gains the arming rule: arming is session-scoped, a silent
session start is a config state, and the two checks — `/say status` then
`pgrep -a pw-play` — prove the chain without blaming the endpoint.
kb-lint 0 violations, index-coverage 0 issues.
dank
merged commit 5b6f4381b0 into main2026-10-19 13:29:28 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to #36: the knowledge-base half of the workstation truth-up. The dotfiles half (
dotfiles/lazyvim/, thelazyvimzsh function) already landed onmainthrough the live-sync tier, so this branch is prose only.Adds
omp-docs/tools/neovim.md— the two entry points (nvimvanilla vslazyvim=NVIM_APPNAME=lazyvim), the fresh-box install sequence, the base16 wallpaper-palette hook and itsSIGUSR1reload contract, and the trap that matters: the official LazyVim recipe clones over~/.config/nvimand destroys the vanilla quick-edit path this box depends on.core/dankvoice.md→ "Arming auto-speak" — arming is session-scoped by design, so a session that starts silent is a config state, not a fault; the two checks (/say statusmust sayauto-speak on, thenpgrep -a pw-playshows one player per segment) prove the chain without blaming the endpoint.Touches
tools/index.md: neovim entry, alphabetical.tools/applications.md: Neovim row linked with its verified version (0.12.6 — the table said 0.12.4); the Ghostty row had lost its label and rendered as| ](ghostty/index.md) |.log.md: two dated entries with the durable lessons.Verification
./scripts/kb-lint.sh omp-docs→ 0 violations;scripts/kb-coverage.py omp-docs→ 0 issues;bats tests/in the live checkout → 45/45.Refs dank/command-center#36, dank/dankvoice#2 (merged as dank/dankvoice#3).
cwd: /home/blank/.omp/wt/wt-20261019-125509-7c8a99d · session: 01a155bb-6474-7366-be9d-629f74af0e05