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:
+1
-1
@@ -149,7 +149,7 @@ User review surfaced five outstanding UI issues, each previously attempted witho
|
||||
|
||||
## Remaining Backlog (Phases 3 & 4)
|
||||
|
||||
0. [~] **Track: Sloppy.py Startup Speedup** `[track-created: cd4fb045] [phase-1-2-done: f9a01258] [phase-3-done: 51c054ec] [phase-4-done: 3849d304] [phase-5a-done: 78d3a1db] [phase-5b-done: 69d098ba] [phase-5c-done: 48c96499] [phase-5d-done: de6b85d2] [phase-5-done: 515a3029] [phase-6-partial-done: 85d18885] [sub-track-1-done: 253e1798] [post-shipping-fix-1: 8c4791d0] [post-shipping-fix-2: 88fc42bb] [post-shipping-fix-3: 52ea2693] [sub-track-3-done: 8fea8fe9] [sub-track-4-done: f3d071e0] [conftest-atexit-fix: 8957c9a5] [sub-track-2-partial: ae3b433e] [phase-9-shipped: 12cec6ae] [sub-track-2-PENDING: 62-violations-remaining]`
|
||||
0. [~] **Track: Sloppy.py Startup Speedup** `[track-created: cd4fb045] [phase-1-2-done: f9a01258] [phase-3-done: 51c054ec] [phase-4-done: 3849d304] [phase-5a-done: 78d3a1db] [phase-5b-done: 69d098ba] [phase-5c-done: 48c96499] [phase-5d-done: de6b85d2] [phase-5-done: 515a3029] [phase-6-partial-done: 85d18885] [sub-track-1-done: 253e1798] [post-shipping-fix-1: 8c4791d0] [post-shipping-fix-2: 88fc42bb] [post-shipping-fix-3: 52ea2693] [sub-track-3-done: 8fea8fe9] [sub-track-4-done: f3d071e0] [conftest-atexit-fix: 8957c9a5] [sub-track-2-resumed: 01ddf9f1] [sub-track-2a-done: 01ddf9f1] [phase-9-shipped: 12cec6ae] [sub-track-2-PENDING: 60-violations-remaining]`
|
||||
*Link: [./tracks/startup_speedup_20260606/](./tracks/startup_speedup_20260606/), Spec: [./tracks/startup_speedup_20260606/spec.md](./tracks/startup_speedup_20260606/spec.md), Plan: [./tracks/startup_speedup_20260606/plan.md](./tracks/startup_speedup_20260606/plan.md)*
|
||||
*Goal: Reduce sloppy.py startup time. Main Thread Purity Invariant. 9 phases, 57 tasks. 44 TDD tests added (all passing). 7 main thread purity tests enforce invariant for 6 refactored files.*
|
||||
*Final measured: import src.ai_client 161ms (was 1800ms; 91% reduction / 1638ms saved). import src.gui_2 341ms (was 1770ms; 81% reduction / 1429ms saved). Total ~3067ms saved on the 2 big files. 62 audit violations remain (was 63 after Sub-track 2 partial; was 67 baseline) - all 6 refactored files contribute 0 new violations.*
|
||||
|
||||
@@ -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." }
|
||||
|
||||
Reference in New Issue
Block a user