pub fn compact_discussion(
discussion_json: &str,
cache_json: Option<&str>,
budget: Option<usize>,
item_budget: Option<usize>,
) -> Result<(String, Option<String>), String>Expand description
Compact a discussion JSON string using budget-based adaptive compaction. Pure-Rust callable in both build modes.
Returns Ok((compacted_json, cache_json)) on success or Err(msg)
for JSON parse errors. budget/item_budget control output size
limits (defaults: 60KB / 15KB).