test(audit): Phase 10 - 7 integration tests against synthetic src/

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.
This commit is contained in:
ed
2026-06-22 02:05:02 -04:00
parent db4fb5c2ef
commit 0690dcef5f
3 changed files with 118 additions and 9 deletions
+5 -5
View File
@@ -1,15 +1,15 @@
"""Synthetic aggregate module for the v2 audit integration tests."""
from __future__ import annotations
from typing import Any
from typing import Any, List
FileItems = list[dict[str, Any]]
FileItems = List[dict[str, Any]]
def build_file_items() -> 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] = []
def format_paths(items: FileItems) -> List[str]:
out: List[str] = []
for item in items:
path = item["path"]
view_mode = item["view_mode"]
+4 -4
View File
@@ -1,15 +1,15 @@
"""Synthetic AI client for the v2 audit integration tests."""
from __future__ import annotations
from typing import Any
from typing import Any, List
Metadata = dict[str, Any]
History = list[dict[str, Any]]
History = List[dict[str, Any]]
def send_result() -> dict[str, Any]:
def send_result() -> Metadata:
data: Metadata = {"role": "user", "content": "hello"}
return data
def append_history() -> list[dict[str, Any]]:
def append_history() -> History:
data: History = []
return data