aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-18 20:45:14 -0500
committerCraig Jennings <c@cjennings.net>2026-06-18 20:45:14 -0500
commit123c17c42e420096a37f41664c71159481554cb6 (patch)
treef3e9eab77a1798808c67b1e0bc392d93b750f8f2
parentcac380cf2a2960c97274c6ce3cc8b4ae3feb62d8 (diff)
downloaddotemacs-123c17c42e420096a37f41664c71159481554cb6.tar.gz
dotemacs-123c17c42e420096a37f41664c71159481554cb6.zip
chore(todo): note face-coverage prefix-collision edge
-rw-r--r--todo.org4
1 files changed, 3 insertions, 1 deletions
diff --git a/todo.org b/todo.org
index 256207c53..3b3d73554 100644
--- a/todo.org
+++ b/todo.org
@@ -62,7 +62,9 @@ From the 2026-06-15 lint-org sweep. Each needs a human read — these are judgme
** DONE [#C] Reproducible face-coverage generator + coverage diff :feature:solo:
CLOSED: [2026-06-18 Thu]
-Built: =face-coverage-dump.el= + =face_coverage.py= + =make face-coverage= / =make face-coverage-diff=. Validated by regenerating and diffing against the hand-built worklist (headings identical; only an intro line and one sharper description differ). Compare mode reports newly-covered / newly-present / disappeared / per-tier deltas.
+Built: =face-coverage-dump.el= + =face_coverage.py= + =make face-coverage= / =make face-coverage-diff=. Validated by regenerating and diffing against the hand-built worklist (headings identical; only an intro line and one sharper description differ). Compare mode reports newly-covered / newly-present / disappeared / per-tier deltas. Unrecognized faces route by defface source (elpa -> own package bucket, built-in -> emacs-general child), so a newly-loaded package self-buckets.
+
+Known edge: a new package whose face prefix collides with an existing family name (e.g. =org-modern= faces start with =org=) folds into that family's bucket instead of getting its own, because the family match wins before the source fallback. Fix when it bites: add the package's prefix to =EXTRA_FAMILIES= in =face_coverage.py=.
=scripts/theme-studio/face-coverage.org= is hand-regenerated by a throwaway /tmp script each time. Commit a self-contained generator so the worklist regenerates with one command, plus a diff that names what coverage changed between runs.