Private
Public Access
0
0

conductor(plan): mark sub-track 2A (pydantic in models.py) complete [01ddf9f1]

Resuming sub-track 2 (audit violations) per user direction. Sub-track 2A cleared 1 of 61 violations (pydantic in src/models.py via PEP 562 __getattr__ + pydantic.create_model). 60 remain across file_cache (4), api_hooks (4), sloppy (5), app_controller (23), gui_2 (24). Next: 2B (tree_sitter in file_cache.py).
This commit is contained in:
2026-06-07 10:03:48 -04:00
parent e1c8730f20
commit 02239bc38f
2 changed files with 7 additions and 6 deletions
@@ -109,14 +109,14 @@ warmup_modules_in_sys_modules = 9
provider_switch_latency_ms_after_warmup = 0
live_gui_passed = 7
live_gui_failed = 0
audit_main_thread_violations = 63
audit_main_thread_violations = 60
io_pool_max_workers = 4
io_pool_thread_name_prefix = "controller-io"
new_threading_thread_calls_in_src = 0
function_body_heavy_imports = 0
refactored_files_clean = 6
tests_added_total = 44
tests_passing_total = 44
refactored_files_clean = 7
tests_added_total = 51
tests_passing_total = 51
ad_hoc_threads_migrated = 15
domain_specific_threads_exempt = 5
post_shipping_bugfix_commits = 5
@@ -129,7 +129,8 @@ test_failure_notes = "Pre-existing failures unrelated to this work: 1) test_api_
# for the original 9-phase plan. These can be picked up in separate
# tracks.
sub_track_1_phase_6_full = { status = "completed", commit_sha = "253e1798", description = "Bulk ad-hoc thread migration (Phase 6 completion): 15 sites migrated to self.submit_io(...). ZERO new threading.Thread() in src/." }
sub_track_2_audit_violations = { status = "partial", commit_sha = "ae3b433e", description = "Migrate 63 audit violations. PARTIAL (1/63 done): tomli_w removed from src/models.py. 62 violations remain: pydantic in models.py, tree_sitter in file_cache.py, websockets/cost_tracker/session_logger in api_hooks.py, 48 in app_controller.py + gui_2.py, 4 in sloppy.py. The remaining violations are large refactors (especially gui_2.py and app_controller.py) that exceed the scope of a single sub-track; addressed as future work." }
sub_track_2_audit_violations = { status = "in_progress", commit_sha = "01ddf9f1", description = "Migrate 61 audit violations. Resuming 2026-06-07 per user direction (option A: finish in this track). Per-file sub-tracks 2A-2F. 2A DONE (pydantic in models.py, 1 violation). 60 remain. Sub-track 2: file_cache tree_sitter (4), api_hooks lazy-heavy (4), sloppy.py entry (5), app_controller remaining (23), gui_2 remaining (24)." }
sub_track_2a_models_pydantic = { status = "completed", commit_sha = "01ddf9f1", description = "Removed top-level pydantic import from src/models.py. Replaced static GenerateRequest/ConfirmRequest class defs with PEP 562 module __getattr__ that materializes via pydantic.create_model() + _require_warmed('pydantic'). 7 tests in tests/test_models_no_top_level_pydantic.py, all pass. Audit: 61 -> 60." }
sub_track_3_warmup_endpoints = { status = "completed", commit_sha = "8fea8fe9", description = "Add dedicated /api/warmup_status and /api/warmup_wait?timeout=N Hook API endpoints + register in _gettable_fields. Builds on Phase 7 minimal (b464d1fe) which only added warmup field to existing diagnostics endpoint. 7 tests added (5 unit + 2 live_gui), all pass." }
sub_track_4_gui_status_toast = { status = "completed", commit_sha = "f3d071e0", description = "GUI status bar indicator + completion toast. 6 tests added (5 unit + 1 live_gui), all pass. Polls warmup_status each frame; on completion, shows 3s transient 'ready' tag in status_success color. No separate toast window (state transition is the notification)." }
conftest_atexit_fix = { status = "completed", commit_sha = "8957c9a5", description = "Register atexit handler that calls _io_pool.shutdown(wait=False) at process exit. Fixes the run_tests_batched.py hang between batches where ThreadPoolExecutor.__del__ was blocking on shutdown(wait=True) for stuck warmup jobs." }