Add evaluation framework and fix call graph extraction

- Add evaluation test suite with TypeScript and Python fixtures
- Fix MCP server to defer CodeGraph init until rootUri received
- Fix call edge extraction by calling resolveReferences() after indexAll/sync
- Fix glob matching for root-level files (e.g., **/*.py now matches auth.py)
- Fix duplicate node extraction for methods inside classes
- Update context tests to use buildContext for semantic search + graph traversal
- Export unused formatter functions to fix build

Evaluation results:
- TypeScript: 96% precision, 79% recall, 85% F1
- Python: 99% precision, 80% recall, 85% F1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Colby McHenry
2026-01-18 18:48:22 -06:00
co-authored by Claude Opus 4.5
parent e306114607
commit 6b672f9152
30 changed files with 2600 additions and 129 deletions
@@ -0,0 +1,34 @@
"""Data models for the application."""
from dataclasses import dataclass
from datetime import datetime
from typing import Optional, List
@dataclass
class User:
id: str
email: str
name: str
password_hash: str
created_at: datetime
@dataclass
class Task:
id: str
user_id: str
title: str
description: Optional[str]
completed: bool
created_at: datetime
completed_at: Optional[datetime] = None
@dataclass
class Project:
id: str
user_id: str
name: str
tasks: List[str] # Task IDs
created_at: datetime