fix(logic): pomijaj trywialne aspekty par sztywnych (NN/SN) #12

Merged
gitea merged 1 commits from fix/nodes-trivial-opposition into master 2026-07-21 18:33:17 +00:00
Owner

Węzły księżycowe są z definicji w dokładnej opozycji (SN = NN + 180°), więc wpis "North Node opposition South Node orb 0.00°" nie niósł żadnej informacji astrologicznej — zaśmiecał /chart/positions i UI horoskopu, a w generatorze promptów LLM zjadał budżet znaków i mógł zostać wzięty przez model za realne świadectwo.

Zmiany

  • app/engine/aspects.py: stała RIGID_PAIRS (zbiór par powiązanych definicyjnie) + pominięcie takich par w find_aspects. Struktura zbioru pozwala dopisać kolejne pary, gdyby się pojawiły.
  • Aspekty węzłów do pozostałych obiektów pozostają nietknięte.
  • tests/test_aspects.py: test_rigid_pair_nodes_not_reported (jednostkowo — brak pary NN/SN, obecne NN/Słońce i SN/Słońce) oraz test_no_rigid_pairs_in_real_chart (horoskop referencyjny z build_chart).

Testy

cd services/logic && PYTHONPATH=. pytest tests -q → 101 passed, 1 skipped.

Węzły księżycowe są z definicji w dokładnej opozycji (SN = NN + 180°), więc wpis "North Node opposition South Node orb 0.00°" nie niósł żadnej informacji astrologicznej — zaśmiecał `/chart/positions` i UI horoskopu, a w generatorze promptów LLM zjadał budżet znaków i mógł zostać wzięty przez model za realne świadectwo. ## Zmiany - `app/engine/aspects.py`: stała `RIGID_PAIRS` (zbiór par powiązanych definicyjnie) + pominięcie takich par w `find_aspects`. Struktura zbioru pozwala dopisać kolejne pary, gdyby się pojawiły. - Aspekty węzłów do pozostałych obiektów pozostają nietknięte. - `tests/test_aspects.py`: `test_rigid_pair_nodes_not_reported` (jednostkowo — brak pary NN/SN, obecne NN/Słońce i SN/Słońce) oraz `test_no_rigid_pairs_in_real_chart` (horoskop referencyjny z `build_chart`). ## Testy `cd services/logic && PYTHONPATH=. pytest tests -q` → 101 passed, 1 skipped.
gitea added 1 commit 2026-07-21 17:01:45 +00:00
fix(logic): pomijaj trywialne aspekty par sztywnych (NN/SN)
Testy / Testy warstwy logicznej (silnik) (push) Successful in 10m44s
Testy / Build obrazu silnika B (swisseph) (push) Failing after 27s
Testy / Kontrola składni wszystkich warstw (push) Successful in 23s
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m39s
Testy / Build obrazu silnika B (swisseph) (pull_request) Failing after 25s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 22s
24623ab887
Węzły księżycowe są z definicji w dokładnej opozycji (SN = NN + 180°),
więc wpis "North Node opposition South Node orb 0.00°" nie niósł żadnej
informacji astrologicznej — zaśmiecał /chart/positions i UI horoskopu,
a w generatorze promptów LLM zjadał budżet znaków i mógł zostać wzięty
przez model za realne świadectwo.

- aspects.py: RIGID_PAIRS + pomijanie takich par w find_aspects;
  struktura zbioru pozwala dopisać kolejne pary definicyjne,
- aspekty węzłów do pozostałych obiektów bez zmian,
- testy: jawne sprawdzenie braku pary NN/SN (jednostkowo i na
  horoskopie referencyjnym).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit 73fd41b9d3 into master 2026-07-21 18:33:17 +00:00
gitea deleted branch fix/nodes-trivial-opposition 2026-07-21 18:33:17 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/astrololo#12