mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 21:07:03 +01:00
_analyzer.py 388 -> 226. The file walk, dotted-name map, import resolution and fingerprint go to _deps.py; the skip frozensets and the function regex to _scan_tables.py, which covered the last nine lines after the first cut landed at 259. _is_binary is the only name any test patches on _analyzer and it stays put, so no patch string needed editing. Only test_analyzer.py's import block had to be split. Pass count is 216 before and after. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
20 lines
1.5 KiB
JSON
20 lines
1.5 KiB
JSON
{
|
|
"title": "Split code_tutor/_analyzer.py under the 250-line cap",
|
|
"objective": "Bring python_pkg/code_tutor/_analyzer.py (388 lines) under the repo-wide 250-line cap by moving the file-walking and import-graph half into _deps.py and the static scan tables into _scan_tables.py.",
|
|
"acceptance_criteria": [
|
|
"_analyzer.py, _deps.py and _scan_tables.py are each at most 250 lines.",
|
|
"The code_tutor suite still reports exactly 216 passing tests -- the same count as before the split, proving no test was dropped or silently skipped.",
|
|
"The package keeps 100% branch coverage of the code_tutor source modules.",
|
|
"_is_binary, the only name any test patches on _analyzer, stays defined there so that patch string needs no edit.",
|
|
"Every importer of the moved functions -- cli.py, _plan_builder.py and test_analyzer.py -- names _deps directly rather than reaching them through an _analyzer re-export.",
|
|
"No assertion is changed and no test is deleted, skipped or weakened.",
|
|
"No suppression is added and no coverage exclusion is introduced."
|
|
],
|
|
"out_of_scope": [
|
|
"Changing what any test asserts, or which paths the analyzer skips.",
|
|
"Splitting cli.py, _verifier.py, _llm.py or the code_tutor test modules, which are separate commits.",
|
|
"Adding a re-export shim in _analyzer."
|
|
],
|
|
"verifier": "timeout 90 env PYTHONPATH=. python3 -m pytest python_pkg/code_tutor/tests -q (expects exactly 216 passed), plus an import-time assertion that every patched name resolves, plus pre-commit run --files on the touched files."
|
|
}
|