Commit Graph
12 Commits
Author SHA1 Message Date
ed 1d1e3ca9f9 refactor(src): Phase 10.2 batch 5 - log_registry + models + multi_agent_conductor + theme_2
For these 4 sites, the Result migration cascades badly (the function
returns a non-Result type that's used in many places). Per the audit's
heuristic #19 (catch + log = INTERNAL_COMPLIANT), we convert the
SILENT_SWALLOW to narrow-catch + sys.stderr.write. This satisfies the
no-silent-recovery principle while keeping the public API stable.

log_registry.py:249 (2 sites - inner + outer try/except for OSError
on session path scan and comms.log read)

models.py:508 (datetime.fromisoformat ValueError; field stays as
string on parse failure; logs the parse error to stderr)

multi_agent_conductor.py:317 (PersonaManager.load_all fallback for
ticket.persona_id lookup; logs the failure to stderr)

theme_2.py:282 (markdown_helper.get_renderer().clear_cache; logs
the import/attribute error to stderr)

Tests verified:
- tests/test_log_registry.py (5 tests) PASS
- tests/test_logging_e2e.py (1 test) PASS
- tests/test_auto_whitelist.py (4 tests) PASS
- tests/test_orchestration_logic.py (8 tests) PASS
- tests/test_mma_tier_usage_reset_fix.py (4 tests) PASS
2026-06-17 22:39:18 -04:00
ed 01fdcd8842 refactor(src): migrate src/log_registry.py to Result[T] error handling (2 sites)
Migrates the 2 try/except sites in LogRegistry:

1. save_registry() - line 132: was except Exception: print(...)
   Now except OSError: and returns Result[bool] with ErrorInfo on
   failure. Removed the print() diagnostic.

2. update_auto_whitelist_status() - line 246: was except Exception: pass
   Now except OSError: (narrowed). No return value change since
   the method returns None anyway.

Both sites narrowed from broad except Exception to specific stdlib
I/O exceptions. Callers of save_registry() (register_session,
update_session_metadata) ignore the Result return value.

Tests verified:
- tests/test_log_registry.py (5 tests) PASS
- tests/test_logging_e2e.py (1 test) PASS
- tests/test_auto_whitelist.py (4 tests) PASS
2026-06-17 19:10:12 -04:00
ed 7d555361f9 more organization 2026-06-06 10:24:22 -04:00
ed 873edf42cf began to go through the files and organize imports and gui_2.py's new context defs
still a bunch to sift through after the last ai passes
2026-06-05 21:44:41 -04:00
ed b5e512f483 feat(sdm): inject structural dependency mapping tags across codebase
Adds [C: caller] tags to functions/methods and [M: mutation] / [U: usage] tags to class variables based on cross-module call analysis.
2026-05-13 22:35:52 -04:00
ed 8c06c1767b refactor(sdm): Global pass with refined 'External Only' SDM tags. Pruned redundant internal references and fixed indentation logic in injector. Verified full project compilation. 2026-05-09 15:00:35 -04:00
ed 94598b605a checkpoint dealing with personal manager/editor 2026-03-10 23:47:53 -04:00
ed 2ffb2b2e1f docs 2026-03-08 03:11:11 -04:00
ed 3c9e03dd3c fix(logs): Make empty log pruning more robust by including sessions with missing metadata 2026-03-07 12:35:37 -05:00
ed b6084aefbb feat(logs): Update pruning heuristic to always remove empty logs regardless of age 2026-03-07 12:32:27 -05:00
ed 0e3b479bd6 WIP: PAIN 2026-03-05 14:24:03 -05:00
ed a0276e0894 feat(src): Move core implementation files to src/ directory 2026-03-04 09:55:44 -05:00