ed
bcfb4887b1
TIER-2 READ conductor/code_styleguides/error_handling.md end-to-end before Phase 7: refactor(gui_2): migrate L4321 worker to Result[T] (Phase 7)
...
Migrate the worker() closure in _check_auto_refresh_context_preview (L4321)
to the canonical Result[T] pattern:
- Extract _worker_context_preview_result(app) -> Result[None] helper into
new Phase 7 Worker/Background Result Helpers region.
- The legacy worker() wrapper calls the helper and drains errors to
app.controller._worker_errors (with controller._worker_errors_lock
acquired on append) per sub-track 3 Phase 6 Group 6.5 telemetry drain.
- The try/finally cleanup (setting _is_generating_preview=False and
handling _pending_preview_refresh) is preserved verbatim.
Tests:
- test_phase_7_l4321_worker_context_preview_result_success
- test_phase_7_l4321_worker_context_preview_result_failure
Audit: INTERNAL_BROAD_CATCH count in src/gui_2.py dropped from 3 to 2
(remaining: L591 _diag_layout_state, L897 _capture_workspace_profile).
The lock-protected append ensures thread-safety when multiple worker
threads call _report-style drains concurrently. The helper preserves
the original fallback behavior (app.context_preview_text =
'Error generating context preview.' on failure) so the user-visible
UX is unchanged.
2026-06-20 00:20:52 -04:00
..
2026-06-19 21:13:46 -04:00
2026-06-08 00:46:12 -04:00
2026-06-08 00:33:21 -04:00
2026-06-19 10:59:18 -04:00
2026-06-08 00:47:21 -04:00
2026-06-18 12:09:00 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-15 13:54:57 -04:00
2026-06-11 14:48:03 -04:00
2026-06-13 18:05:12 -04:00
2026-06-17 00:32:33 -04:00
2026-06-17 00:38:29 -04:00
2026-06-08 20:46:41 -04:00
2026-06-08 17:49:34 -04:00
2026-06-08 15:19:30 -04:00
2026-06-07 19:54:17 -04:00
2026-06-08 20:46:41 -04:00
2026-06-07 10:20:17 -04:00
2026-06-08 10:13:07 -04:00
2026-06-06 22:02:35 -04:00
2026-06-08 23:45:25 -04:00
2026-06-19 14:25:53 -04:00
2026-06-19 12:40:26 -04:00
2026-06-19 19:13:20 -04:00
2026-06-19 16:24:01 -04:00
2026-06-08 23:45:25 -04:00
2026-06-08 20:46:41 -04:00
2026-06-07 19:54:17 -04:00
2026-06-07 10:23:45 -04:00
2026-06-07 10:54:51 -04:00
2026-06-17 18:53:25 -04:00
2026-06-18 09:37:28 -04:00
2026-06-19 19:21:18 -04:00
2026-06-07 15:24:57 -04:00
2026-06-07 19:54:17 -04:00
2026-06-08 00:41:20 -04:00
2026-06-08 01:14:12 -04:00
2026-06-08 00:27:04 -04:00
2026-06-09 17:01:14 -04:00
2026-06-09 16:40:18 -04:00
2026-06-17 19:15:51 -04:00
2026-06-17 00:29:21 -04:00
2026-06-17 00:33:36 -04:00
2026-06-09 18:42:53 -04:00
2026-06-17 22:38:17 -04:00
2026-06-18 12:09:00 -04:00
2026-06-17 23:15:57 -04:00
2026-06-17 22:38:17 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-06 18:30:44 -04:00
2026-06-07 19:54:17 -04:00
2026-06-15 18:21:58 -04:00
2026-06-18 17:55:05 -04:00
2026-06-07 21:21:38 -04:00
2026-06-19 14:25:53 -04:00
2026-06-16 19:06:09 -04:00
2026-06-07 10:10:53 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-15 14:15:52 -04:00
2026-06-07 21:21:38 -04:00
2026-06-15 13:04:45 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 15:37:47 -04:00
2026-06-06 17:16:53 -04:00
2026-06-20 00:20:52 -04:00
2026-06-07 14:43:36 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 12:36:21 -04:00
2026-06-19 09:40:01 -04:00
2026-06-07 19:54:17 -04:00
2026-06-06 21:29:03 -04:00
2026-06-08 15:19:30 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-07 19:54:17 -04:00
2026-06-17 22:42:10 -04:00
2026-06-17 22:42:10 -04:00
2026-06-08 17:51:39 -04:00
2026-06-07 19:54:17 -04:00
2026-06-07 01:34:48 -04:00
2026-06-15 09:41:39 -04:00
2026-06-09 15:37:47 -04:00
2026-06-17 00:38:29 -04:00
2026-06-15 11:04:46 -04:00
2026-06-09 15:42:00 -04:00
2026-06-18 14:26:12 -04:00
2026-06-08 21:17:54 -04:00
2026-06-15 13:52:38 -04:00
2026-06-15 13:25:31 -04:00
2026-06-15 18:27:40 -04:00
2026-06-07 21:21:38 -04:00
2026-06-06 18:01:39 -04:00
2026-06-06 16:58:32 -04:00
2026-06-12 18:07:16 -04:00
2026-06-13 18:57:44 -04:00
2026-06-07 19:54:17 -04:00
2026-06-07 17:57:36 -04:00
2026-06-10 09:16:46 -04:00
2026-06-07 10:01:40 -04:00
2026-06-07 19:54:17 -04:00
2026-06-18 14:40:04 -04:00
2026-06-13 17:50:43 -04:00
2026-06-17 00:38:29 -04:00
2026-06-19 12:36:21 -04:00
2026-06-17 00:30:48 -04:00
2026-06-17 22:31:35 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 12:36:21 -04:00
2026-06-17 00:38:29 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 09:40:01 -04:00
2026-06-07 16:56:05 -04:00
2026-06-11 16:38:09 -04:00
2026-06-11 16:38:09 -04:00
2026-06-08 00:47:03 -04:00
2026-06-15 18:05:45 -04:00
2026-06-09 17:10:33 -04:00
2026-06-12 20:14:01 -04:00
2026-06-12 20:14:40 -04:00
2026-06-17 00:38:29 -04:00
2026-06-10 17:20:57 -04:00
2026-06-10 14:43:27 -04:00
2026-06-16 00:09:02 -04:00
2026-06-09 10:37:14 -04:00
2026-06-10 15:14:35 -04:00
2026-06-12 16:29:22 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 16:14:40 -04:00
2026-06-17 22:29:36 -04:00
2026-06-17 00:38:29 -04:00
2026-06-19 12:36:21 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 16:25:44 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 14:25:53 -04:00
2026-06-17 14:20:17 -04:00
2026-06-17 10:26:32 -04:00
2026-06-15 14:26:32 -04:00
2026-06-16 19:13:30 -04:00
2026-06-16 20:25:44 -04:00
2026-06-17 14:50:01 -04:00
2026-06-19 07:41:15 -04:00
2026-06-16 22:26:04 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 16:14:40 -04:00
2026-06-11 21:46:41 -04:00
2026-06-10 15:13:25 -04:00
2026-06-10 15:45:44 -04:00
2026-06-06 22:48:50 -04:00
2026-06-07 16:02:30 -04:00
2026-06-09 20:45:24 -04:00
2026-06-10 15:14:35 -04:00