Цей документ формалізує розділення монорепозиторію на окремі моделі, які можуть існувати, тестуватися та пакуватися незалежно одна від одної.
Виділити модулі з власним доменом, публічним API, локальними залежностями та
окремим pyproject.toml, щоб кожен з них можна було:
- інсталювати окремо;
- тестувати окремо;
- версіонувати окремо;
- переносити в окремий репозиторій без масової переробки коду.
| Модель | Каталог | Standalone package | Призначення |
|---|---|---|---|
| FPMA | analytics/fpma/ |
geosync-fpma |
Фрактальна фазово-режимна модель для allocation/regime-aware portfolio logic. |
| Regime | analytics/regime/ |
geosync-regime |
Багатовимірний аналіз режимів ринку, EWS і consensus routing. |
| Order Book | markets/orderbook/ |
geosync-orderbook |
Симуляція LOB, інжест снапшотів/діфів і мікроструктурні події. |
| NaK Controller | nak_controller/ |
geosync-nak |
Нейроенергетичний лімітер для risk/exposure/frequency control. |
| GeoSync Pro | geosync_pro/ |
geosync-pro |
EMH-inspired state-space controller з EKF, MPC і CVaR gate. |
- Залежить лише від власного
src/та числового стеку. - Публічний standalone API експортується через
geosync_fpma. - Для відокремлення не потребує решти торгового контуру.
- Ядро (
src/core) є самодостатнім. - Consensus layer лишається опційним інтеграційним контуром.
- Standalone API експортується через
geosync_regime.
- Має повністю локальне ядро
src/coreта локальний ingest уsrc/ingest. - Standalone API експортується через
geosync_orderbook. - Може служити окремим сервісом симуляції або тестовим harness для execution.
- Уже мав локальний
pyproject.tomlі майже повну автономність. - Залишається окремою моделлю контролю, яку можна підключати через hook.
- Має завершений внутрішній цикл: модель → оцінювання → policy → risk → validate.
- Додано локальний
pyproject.tomlдля повністю автономного пакування.
cd analytics/regime && python -m pip install -e .[test]
cd analytics/fpma && python -m pip install -e .[test]
cd markets/orderbook && python -m pip install -e .[test]
cd nak_controller && python -m pip install -e .
cd geosync_pro && python -m pip install -e .[test]Модель вважається відокремленою, якщо:
- має власний
pyproject.toml; - має власний README з public surface;
- її публічний API не вимагає імпорту з кореня монорепозиторію;
- її тести можна запускати з каталогу моделі;
- перенесення в окремий git-репозиторій не вимагає переписувати доменне ядро.
- загальна документація репозиторію;
- інтеграційні шари, які поєднують моделі між собою;
- монорепозиторний CI/CD;
- крос-модульні end-to-end сценарії.
Після цього розділення можна безболісно переходити до другого етапу:
- винести кожну модель у власний репозиторій;
- налаштувати окремий semantic versioning;
- підключати моделі назад як залежності, а не як локальні каталоги.