docs(60): point-of-use corrections from the 2026-10-20 review
Measured fixes, one line each, from the review of everything that landed on 2026-10-20 (issue #60). Each page keeps its own facts; nothing was moved. - inventory/index, index: the census blurb says what the page actually covers (tracked-vs-box-only per file), not "all userspace configuration" - dotfiles-deploy: the wallpaper re-fetch recipe resolves the CDN URL through the wallhaven API — /w/<id> answers text/html, so curl -L never yields a JPEG; description widened to the whole page, tools/index blurb matched - okf-maintenance: the link example and the mistake bullet now agree with okf-spec, which RECOMMENDS absolute bundle paths (they said the opposite) - decisions/index: the unlisted-page gate is kb-coverage.py, not kb-lint - AGENTS.md: the three skill-config subsections are pointers again; the pages own issue tracker, labels and domain docs - swayidle-lock.service: Description names what the unit does (arms the idle lock over noctalia-shell IPC); suspend belongs to noctalia's inhibitor - common.pkgs: git-lfs re-justified by the tracked .gitattributes filter contract; the swayidle comment drops its lid-policy claim
This commit is contained in:
1 parent
71a7e5cb9a
commit
671222b881
9 files changed
+30
-23
No files matched your search
@@ -94,19 +94,16 @@ knowledge base. Those pages own their facts; this is only the pointer.
|
|||||||
|
|
||||||
### Issue tracker
|
### Issue tracker
|
||||||
|
|
||||||
Work items are Gitea issues on `dank/command-center` (Dankclaw,
|
See [`omp-docs/skills/issue-tracker.md`](omp-docs/skills/issue-tracker.md).
|
||||||
`192.168.0.143:3000`) — no `gh`, no `tea`. See
|
|
||||||
[`omp-docs/skills/issue-tracker.md`](omp-docs/skills/issue-tracker.md).
|
|
||||||
|
|
||||||
### Triage labels
|
### Triage labels
|
||||||
|
|
||||||
The five canonical roles, each label string equal to its name. See
|
See [`omp-docs/skills/triage-labels.md`](omp-docs/skills/triage-labels.md).
|
||||||
[`omp-docs/skills/triage-labels.md`](omp-docs/skills/triage-labels.md).
|
|
||||||
|
|
||||||
### Domain docs
|
### Domain docs
|
||||||
|
|
||||||
Single-context, inside the existing knowledge base: `omp-docs/glossary.md` and
|
ADRs: `omp-docs/decisions/`. `omp-docs/glossary.md` is intentionally not created.
|
||||||
`omp-docs/decisions/`. See [`omp-docs/skills/domain-docs.md`](omp-docs/skills/domain-docs.md).
|
See [`omp-docs/skills/domain-docs.md`](omp-docs/skills/domain-docs.md).
|
||||||
|
|
||||||
## Secret gate (HARD rule)
|
## Secret gate (HARD rule)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=swayidle idle lock (locks via noctalia-shell IPC, suspends on lid)
|
Description=swayidle idle lock watcher (arms the idle lock via noctalia-shell IPC; suspend is covered by noctalia's sleep inhibitor)
|
||||||
Documentation=https://github.com/swaywm/swayidle
|
Documentation=https://github.com/swaywm/swayidle
|
||||||
After=graphical-session.target
|
After=graphical-session.target
|
||||||
# Restart together with the session, not merely at boot: this unit is wanted by
|
# Restart together with the session, not merely at boot: this unit is wanted by
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Architecture decision records
|
# Architecture decision records
|
||||||
|
|
||||||
Decisions this repo has made and will not silently revisit. One file per
|
Decisions this repo has made and will not silently revisit. One file per
|
||||||
decision, named `NNN-<slug>.md`, listed here — an unlisted page fails `kb-lint`
|
decision, named `NNN-<slug>.md`, listed here — an unlisted page fails
|
||||||
and does not exist as far as any agent is concerned.
|
`scripts/kb-coverage.py` and does not exist as far as any agent is concerned.
|
||||||
|
|
||||||
**No ADRs yet.** The first one lands the moment a decision stops being
|
**No ADRs yet.** The first one lands the moment a decision stops being
|
||||||
reversible.
|
reversible.
|
||||||
|
|||||||
+2
-2
@@ -57,8 +57,8 @@ search practices, open models, MCP.
|
|||||||
|
|
||||||
## [Inventory](inventory/index.md)
|
## [Inventory](inventory/index.md)
|
||||||
|
|
||||||
Pre-pruning census of every userspace config on this box — the input for the
|
Per-file tracked-vs-box-only census of `~/.config` on blankpad — the input for the
|
||||||
pruning session.
|
dotfiles pruning/adoption session.
|
||||||
|
|
||||||
## [Decisions](decisions/index.md)
|
## [Decisions](decisions/index.md)
|
||||||
|
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
Census of all userspace program configuration on the workstation.
|
Census of all userspace program configuration on the workstation.
|
||||||
|
|
||||||
- [home-config-census.md](home-config-census.md) — Complete inventory of top-level dotfiles, ~/.config, ~/.local/share state, and special directories (~/.pi, ~/.omp)
|
- [home-config-census.md](home-config-census.md) — Per-file tracked-vs-box-only census of ~/.config on blankpad — the input for the dotfiles pruning/adoption session.
|
||||||
@@ -38,7 +38,7 @@ happened, and the durable lesson. It is not a file manifest.
|
|||||||
|
|
||||||
A gate that gets an empty file list reports success. Law: a check MUST fail closed;
|
A gate that gets an empty file list reports success. Law: a check MUST fail closed;
|
||||||
a silently-passing gate is worse than none, because it buys the belief of safety.
|
a silently-passing gate is worse than none, because it buys the belief of safety.
|
||||||
Details: [secret gate](../tools/index.md).
|
Details: [secret gate](/tools/index.md).
|
||||||
```
|
```
|
||||||
|
|
||||||
**Rules:**
|
**Rules:**
|
||||||
@@ -58,8 +58,9 @@ Details: [secret gate](../tools/index.md).
|
|||||||
- ❌ Forgetting the entry — the change lands undocumented and the next agent rediscovers
|
- ❌ Forgetting the entry — the change lands undocumented and the next agent rediscovers
|
||||||
the failure the hard way.
|
the failure the hard way.
|
||||||
- ❌ Starting a second log in a subdirectory — the sprawl that makes logging useless.
|
- ❌ Starting a second log in a subdirectory — the sprawl that makes logging useless.
|
||||||
- ❌ Invented absolute paths in links — links resolve relative to the page, and the
|
- ❌ Invented paths in links — the RECOMMENDED form is an absolute bundle path
|
||||||
linter checks them.
|
(`/tools/index.md`), resolved against the bundle root; the mistake is a path that
|
||||||
|
names no file there, and that is what the linter reports.
|
||||||
- ❌ Re-expanding an old entry in place — the entry is a pointer; git is the transcript.
|
- ❌ Re-expanding an old entry in place — the entry is a pointer; git is the transcript.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
---
|
---
|
||||||
type: reference
|
type: reference
|
||||||
title: Dotfiles deployment tier
|
title: Dotfiles deployment tier
|
||||||
description: How dotfiles/ packages become live configuration — stow-equivalent symlinks, host override packages, and the two laws about theme media and systemd enable symlinks.
|
description: How dotfiles/ packages become live configuration — deploy.sh modes, host override packages, and the tier's hard-won laws, from media and generated theme output to systemd enable/start semantics, dconf dumps, and idle-lock watcher triage.
|
||||||
tags:
|
tags:
|
||||||
- dotfiles
|
- dotfiles
|
||||||
- deployment
|
- deployment
|
||||||
- systemd
|
- systemd
|
||||||
- noctalia
|
- noctalia
|
||||||
timestamp: 2026-10-20
|
timestamp: 2026-10-20
|
||||||
verified: 2026-10-20
|
verified: 2026-10-21
|
||||||
---
|
---
|
||||||
|
|
||||||
# Dotfiles deployment tier
|
# Dotfiles deployment tier
|
||||||
@@ -54,8 +54,17 @@ checkout, `git rm --cached` on the branch notwithstanding.
|
|||||||
|
|
||||||
Restore on a fresh box: the library lives in `~/.local/share/noctalia/wallpapers/`, a path
|
Restore on a fresh box: the library lives in `~/.local/share/noctalia/wallpapers/`, a path
|
||||||
`deploy.sh` does not manage. Every filename is `wallhaven_<id>.<ext>` and the ID is the
|
`deploy.sh` does not manage. Every filename is `wallhaven_<id>.<ext>` and the ID is the
|
||||||
whole address — `curl -L -o <name> "https://wallhaven.cc/w/<id>"` into that directory puts
|
whole address — but `https://wallhaven.cc/w/<id>` answers `text/html`, the web page, so
|
||||||
the set back. Losing it is an acceptable outcome; 80 MB per clone forever is not.
|
resolve the direct CDN URL through the API and download that:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
id=73g8xo # the wallhaven_<id> stem of any file in the set
|
||||||
|
url=$(curl -s "https://wallhaven.cc/api/v1/w/$id" | grep -o '"path":"[^"]*' | cut -d'"' -f4)
|
||||||
|
curl -L -o ~/.local/share/noctalia/wallpapers/"${url##*/}" "$url"
|
||||||
|
```
|
||||||
|
|
||||||
|
`data.path` already ends in `wallhaven_<id>.<ext>`, so the filename keeps itself. Losing it
|
||||||
|
is an acceptable outcome; 80 MB per clone forever is not.
|
||||||
|
|
||||||
## Law: never `systemctl --user enable` a unit from a worktree
|
## Law: never `systemctl --user enable` a unit from a worktree
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ Configuration guides and reference material for installed software. Each tool ha
|
|||||||
* [applications](applications.md) — Default userspace applications on CachyOS with Niri — browsers, editor, terminal, file manager, audio, screenshots, gaming.
|
* [applications](applications.md) — Default userspace applications on CachyOS with Niri — browsers, editor, terminal, file manager, audio, screenshots, gaming.
|
||||||
* [cachyos](cachyos.md) — Arch-based rolling release with performance-optimized kernels, repositories, and gaming stack. Running on the workstation.
|
* [cachyos](cachyos.md) — Arch-based rolling release with performance-optimized kernels, repositories, and gaming stack. Running on the workstation.
|
||||||
* [comfyui](comfyui/index.md) — Node-based AI image generation engine on dankclaw. FLUX.2 klein 4B, CPU backend, systemd managed.
|
* [comfyui](comfyui/index.md) — Node-based AI image generation engine on dankclaw. FLUX.2 klein 4B, CPU backend, systemd managed.
|
||||||
* [dotfiles-deploy](dotfiles-deploy.md) — How `dotfiles/` packages become live config: `deploy.sh` modes, host override packages, and why theme media and worktree-enabled units are traps.
|
* [dotfiles-deploy](dotfiles-deploy.md) — How `dotfiles/` packages become live config: `deploy.sh` modes, host override packages, and the tier's hard-won laws, from media and generated theme output to systemd enable/start semantics, dconf dumps, and idle-lock watcher triage.
|
||||||
* [ghostty](ghostty/index.md) — GPU-accelerated terminal emulator with extensive configuration, keybindings, and shaders.
|
* [ghostty](ghostty/index.md) — GPU-accelerated terminal emulator with extensive configuration, keybindings, and shaders.
|
||||||
* [gitea](gitea/index.md) — Private Git hosting on dankclaw. Quadlet-managed containers: Gitea, PostgreSQL, Caddy.
|
* [gitea](gitea/index.md) — Private Git hosting on dankclaw. Quadlet-managed containers: Gitea, PostgreSQL, Caddy.
|
||||||
* [handy](handy.md) — Offline speech-to-text transcription with WebKitGTK backend and Tauri v2 UI.
|
* [handy](handy.md) — Offline speech-to-text transcription with WebKitGTK backend and Tauri v2 UI.
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ btop
|
|||||||
|
|
||||||
# system / fleet tooling
|
# system / fleet tooling
|
||||||
yay # AUR helper bootstrap: ships in the cachyos repo; aur.pkgs installs need it
|
yay # AUR helper bootstrap: ships in the cachyos repo; aur.pkgs installs need it
|
||||||
git-lfs # LFS smudge/clean for tracked wallpapers (see .gitattributes)
|
git-lfs # .gitattributes still routes image types through the LFS filter; no image is tracked since 2026-10-20
|
||||||
swayidle # idle lock + lid policy via swayidle-lock.service unit
|
swayidle # idle lock watcher via swayidle-lock.service; suspend locking is noctalia's sleep inhibitor
|
||||||
|
|
||||||
# desktop apps
|
# desktop apps
|
||||||
flameshot # screenshot tool; bound to CTRL+Shift+1/2/3 in niri keybinds
|
flameshot # screenshot tool; bound to CTRL+Shift+1/2/3 in niri keybinds
|
||||||
|
|||||||
Reference in new issue
Block a user