testsAndMisc/docs/superpowers/contracts/file-length-split-2026-06-14.json
Krzysztof kuhy Rudnicki 038e08d2be feat: split oversized modules for 500-line limit, fix kasa coverage gap
Split diet_guard/_gatelock.py, wake_alarm/_alarm.py, and the
usage_report.py/_usage_report_parsing.py pair into focused
sub-modules so every Python file is <= 500 lines, satisfying
test_file_length.py. Install python-kasa into .venv (declared in
requirements but missing after the 3.13->3.14 venv upgrade),
fixing 8 failing smart_plug tests and restoring 100% coverage.

Also includes prior in-progress work from the working tree: the
wake_alarm Progress/View/Hardware field-grouping refactor,
brother_printer query module + tests, diet_guard foodbank/state/cli
updates, new shared coerce/logging_setup helpers, morning_routine
orchestrator tweaks, dwm window-manager config, gaming scripts, and
misc maintenance/digital-wellbeing script updates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 07:19:37 +02:00

17 lines
1.1 KiB
JSON

{
"title": "Split 6 oversized files to satisfy the 500-line file-length test",
"objective": "Fix python_pkg/tests/test_file_length.py::test_all_python_files_are_at_most_500_lines by splitting diet_guard/_gatelock.py + test_gatelock.py, wake_alarm/_alarm.py + test_alarm.py, and the usage_report.py + _usage_report_parsing.py pair into focused modules, each <= 500 lines, while preserving behaviour, 100% branch coverage on python_pkg, and pylint 10.00/10 on touched non-test modules.",
"acceptance_criteria": [
"All Python source files repo-wide are <= 500 lines",
"python_pkg/tests/test_file_length.py passes",
"Full repo pytest passes with 100% branch coverage on python_pkg",
"pylint 10.00/10 on all touched non-test modules",
"usage_report.py CLI still produces a full Markdown report"
],
"out_of_scope": [
"Changing diet_guard/wake_alarm/usage_report runtime behaviour",
"The pre-existing _AlarmProgress/_AlarmView/_AlarmHardware field-grouping refactor (unrelated, already in the working tree)"
],
"verifier": "python3 -m pytest -q && python3 -m pylint <touched-modules>"
}