from __future__ import annotations


def build_summary_data(
    *,
    scan_id: str,
    repo_root: str,
    timestamp_utc: str,
    authority_mode: str,
    status: str,
    project_type: str,
    subprojects: list[str],
    top_languages: list[str],
    frameworks: list[str],
    ecosystems: list[str],
    requirement_count: int,
    required_standards: list[str],
    required_tools: list[str],
    required_flags: list[str],
    required_env: list[str],
    stale_count: int,
    stale_high_count: int,
    ignored_generated_count: int,
    ignored_blocked_foreign_count: int,
    contradiction_count: int,
    trust_issue_count: int,
    missing_tools: list[str],
    missing_env: list[str],
    missing_flags: list[str],
    unsupported_native_paths: list[str],
    blockers: list[str],
) -> dict[str, object]:
    return {
        "scan_id": scan_id,
        "repo_root": repo_root,
        "timestamp_utc": timestamp_utc,
        "authority_mode": authority_mode,
        "status": status,
        "project_type": project_type,
        "subprojects": subprojects,
        "top_languages": top_languages,
        "frameworks": frameworks,
        "ecosystems": ecosystems,
        "requirement_count": requirement_count,
        "required_standards": required_standards,
        "required_tools": required_tools,
        "required_flags": required_flags,
        "required_env": required_env,
        "stale_count": stale_count,
        "stale_high_count": stale_high_count,
        "ignored_generated_count": ignored_generated_count,
        "ignored_blocked_foreign_count": ignored_blocked_foreign_count,
        "contradiction_count": contradiction_count,
        "trust_issue_count": trust_issue_count,
        "missing_tools": missing_tools,
        "missing_env": missing_env,
        "missing_flags": missing_flags,
        "unsupported_native_paths": unsupported_native_paths,
        "blockers": blockers,
    }
