fix(report): draw charts in the full-data body and clean Chinese residue

New reports draw one north-Indian chart for each ready divisional in the body, so the trailing duplicate section drops. Chinese full-data prose no longer glues English onto Han or leaves listed, background, or native. The birth table starts with the ascendant. The D9 same-sign column says yes or no.

Self-test: tsc exit 0; npm run lint exit 0 (0 errors, 125 existing warnings); three frontend test files 39 pass, 0 fail, 0 cancelled; pytest test_report_chart_blank_columns.py 16 passed; seven related report files 88 passed, exit 0; privacy markers 63 passed.

Co-Authored-By: Grok (agent loop)
This commit is contained in:
jesse-ux
2026-10-13 14:02:26 +08:00
co-authored by Grok (agent loop)
parent 05f8800531
commit a295afa40f
14 changed files with 3466 additions and 10 deletions
+5 -2
View File
@@ -864,11 +864,14 @@ def build_yoga_interpretation_pack(
if name in seen:
continue
seen.add(name)
combination = str(raw.get("combination_en") or raw.get("combination") or raw.get("reason") or "")
if language == "en":
combination = str(raw.get("combination_en") or raw.get("name") or combination)
combination = str(raw.get("combination_en") or raw.get("name") or raw.get("combination") or "")
if re.search(r"[\u4e00-\u9fff]", combination):
combination = "combination text is not listed separately"
else:
# Chinese pages keep the Chinese combination. combination_en is the
# English twin and must not leak into the Chinese report.
combination = str(raw.get("combination") or raw.get("reason") or "")
planets = [str(item) for item in _list(raw.get("planets"))]
overlap = sorted(set(planets) & set(active))
if language == "zh":