fix(consult): put locally computed techniques in the model packet
Independent Staging Quality Gate / validate (push) Successful in 11m10s
Independent Staging Quality Gate / publish (push) Successful in 12m30s

Web consult already computed Yoga, Arudha, KP, and related layers, then
stripped them before the spoken model. Keep those executed structures in
toModelOutput so answers cannot invent degrees from parametric knowledge.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-19 16:53:13 +08:00
co-authored by Cursor
parent 9efd847d2f
commit 0eedf92992
10 changed files with 418 additions and 9 deletions
@@ -122,6 +122,39 @@ def test_local_consultation_layers_supply_d10_a10_and_narayana_without_vedastro(
assert 'kakshya' in chart['local_consultation_layers']['available']
def test_local_consultation_layers_include_yogas_transits_and_route_chara() -> None:
career = _attach_local_consultation_layers(
_handler(),
_base_chart(),
dict(_BIRTH),
{'current_date': _REFERENCE_DATE, 'strict_workflow_route': 'career'},
)
yogas = career['modules']['yogas']
assert yogas['status'] == 'executed'
assert yogas['yogas'][0]['name']
chara = career['modules']['chara_dasha']
assert chara['status'] == 'executed'
assert chara['current']['sign']
assert chara['sequence'][0]['lord']
transits = career['modules']['transits']
assert transits['status'] == 'executed'
assert transits['sade_sati']['moon_sign']
assert transits['sade_sati']['saturn_sign']
assert transits['sade_sati']['phase'] in {'none', 'rising', 'peak', 'setting'}
assert 'yogas' in career['local_consultation_layers']['available']
assert 'chara_dasha' in career['local_consultation_layers']['available']
assert 'transits' in career['local_consultation_layers']['available']
wealth = _attach_local_consultation_layers(
_handler(),
_base_chart(),
dict(_BIRTH),
{'current_date': _REFERENCE_DATE, 'strict_workflow_route': 'wealth'},
)
assert wealth['modules']['chara_dasha']['status'] == 'not_applicable'
assert 'chara_dasha' not in wealth['local_consultation_layers']['available']
def test_consultation_computes_formal_and_research_varga_spectrum() -> None:
chart = _attach_local_consultation_layers(
_handler(),