"""Select calculation groups for server-owned report assembly, not writer input.""" GROUPS = { "strengths_and_scores": ("ashtakavarga", "shadbala", "functional_benefic_malefic"), "timing_and_predictive_systems": ("dasha", "annual_tajika_pack"), "advanced_systems": ("avasthas", "yogas_doshas", "sahams"), "divisional_and_special_charts": ("upagrahas", "special_lagnas", "sensitive_points", "varga_full"), } def report_density_packet(packet): worksheets = packet.get("worksheets", {}) return { "core_chart": packet.get("core_chart", {}), "worksheets": { group: {key: worksheets.get(group, {})[key] for key in keys if key in worksheets.get(group, {})} for group, keys in GROUPS.items() }, }