diff --git a/tools/validate_gas_thin_adapter_v1.py b/tools/validate_gas_thin_adapter_v1.py index 1ea7067..5b7b32a 100644 --- a/tools/validate_gas_thin_adapter_v1.py +++ b/tools/validate_gas_thin_adapter_v1.py @@ -116,9 +116,23 @@ def main() -> int: function_inventory_coverage_pct = 100.0 if rows else 0.0 sample_findings = rows[:200] elif audit: - forbidden_function_count = int(audit.get("forbidden_function_count") or 0) - function_inventory_coverage_pct = float(audit.get("function_inventory_coverage_pct") or 0.0) - sample_findings = audit.get("rows")[:200] if isinstance(audit.get("rows"), list) else [] + # audit_gas_thin_adapter_v1.py (v2) 출력 형식 지원: + # summary.forbidden_count, summary.compliance_pct, migration_candidates + summary = audit.get("summary", {}) + if summary: + forbidden_function_count = int(summary.get("forbidden_count") or 0) + total_functions = int(summary.get("total_functions") or 0) + function_inventory_coverage_pct = 100.0 if total_functions > 0 else 0.0 + candidates = audit.get("migration_candidates", []) + sample_findings = [ + {"file": c.get("file",""), "name": c.get("name",""), + "responsibility": c.get("responsibility",[])} + for c in candidates[:200] + ] + else: + forbidden_function_count = int(audit.get("forbidden_function_count") or 0) + function_inventory_coverage_pct = float(audit.get("function_inventory_coverage_pct") or 0.0) + sample_findings = audit.get("rows")[:200] if isinstance(audit.get("rows"), list) else [] else: classified_allowlist = _load_classified_allowlist() findings: list[dict[str, str]] = []