ed
c1d2f0e454
feat(audit): implement Phase 3 MemoryDim + Phase 4 APD (11 tasks)
...
Phase 3: MemoryDim classifier with canonical mappings (23 entries,
includes ToolSpec/ChatMessage/ProviderHistory now that they're real),
file-of-origin heuristic (5 buckets), TOML override loader,
classify_memory_dim() with 3-tier precedence.
Phase 4: APD with 4 threshold constants, 5 pattern detectors
(whole_struct, field_by_field, hot_cold_split, bulk_batched,
dominant_pattern), detect_access_pattern() main entry.
30 new unit tests passing (Phase 3: 11, Phase 4: 19).
63 total tests passing.
Phase 5 (CFE - Call Frequency Estimator) next.
2026-06-22 01:26:06 -04:00
ed
200396e4a5
feat(audit): implement Phase 2 PCG (5 tasks: skeleton + P1+P2+P3+build_pcg)
...
Phase 2 PCG: ProducerConsumerGraph (bipartite aggregate<->function)
+ 3 AST passes (P1 return-type, P2 parameter-type, P3 field-access)
+ build_pcg() main entry returning Result[ProducerConsumerGraph].
14 new unit tests passing (2 PCG + 3 P1 + 3 P2 + 3 P3 + 3 build_pcg).
The build_pcg() function tolerates syntax errors per the stdlib
I/O boundary pattern (records ErrorInfo, continues).
Phase 2 complete: 33 unit tests passing. Phase 3 (MemoryDim
classifier with canonical mappings) next.
2026-06-22 01:18:54 -04:00
ed
ef207cf684
feat(audit): complete Phase 1 data model (8 dataclasses, 12 new tests)
...
Tasks 1.3-1.10: AccessPatternEvidence, FrequencyEvidence,
ResultCoverage, TypeAliasCoverage, CrossAuditFinding,
CrossAuditFindings, DecompositionCost, OptimizationCandidate,
AggregateProfile. All frozen dataclasses per error_handling.md
Pattern 1 (immutability for cross-thread safety).
Phase 1 complete: 19 unit tests passing (5 enum tests + 14
dataclass tests). AggregateProfile is the central artifact with
14 required fields + 2 optional (mermaid, markdown).
Phase 2 (PCG - 3 AST passes + build_pcg()) next.
2026-06-22 01:10:57 -04:00
ed
1680182953
feat(audit): add FunctionRef dataclass (frozen, 4 fields)
...
fqname, file, line, role. Used in ProducerConsumerGraph edges
and per-aggregate producer/consumer lists. Per error_handling.md
Pattern 1 (immutability for cross-thread safety).
2 unit tests passing.
2026-06-22 01:05:17 -04:00
ed
5dca69f0d7
feat(audit): add 5 enums for the v2 data model
...
AggregateKind (4 values), MemoryDim (7), AccessPattern (5),
Frequency (7), RecommendedDirection (4). All Literal types
for stable postfix DSL output (string-valued, no enum-name
lookup table needed in the parser).
5 unit tests passing. The 9 supporting dataclasses + the
AggregateProfile central artifact go in Tasks 1.2-1.10.
2026-06-22 00:46:00 -04:00
ed
28ed3deafb
chore(audit): create empty tests/test_code_path_audit.py v2
...
Module docstring + from __future__ import annotations. No tests
yet; the data model tests go in next (Phase 1).
2026-06-22 00:42:29 -04:00