Private
Public Access
0
0
Commit Graph

25 Commits

Author SHA1 Message Date
ed 6c66c03e82 refactor(src): file_cache.py Phase 11.3.5 - extract _get_mtime_safe
Phase 11.3.5. The original try/except (OSError, ValueError): mtime = 0.0
in get_cached_tree is now extracted to a Result-returning helper.

The helper returns Result[float]; the caller uses .data (0.0 fallback) and
can inspect .errors. The convention requires Result[T] for try/except sites
that can fail; the helper satisfies this requirement.

Audit post-migration:
- _get_mtime_safe L48 = INTERNAL_COMPLIANT (Heuristic A) ✓
- get_cached_tree L92 = no try/except for mtime (extracted)

Tests: 24/24 pass (test_ast_parser, test_file_cache_no_top_level_tree_sitter).
2026-06-18 00:14:17 -04:00
ed 0f5290f038 refactor(src): Phase 10.2 batch 1 - session_logger + file_cache Result[T] migration
Migrates 5 SILENT_SWALLOW sites to full Result[T] pattern:

session_logger.py (4 sites):
1. log_api_hook - returns Result[bool] (was None)
2. log_comms - returns Result[bool] (was None)
3. log_tool_call - returns Result[Optional[str]] (was Optional[str])
4. log_cli_call - returns Result[bool] (was None)

file_cache.py (1 site):
- L98: removed dead code (try/except StopIteration around
  next(iter(_ast_cache)) is unreachable because we just checked
  len(_ast_cache) >= 10)

Updates tests/test_session_logger_optimization.py to extract
result.data from the new Result-based API.

All callers of these log_* functions previously ignored the
return value; they continue to ignore the new Result return
value (backwards-compatible).
2026-06-17 22:29:36 -04:00
ed a5b40bcff4 refactor(src): narrow exception types in Phase 7 batch (8 sites across 7 files)
Migrates the 8 try/except sites in Infrastructure + Hook + Utility
files by narrowing the exception types from broad 'except Exception'
to specific stdlib/domain exceptions.

Files and sites:
1. src/api_hooks.py:453 (HookHandler.do_GET error response)
   except Exception -> except (OSError, ValueError)
2. src/api_hooks.py:826 (HookHandler.do_POST error response)
   except Exception -> except (OSError, ValueError)
3. src/api_hooks.py:916 (websocket connection cleanup)
   except Exception -> except (OSError, ValueError)
4. src/file_cache.py:84 (path mtime stat)
   except Exception -> except (OSError, ValueError)
5. src/orchestrator_pm.py:37 (track metadata.json read)
   except Exception -> except (OSError, json.JSONDecodeError, UnicodeDecodeError)
6. src/orchestrator_pm.py:49 (track spec.md read)
   except Exception -> except (OSError, UnicodeDecodeError)
7. src/outline_tool.py:67 (ast.unparse node.returns)
   except Exception -> except (ValueError, TypeError)
8. src/outline_tool.py:90 (ast.unparse ImGui context)
   except Exception -> except (ValueError, TypeError, AttributeError)
9. src/shell_runner.py:99 (subprocess cleanup on error)
   except Exception -> except (OSError, subprocess.SubprocessError)
10. src/summarize.py:187 (summarise_file fallback)
    except Exception -> except (OSError, ValueError, TypeError, AttributeError)
11. src/summarize.py:191 (summarise_file outer)
    except Exception -> except (OSError, ValueError, TypeError)

Decisions:
- src/api_hook_client.py: 0 violations; 2 compliant sites; no migration
- src/hot_reloader.py:58 - kept except Exception (module reload can
  raise any exception; test fixture uses generic Exception)
- src/api_hooks.py:938-941 - RETHROW (keep as-is; cascading if changed)

Tests verified:
- tests/test_outline_tool.py (3 tests) PASS
- tests/test_hot_reloader.py (8 tests) PASS
- tests/test_hot_reload_integration.py (13 tests) PASS
2026-06-17 19:20:49 -04:00
ed a41b31ed9f refactor(file_cache): remove top-level tree_sitter* imports; lazy via _require_warmed + TYPE_CHECKING
Sub-track 2B: 4 violations cleared. Added 'from __future__ import annotations' + TYPE_CHECKING import for tree_sitter/tree_sitter_python/tree_sitter_cpp/tree_sitter_c. Runtime access via _require_warmed() in ASTParser.__init__. 6 new tests in tests/test_file_cache_no_top_level_tree_sitter.py. All 25 tests pass (6 new + 19 existing).
2026-06-07 10:10:53 -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 e2305ff49a Antigravity is dog shit. 2026-05-20 07:51:58 -04:00
ed a55a1200a0 last progress before ending last session 2026-05-17 12:40:10 -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 737b9f31e6 docs: reorganize file_cache.py with region tags and update tooling guidelines 2026-05-13 22:30:42 -04:00
ed bb468a5f7d fix(ast): improve C++ name extraction for complex return types 2026-05-10 15:33:15 -04:00
ed 2a71aff18c WIP: Phase 6 review 2026-05-10 15:14:54 -04:00
ed ff29e20873 refactor(infra): cull unused infrastructure and file cache helpers 2026-05-10 11:53:14 -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 904dabe6a1 feat(mcp): Validate C++ tools against real-world gencpp components and improve enum support 2026-05-05 20:40:21 -04:00
ed 992e206769 feat(mcp): Finalize C/C++ AST tools with robust testing and bug fixes 2026-05-05 20:08:51 -04:00
ed 8642d894df feat(parser): Implement C/C++ update_definition 2026-05-05 19:44:40 -04:00
ed 799feb0f94 feat(parser): Implement C/C++ get_definition and get_signature 2026-05-05 19:42:14 -04:00
ed 3bb850aca9 test(mcp): Add tests for C/C++ skeleton and outline tools 2026-05-05 19:07:17 -04:00
ed d3cd7cf75a feat(parser): Implement C/C++ skeleton and outline extraction 2026-05-05 18:51:56 -04:00
ed c025ebc29d feat(parser): Add C and C++ support to ASTParser 2026-05-05 18:42:53 -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 af4a227d67 feat(mma): Implement Deep AST-Driven Context Pruning and mark track complete 2026-03-06 17:05:48 -05:00
ed a0276e0894 feat(src): Move core implementation files to src/ directory 2026-03-04 09:55:44 -05:00