fix(audit): path resolution in analyze_consumer_fields + analyze_producer_size

The previous code did Path(src_dir) / function_ref.file, which
double-prefixed (e.g. src/src/project_manager.py) and silently
returned empty. Fixed: if function_ref.file exists as
CWD-relative, use it directly. Only join if it doesn't exist.

Now 130 real field accesses detected across 35 Metadata consumers
in the 2026-06-22 audit output (was 0 before).
This commit is contained in:
ed
2026-06-22 10:05:12 -04:00
parent 67ca680a05
commit 5405345c5a
13 changed files with 299 additions and 287 deletions
@@ -11,15 +11,15 @@ Generated for 13 aggregates
## Cross-validation verdict
- **Metadata**: result_coverage=77 producers, 35 consumers; type_alias_coverage=0 sites
- **Metadata**: result_coverage=77 producers, 35 consumers; type_alias_coverage=130 sites; 0 typed (0%); 130 untyped (100%)
- **FileItem**: result_coverage=0 producers, 0 consumers; type_alias_coverage=0 sites
- **FileItems**: result_coverage=0 producers, 3 consumers; type_alias_coverage=0 sites
- **CommsLogEntry**: result_coverage=0 producers, 0 consumers; type_alias_coverage=0 sites
- **CommsLog**: result_coverage=0 producers, 0 consumers; type_alias_coverage=0 sites
- **HistoryMessage**: result_coverage=0 producers, 2 consumers; type_alias_coverage=0 sites
- **HistoryMessage**: result_coverage=0 producers, 2 consumers; type_alias_coverage=4 sites; 0 typed (0%); 4 untyped (100%)
- **History**: result_coverage=0 producers, 0 consumers; type_alias_coverage=0 sites
- **ToolDefinition**: result_coverage=0 producers, 0 consumers; type_alias_coverage=0 sites
- **ToolCall**: result_coverage=1 producers, 1 consumers; type_alias_coverage=0 sites
- **ToolCall**: result_coverage=1 producers, 1 consumers; type_alias_coverage=1 sites; 0 typed (0%); 1 untyped (100%)
- **Result**: result_coverage=0 producers, 0 consumers; type_alias_coverage=0 sites
- **ToolSpec**: result_coverage=; type_alias_coverage=
- **ChatMessage**: result_coverage=; type_alias_coverage=