From a280c29d2ca3a0c97dc60dca2563fdac4ade4795 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 21 Oct 2026 01:06:47 -0700 Subject: [PATCH] chore(tier): close the ignore/deploy drift, and stop justifying git-lfs by dead config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `deploy_file` excludes `*/Noctalia*` (noctalia's capital-N palette naming) but `.gitignore` had only the lowercase classes, so a generated palette file could become tracked-but-never-deployed — the fiction class #41 removed, reintroduced by the ignore list falling out of step with the deployer. The patterns are one contract in two files; both halves are now stated and the comment says so. `natives/` (2.4 MB of tree-sitter grammars the harness unpacks into the repo root on first use, measured on blankpad) sat unnamed in the root, one `git add -A` away from being committed as configuration. It is runtime state by every clause of AGENTS.md's doctrine, so it is ignored. The wallpaper re-fetch note pointed at `https://wallhaven.cc/w/`, which answers text/html — it now names the API resolution the deploy page carries. `git-lfs` was installed because `.gitattributes` routes image types through the LFS filter — for wallpapers this week's diff untracked: `git lfs ls-files` is zero, so those four rules match nothing. The manifest now states what the tool is actually for (cloning LFS-backed upstreams such as Hugging Face model/dataset repos) and the file records its own inert state. Deleting `.gitattributes` is a pruning call for a session with Frank, not a cleanup an agent runs alone. Verified with `git check-ignore -v` for both new rules. Refs #60 --- .gitattributes | 10 ++++++++++ .gitignore | 20 ++++++++++++++++---- packages/common.pkgs | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/.gitattributes b/.gitattributes index b1b4dc7..1726f76 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,13 @@ +# LFS routing for image types. Measured 2026-10-21: this repo tracks ZERO LFS files +# (`git lfs ls-files` = 0) — the wallpaper library became live theme state and is gitignored +# (omp-docs/tools/dotfiles-deploy.md), so these four rules match nothing today. They are kept +# because tracked media is a plausible future and idle filters cost nothing; deleting the file +# is a pruning call for a session with Frank, not a cleanup an agent runs alone. +# +# Do not cite this file as the reason `git-lfs` is installed on a box. The manifest carries its +# own justification (packages/common.pkgs), and a tool justified by dead config is a tool nobody +# can defend when the config goes. + *.jpg filter=lfs diff=lfs merge=lfs -text *.jpeg filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index 3264ac8..9e26146 100644 --- a/.gitignore +++ b/.gitignore @@ -86,15 +86,27 @@ agent/memories/--home-blank-.omp-wt-* # 2026-10-20), so this path in the repo was a duplicate of it, not its source — and # note that untracking deletes the copy in every other checkout regardless of # `git rm --cached` on the branch. A fresh box starts with an empty library; every -# filename carries its wallhaven ID, so `curl -L -o https://wallhaven.cc/w/` -# puts it back. Law: omp-docs/tools/dotfiles-deploy.md +# filename carries its wallhaven ID; `/w/` answers `text/html`, so resolve the CDN URL at +# `https://wallhaven.cc/api/v1/w/` and download `data.path` — the recipe, with the reason it +# is not a plain `curl -L`, is on omp-docs/tools/dotfiles-deploy.md dotfiles/noctalia/.local/share/noctalia/wallpapers/ # --- generated theme output: machine-written, never reviewable, never deployed --- # noctalia/matugen rewrite these in place; a tracked copy is a stale snapshot that -# deploy.sh would push back over a live palette. Patterns match the exclusion list in -# scripts/deploy.sh. Law: omp-docs/inventory/home-config-census.md, Refs #42 +# deploy.sh would push back over a live palette. These patterns are the ignore half of the +# exclusion list in `deploy_file` (scripts/deploy.sh): change one, change the other, or a +# generated file becomes tracked-but-never-deployed — the fiction class #41 removed. The +# capital-N rule is noctalia's own palette-directory naming, and it was in deploy.sh only. +# Law: omp-docs/inventory/home-config-census.md, Refs #42, #60 dotfiles/**/themes/noctalia* dotfiles/**/colors/noctalia* dotfiles/**/noctalia.* dotfiles/**/noctalia-* +dotfiles/**/Noctalia* + +# --- harness natives: unpacked runtime payloads, never configuration ---------- +# 2.4 MB of tree-sitter grammars the harness unpacks into the repo root on first use (measured +# on blankpad 2026-10-21). Regenerable, unreviewable, not config — every clause of AGENTS.md's +# runtime-state doctrine applies, and it sat unnamed in the root, one `git add -A` away from +# being committed as if it were configuration. +natives/ diff --git a/packages/common.pkgs b/packages/common.pkgs index cb4c7bd..5853882 100644 --- a/packages/common.pkgs +++ b/packages/common.pkgs @@ -18,7 +18,7 @@ btop # system / fleet tooling yay # AUR helper bootstrap: ships in the cachyos repo; aur.pkgs installs need it -git-lfs # .gitattributes still routes image types through the LFS filter; no image is tracked since 2026-10-20 +git-lfs # cloning LFS-backed upstreams (Hugging Face model/dataset repos); this repo tracks zero LFS files — .gitattributes is idle config swayidle # idle lock watcher via swayidle-lock.service; suspend locking is noctalia's sleep inhibitor # desktop apps