From 18c4a4c6afa47d120d72532a2a33a3634db40721 Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Fri, 21 Aug 2026 16:43:01 +0200 Subject: [PATCH] glyph-art evidence: describe the commit that actually landed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .../evidence/glyph-art-split-2026-08-21.json | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/superpowers/evidence/glyph-art-split-2026-08-21.json b/docs/superpowers/evidence/glyph-art-split-2026-08-21.json index f74d38f6..79f63c86 100644 --- a/docs/superpowers/evidence/glyph-art-split-2026-08-21.json +++ b/docs/superpowers/evidence/glyph-art-split-2026-08-21.json @@ -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 ", @@ -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." ] }