{ "track_id": "cruft_elimination_20260627", "name": "C11/Python Type Promotion Mandate - Cruft Elimination", "type": "refactor", "scope": { "new_files": [ "scripts/audit_boundary_layer.py", "tests/test_boundary_layer.py", "tests/test_metadata_fat_struct.py", "tests/test_project_context.py", "docs/reports/boundary_layer_20260628.md", "docs/reports/TRACK_COMPLETION_cruft_elimination_20260627.md" ], "modified_files": [ "src/type_aliases.py", "src/models.py", "src/app_controller.py", "src/gui_2.py", "src/aggregate.py", "src/rag_engine.py", "src/multi_agent_conductor.py", "src/mcp_client.py", "src/ai_client.py", "src/project_manager.py" ], "deleted_files": [] }, "blocked_by": [ "type_alias_unfuck_20260626 (SHIPPED, merged to master @ 88a1bdcb)", "metadata_promotion_20260624 (SHIPPED)" ], "blocks": [], "pre_existing_failures_remaining": [], "deferred_to_followup_tracks": [], "verification_criteria": [ "VC1: Metadata is @dataclass(frozen=True, slots=True) (typed fat struct)", "VC2: Zero TypeAlias = dict[str, Any] for Metadata", "VC3: Zero dict[str, Any] parameter types in internal files", "VC4: Zero Any parameter types in internal files", "VC5: Zero Optional[T] return types", "VC6: Zero hasattr(f, ...) entity dispatch checks", "VC7: self.files is always List[FileItem]", "VC8: flat_config returns typed ProjectContext", "VC9: rag_engine.search() returns List[RAGChunk]", "VC10: All 7 audit gates pass --strict", "VC11: 10/11 batched test tiers PASS", "VC12: Effective codepaths < 1e+18", "VC13: Boundary layer audit written", "VC14: The 12 per-aggregate dataclasses used at their specific paths" ], "estimated_effort": { "method": "scope (per workflow.md Tier 1 Track Initialization Rules). NO day estimates.", "scope": "9 phases, ~14 sites, 12-file scope, 5-7 atomic commits" }, "risk_register": [ { "id": "R1", "likelihood": "medium", "description": "Implementation may be larger than the spec suggests (defensive isinstance checks scattered throughout)" }, { "id": "R2", "likelihood": "low", "description": "Test regressions from signature changes; FIX-IF-FAILS protocol applies" } ] }