1.9 KiB
1.9 KiB
MMA Migration: Epics and Detailed Tasks
Track 1: The Memory Foundations (AST Parser)
Goal: Build the engine that prevents token-bloat by turning massive source files into curated memory views.
1. TDD Approach for tree-sitter Integration
- Create
tests/test_file_cache_ast.py. - Define mock Python source files containing various structures (classes, functions, docstrings,
@core_logicdecorators,# [HOT]comments). - Write failing tests that instantiate
ASTParserand assert thatget_skeleton_view()andget_curated_view()return the precisely filtered strings. - Red Phase: Ensure tests fail because
ASTParserdoes not exist. - Green Phase: Implement the tree-sitter logic iteratively until strings match exactly.
2. ASTParser Extraction Rules (Tasks)
- Task 1.1: Dependency Setup
- Add
tree-sitterandtree-sitter-pythontopyproject.toml/requirements.txt.
- Add
- Task 1.2: Core Parser Class
- Create
ASTParserinfile_cache.pythat initializes the language parser.
- Create
- Task 1.3: Skeleton View Extraction
- Write query to extract
function_definitionandclass_definition. - Keep signatures, parameters, and return type hints.
- Replace all bodies with
pass.
- Write query to extract
- Task 1.4: Curated View Extraction
- Write query to keep class structures and
expression_statementdocstrings. - Implement heuristic to preserve full bodies of functions decorated with
@core_logicor containing# [HOT]comments. - Replace all other function bodies with
... # Hidden.
- Write query to keep class structures and
3. Acceptance Testing Criteria
- Unit Tests: All AST parsing tests pass with >90% coverage for
file_cache.py. - Integration Test: Execute the parser on a large, complex project file (e.g.,
ai_client.py). The outputSkeleton Viewmust be less than 15% of the original token count. TheCurated Viewmust correctly retain docstrings and marked functions while stripping standard bodies.