0690dcef5f
Updated synthetic ai_client.py + aggregate.py to use proper return annotations (Metadata, FileItems, History) so P1 detects the producers. 7 integration tests: 1. synthetic src/ produces 10 real + 3 candidate profiles 2. Metadata has >=1 producer (after fixing fixture annotations) 3. Metadata memory_dim is 'discussion' (canonical) 4. FileItems memory_dim is 'curation' (canonical) 5. History memory_dim is 'discussion' (canonical) 6. Missing audit_inputs tolerated 7. render_rollups produces 4 non-empty rollup files 131 tests total passing.
17 lines
511 B
Python
17 lines
511 B
Python
"""Synthetic aggregate module for the v2 audit integration tests."""
|
|
from __future__ import annotations
|
|
from typing import Any, List
|
|
|
|
FileItems = List[dict[str, Any]]
|
|
|
|
def build_file_items() -> FileItems:
|
|
data: FileItems = [{"path": "a.py", "view_mode": "full"}, {"path": "b.py", "view_mode": "summary"}]
|
|
return data
|
|
|
|
def format_paths(items: FileItems) -> List[str]:
|
|
out: List[str] = []
|
|
for item in items:
|
|
path = item["path"]
|
|
view_mode = item["view_mode"]
|
|
out.append(f"{path}:{view_mode}")
|
|
return out |