testsAndMisc/python_pkg
Krzysztof kuhy Rudnicki 9d12c03ccc vscode_optimizer: move under python_pkg and cover 0% -> 100%
meta/scripts/optimize_vscode.py was 498 lines against a 250-line cap and
completely untested, and at that path the repo-wide gate (--cov=python_pkg,
fail_under = 100) could not see it. Moved verbatim to
python_pkg/vscode_optimizer/_optimize.py - git records a pure rename, and
the content is byte-identical to HEAD.

The move and the tests are one commit by necessity: any intermediate state
with the module under python_pkg/ but uncovered turns every pytest run in
the repo red, including ci-mirror on pre-push for unrelated work.

Running it by path no longer works after the move (sys.path[0] would be the
module's own directory), so __main__.py replaces it, following the existing
focus_policy convention rather than a sys.path insert. Nothing invoked the
old path: grep over .sh/.desktop/.service/.yml/.py found zero callers.

98 tests reach 100% line and branch coverage. Patching is confined to real
boundaries - subprocess.run, the module-level Path, builtins.input, sys.argv
- so the forthcoming split has few monkeypatch targets to re-point.

Writing the tests surfaced a pre-existing bug, left unfixed here and pinned
by a strict xfail: _VENDOR_KW's "ati" key is a substring of "VGA compatible
controller", which appears in every lspci display line, so it matches before
"intel" is ever tried and Intel iGPUs are misreported as AMD.

Verified: python3 -m python_pkg.vscode_optimizer --dry-run reproduces the
pre-move 18-change plan and writes nothing; the real settings.json is
untouched; repo-wide pytest is 1846 passed at 100%; over-cap files 37 -> 36.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-17 13:10:10 +02:00
..
android_ui Clear five python_pkg packages under the cap 2026-08-16 18:14:36 +02:00
app_icons Clear five python_pkg packages under the cap 2026-08-16 18:14:36 +02:00
archwiki_rag archwiki_rag: offline semantic search over the Arch Wiki 2026-08-10 15:33:18 +02:00
artgate artgate: add 64px icon spec for the diffusion route 2026-08-15 23:30:32 +02:00
billsplit_coverage Move billsplit Flutter app into the monorepo 2026-08-03 12:22:22 +02:00
brother_printer Clear the last three brother_printer test modules over the cap 2026-08-16 17:27:07 +02:00
code_tutor Clear the seven over-cap code_tutor test modules 2026-08-16 18:06:38 +02:00
focus_policy Clear five python_pkg packages under the cap 2026-08-16 18:14:36 +02:00
live_calc refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +02:00
morning_routine Remove wake_alarm (extracted to kuhyx/wake-alarm) and fix the orchestrator 2026-06-22 12:47:06 +02:00
random_jpg Clear five python_pkg packages under the cap 2026-08-16 18:14:36 +02:00
shared Migrate wake_alarm to the shared gatelock backend 2026-06-22 07:33:49 +02:00
syncyomi_guard syncyomi_guard: refuse a collapsed payload as the new good copy 2026-08-10 15:33:18 +02:00
tests python_pkg: the file-length test was blind to its own CI venv 2026-07-25 16:32:32 +02:00
token_audit Clear five python_pkg packages under the cap 2026-08-16 18:14:36 +02:00
vscode_optimizer vscode_optimizer: move under python_pkg and cover 0% -> 100% 2026-08-17 13:10:10 +02:00
wsg_grabber Clear the wsg_grabber test modules: python_pkg is now under the cap 2026-08-16 18:19:26 +02:00
__init__.py feat(screen_locker): harden table tennis verification, remove running option 2026-02-02 21:38:52 +01:00
.gitignore screen_locker: enhance workout logging and UI 2025-12-02 23:22:13 +01:00
conftest.py test: achieve 100% branch coverage across all python_pkg packages 2026-03-21 17:51:36 +01:00