Private
Public Access
0
0

conductor(checkpoint): Phase 9 complete - sloppy.py startup speedup track SHIPPED

Track startup_speedup_20260606 complete.

RESULTS:
- import src.ai_client: 1800ms -> 161ms (91% reduction, 1638ms saved)
- import src.gui_2: 1770ms -> 341ms (81% reduction, 1429ms saved)
- Total savings on the 2 biggest files: 3067ms
- Spec target was 2000-2400ms; we EXCEEDED it.

ARCHITECTURAL INVARIANT UPHELD:
- Main Thread Purity: 7 tests enforce zero heavy top-level imports in
  the 6 refactored files (ai_client, app_controller, commands,
  theme_2, markdown_helper, gui_2)
- No new threading.Thread() calls in refactored code paths
- Warmup mechanism (Phase 2) pre-loads heavy modules on _io_pool

COMMITS (8 total):
- 5a856536: feat(startup_profiler)
- 6f9a3af2: feat(audit_main_thread_imports)
- 1354679e: feat(io_pool, warmup)
- 922c5ad9: feat(app_controller wire)
- 16780ec6: test(ai_client no top level)
- 51c054ec: refactor(ai_client no SDK imports) -- Phase 3
- 3849d304: refactor(app_controller no fastapi) + module_loader lift -- Phase 4
- 78d3a1db: refactor(commands lazy proxy) -- Phase 5A
- 69d098ba: refactor(theme_2 no NERV imports) -- Phase 5B
- 48c96499: refactor(markdown_helper lazy) -- Phase 5C
- de6b85d2: refactor(gui_2 lazy + dead imports) -- Phase 5D
- 85d18885: refactor(app_controller submit_io + log_pruner) -- Phase 6
- b464d1fe: feat(api_hooks warmup_status in diagnostics) -- Phase 7
- 61d21c70: refactor(app_controller + main thread purity test) -- Phase 8

FOLLOW-UP SUB-TRACKS IDENTIFIED:
1. Complete ad-hoc thread migration to _io_pool (Phase 6 was partial -
   ~13 threads remain in app_controller.py)
2. Migrate remaining audit violations in src/models.py, sloppy.py,
   and other files not in this track's scope
3. Add dedicated /api/warmup_status + /api/warmup_wait Hook API
   endpoints (Phase 7 was minimal - just added to existing diagnostics)
4. GUI status bar indicator + completion toast (Phase 7 deferred)

The Main Thread Purity Invariant is now enforced by automated tests,
so future regressions will be caught at CI time.
This commit is contained in:
2026-06-06 18:09:22 -04:00
parent 95d1b08142
commit 12cec6ae0c

Diff Content Not Available