# engine-swisseph (silnik B — AGPL, izolowany) Osobna, **opcjonalna** usługa będąca drugim silnikiem efemeryd (LOG‑27). Liczy pozycje przez **pyswisseph / Swiss Ephemeris** i służy jako **wyrocznia walidacyjna / tryb porównawczy** (LOG‑25/26) dla naszego silnika własnego. ## ⚠️ Licencja Ten komponent jest **AGPL‑3.0** (bo linkuje Swiss Ephemeris) — patrz [LICENSE](LICENSE). Jest **wydzielony jako osobny proces** i wołany przez HTTP, więc nie „zaraża" permisywnej reszty systemu. **Nie wchodzi do dystrybucji zamkniętego produktu.** ## API - `POST /positions` → `{when_utc, lat, lon, objects?}` → pozycje (ten sam kształt co silnik własny) - `GET /health` Tryb Moshiera (`FLG_MOSEPH`) — bez plików efemeryd, zero konfiguracji. ## Uruchomienie (tylko profil porównawczy / dev / CI) ```bash pip install -r requirements.txt uvicorn app.main:app --port 8003 ``` Następnie w warstwie logicznej ustaw `ENGINE_SWISSEPH_URL=http://localhost:8003`, aby włączyć silnik B (tryb dual-run i testy kontraktowe silnika B).