weavatrix-rust 2.11.0

Protocol-independent Rust repository intelligence: typed evidence graphs for impact, architecture, APIs, Git, search, and memory
Documentation
pub(super) fn graph_fields(tool: &str) -> Option<&'static [&'static str]> {
    match tool {
        "get_neighbors" => Some(&[
            "relation_filter",
            "max_results",
            "cursor",
            "response_detail",
        ]),
        "query_graph" => Some(&[
            "question",
            "mode",
            "depth",
            "max_nodes",
            "context_filter",
            "seed_files",
            "seed_symbols",
            "relation_filter",
            "flow_direction",
            "augment_seeds",
            "include_classified",
            "include_low_signal",
            "token_budget",
        ]),
        "graph_stats" => Some(&["include_capabilities"]),
        "god_nodes" => Some(&["top_n", "include_classified"]),
        "shortest_path" => Some(&["max_hops"]),
        "get_community" => Some(&["max_nodes", "cursor"]),
        "list_communities" => Some(&["top_n", "include_non_product"]),
        "module_map" => Some(&["top_n", "depth", "include_non_product"]),
        "build_graph" => Some(&["max_members"]),
        _ => None,
    }
}

pub(super) fn change_fields(tool: &str) -> Option<&'static [&'static str]> {
    match tool {
        "get_dependents" => Some(&[
            "depth",
            "max_nodes",
            "precision",
            "max_references",
            "timeout_ms",
            "include_container_importers",
        ]),
        "change_impact" => Some(&[
            "base",
            "base_ref",
            "head_ref",
            "diff",
            "files",
            "target",
            "depth",
            "max_nodes",
            "precision",
            "max_references",
            "timeout_ms",
        ]),
        "git_history" => Some(&[
            "revision",
            "months",
            "max_commits",
            "min_pair_count",
            "max_pairs",
            "top_n",
            "first_parent",
            "include_analytics",
            "token_budget",
        ]),
        "git_read_blob" => Some(&["oid", "revision", "path", "max_bytes", "token_budget"]),
        "cross_repo_git" => Some(&[
            "action",
            "revision",
            "base_ref",
            "head_ref",
            "max_commits",
            "first_parent",
            "left",
            "right",
        ]),
        "verified_change" => Some(&[
            "phase",
            "base_ref",
            "head_ref",
            "diff",
            "files",
            "precision",
            "max_symbols",
            "impact_depth",
            "max_impact_nodes",
            "data_flow_depth",
            "max_data_flow_edges",
            "duplicate_ratchet",
            "api_contract",
            "tests",
            "run_tests",
            "test_timeout_ms",
        ]),
        "select_tests" => Some(&[
            "base",
            "base_ref",
            "head_ref",
            "diff",
            "files",
            "target",
            "depth",
            "max_nodes",
            "max_tests",
            "precision",
        ]),
        "graph_diff" => Some(&[
            "base_ref",
            "head_ref",
            "path",
            "detail",
            "max_results",
            "token_budget",
        ]),
        "prepare_change" => Some(&["intent"]),
        "verify_capabilities" => Some(&["max_results", "include_tests", "include_classified"]),
        _ => None,
    }
}

pub(super) fn source_and_api_fields(tool: &str) -> Option<&'static [&'static str]> {
    match tool {
        "trace_api_contract" => Some(&[
            "transport",
            "method",
            "path",
            "changed_files",
            "client_names",
            "include_tests",
            "include_classified",
            "max_impact_depth",
            "max_endpoints",
            "max_matches",
            "max_source_files",
            "max_source_file_bytes",
            "max_affected_files",
            "top_n",
            "client_wrappers",
            "auto_discover_wrappers",
            "runtime_config",
            "runtime_evidence_files",
            "runtime_evidence_max_age_hours",
            "response_detail",
            "page_size",
            "per_item_limit",
            "cursor",
        ]),
        "map_stacktrace" => Some(&["max_frames"]),
        "search_code" => Some(&[
            "is_regex",
            "glob",
            "before",
            "after",
            "max_results",
            "token_budget",
        ]),
        "read_source" => Some(&[
            "label",
            "path",
            "start_line",
            "before",
            "after",
            "token_budget",
        ]),
        "list_endpoints" => Some(&["method", "path", "max_results", "include_classified"]),
        "trace_endpoint" => Some(&[
            "method",
            "match",
            "handler_file",
            "max_depth",
            "max_nodes",
            "max_excerpts",
            "context_lines",
            "include_classified",
        ]),
        _ => None,
    }
}