Returns {
communities: {
id: number;
members: string[];
members_truncated: boolean;
representative: string;
returned_member_count: number;
returned_membership_path_utf8_bytes: number;
size: number;
}[];
communities_truncated: boolean;
community_count: number;
converged: boolean;
eligible_community_count: number;
eligible_member_count: number;
filtered_community_count: number;
iterations: number;
members_truncated: boolean;
membership_map_omitted: true;
modularity: number;
node_count: number;
returned_community_count: number;
returned_member_count: number;
returned_membership_path_utf8_bytes: number;
truncated: boolean;
}
A bounded response with exact total/returned/truncation receipts.
Build the bounded public response for
obsidian_get_communities.Community totals remain exact, while returned community and member counts explicitly distinguish caller filtering from truncation. Membership is encoded once in
communities[].members; the former duplicate path→id object is intentionally omitted. Member arrays are deterministic prefixes of the centrality ordering and are admitted against per-community and global count plus JSON UTF-8 byte ceilings before insertion. Byte receipts include every returned membership-path string occurrence: the representative and each entry of the member array.