glyph-art evidence: describe the commit that actually landed
Some checks are pending
Pre-commit checks / pre-commit (push) Waiting to run
Python tests / test (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run

The artifact was written for an earlier draft of the change and did not match
what shipped. It claimed _glyph_art.py went 253 -> 208 when HEAD was 220 and
the committed file is 238, omitted apps.py entirely, and carried the line
"Non-goal: any change to the glyph artwork itself" — false, since the whole
point of the commit was adding the note-ascender glyph and the lyricanki
AppIcon entry.

Corrected the line counts, added apps.py to scope, replaced the false non-goal
with the real one (the twelve pre-existing glyphs and style.py are untouched),
and recorded the linux=False check: ~/lyricanki has android/ and no linux/, so
there is no desktop hicolor set to install. Evidence that misdescribes its own
diff is worse than none — it is what a future reader bisects against.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Krzysztof Rudnicki 2026-08-21 16:43:01 +02:00
parent 1d7271f023
commit 18c4a4c6af

View File

@ -1,12 +1,14 @@
{
"intent": "Bring python_pkg/app_icons/_glyph_art.py (253 lines) back under the 250-line cap without discarding the lyricanki note-ascender glyph that pushed it over. This is the last blocker to wiring the cap into pre-commit.",
"intent": "Add the lyricanki launcher icon to the shared family — a new note-ascender glyph plus its registry entry — and keep python_pkg/app_icons/_glyph_art.py under the 250-line cap while doing it, by moving two glyph constants into a companion module. The cap compliance is the last blocker to wiring the cap into pre-commit, which is why the two land together.",
"scope": [
"python_pkg/app_icons/_glyph_art.py: 253 -> 208 lines",
"python_pkg/app_icons/_glyph_art.py: 220 -> 238 lines (adds _NOTE_ASCENDER's artwork, loses _TRACK_BARS and _NOTE_ASCENDER to the companion module)",
"New: python_pkg/app_icons/_glyph_art_more.py (50)",
"python_pkg/app_icons/glyphs.py: imports _NOTE_ASCENDER and _TRACK_BARS from the new module",
"Non-goal: any change to the glyph artwork itself"
"python_pkg/app_icons/glyphs.py: imports _NOTE_ASCENDER and _TRACK_BARS from the new module, and registers the note-ascender Glyph",
"python_pkg/app_icons/apps.py: new lyricanki AppIcon entry (accent #B8862E, glyph note-ascender, linux=False)",
"Non-goal: any change to the artwork of the twelve pre-existing glyphs, or to the shared family constants in style.py"
],
"changes": [
"Added the note-ascender glyph and the lyricanki AppIcon entry, so lyricanki stops shipping the stock Flutter 'beach' icon. linux=False because ~/lyricanki has an android/ target and no linux/ directory — verified on disk, not assumed — so there is no desktop hicolor set to install.",
"Moved the two most recent glyph constants (_TRACK_BARS, _NOTE_ASCENDER) with their comments into a companion module. The division carries no meaning beyond the cap, and the module docstring says so, because a reader would otherwise look for a taxonomy that is not there.",
"glyphs.py imports from both modules. Nothing else changed: the Glyph dataclass, the registry and the lookup all stay put, so no caller or test needs to know which file a glyph lives in — the same contract the original _glyph_art split established."
],
@ -29,7 +31,12 @@
{
"command": "bash meta/scripts/check_file_length.sh --all",
"result": "pass",
"evidence": "'all checked files are within 250 lines'. Both modules are under: 208 and 50."
"evidence": "'all checked files are within 250 lines'. Both modules are under: 238 and 50."
},
{
"command": "ls -d ~/lyricanki/linux",
"result": "pass",
"evidence": "No linux/ directory (android/ is present), confirming linux=False is correct rather than an oversight. The six generated icon assets exist in ~/lyricanki/assets/icon/ and that repo's tree is clean, so the app side was committed separately as the contract's out_of_scope says."
},
{
"command": "pre-commit run --files <the four python files>",
@ -42,6 +49,6 @@
"Two modules now hold glyph data, so someone adding a glyph must pick one. The docstring directs them to the cap rather than to a false distinction."
],
"rollback": [
"git revert the commit; _glyph_art.py returns to 253 lines and the file-length gate cannot be wired until it is under 250 again."
"git revert the commit; lyricanki loses its family icon and returns to the stock Flutter icon, and the _glyph_art split is undone. Because the same commit wires the file-length gate, a revert must also drop that hook or the tree it restores will not satisfy it."
]
}