@@ -2063,6 +2063,20 @@ Steps:
20632063 ` wide_positional_calls=0 ` , ` wide_function_args=0 ` ,
20642064 ` nested_wide_for_unpacking=0 ` , ` range_len_loops=0 ` ), and
20652065 ` git diff --check ` .
2066+ - [x] 2026-07-02: Removed the single-use homework-upsert direct-field helper.
2067+ The direct update loop now lives in ` apply_homework_data ` after validated
2068+ fields, keeping text, validated, and direct assignment steps visible in one
2069+ short function. Verification:
2070+ ` uv run ruff check api/views/homework_upsert_save.py docs/refactoring-plan.md ` ,
2071+ ` python -m py_compile api/views/homework_upsert_save.py ` ,
2072+ ` uv run python manage.py test api.tests.test_homework_upserts api.tests.test_homework_mutations api.tests.test_homeworks ` ,
2073+ removed-helper reference scan, touched-function line-threshold scan,
2074+ ` uvx pyrefly check ` , repository AST cleanup scan excluding migrations
2075+ (` forbidden_comprehensions=0 ` , ` threshold_violations=0 ` ,
2076+ ` append_constructed=0 ` , ` wide_tuple_unpacking=0 ` ,
2077+ ` wide_positional_calls=0 ` , ` wide_function_args=0 ` ,
2078+ ` nested_wide_for_unpacking=0 ` , ` range_len_loops=0 ` ), and
2079+ ` git diff --check ` .
20662080- [x] Replace deadline reminder spec factory functions with named static spec
20672081 values and constants so reminder event planning no longer uses trivial
20682082 pass-through factories or nine-field constructor calls. Verification:
0 commit comments