testsAndMisc/docs/superpowers/evidence/register-book-guard-icon-2026-09-26.json

32 lines
1.6 KiB
JSON

{
"intent": "book-guard's new Flutter app gets a launcher icon from the shared family, and android_ui's CLI test stops depending on the host's live phone lease.",
"scope": [
"python_pkg/app_icons/_glyph_art_more.py, glyphs.py, apps.py: new open-book glyph + book_guard_app registry entry",
"python_pkg/android_ui/tests/test_cli.py: test_serial_is_forwarded_to_the_driver patches _lease_phone",
"Non-goal: no change to style.py or any other app's icon"
],
"changes": [
"Added the filled open-book glyph (two pages, 48px spine gap >= MIN_NEGATIVE_SPACE) and registered book_guard_app -> ~/src/book-guard/app",
"Patched _lease_phone in the serial-forwarding test: unpatched it read the real lease and exited busy whenever another session held the phone"
],
"verification": [
{
"command": "python3 -m pytest python_pkg/app_icons/tests python_pkg/android_ui/tests/test_cli.py",
"result": "pass",
"evidence": "44 app_icons tests pass at 100% branch coverage; test_cli 20 passed, including while a phone lease was held"
},
{
"command": "python3 -m python_pkg.app_icons preview; generate --app book_guard_app --android",
"result": "pass",
"evidence": "Open book reads at full size, circle mask and 48dp; APK with the icon installed on the Pixel 6a"
}
],
"risks": [
"Registry invariant tests assume every app shares the accent -- satisfied (#B8862E)"
],
"rollback": [
"git revert this commit; regenerate book-guard's icon if the glyph goes away",
"Re-run python_pkg/app_icons tests after rollback"
]
}