feat(workspace): setup uv workspace con 2 member (multi-swarm-core + strategy-crypto)

- Root pyproject.toml come workspace coordinator (no codice, dev deps + tool config)
- src/multi_swarm_core/pyproject.toml: package core con dipendenze (pandas, openai, pydantic, ...)
- src/strategy_crypto/pyproject.toml: package strategia con multi-swarm-core come workspace dep
- Aggiunte env var GA_DB_PATH, STRATEGY_CRYPTO_DB_PATH, DASHBOARD_ROOT_PATH in .env.example
- Patch Dockerfile (commento, label, healthcheck per workspace)
- .gitignore: aggiunto .omc/ + state/*.db generico
- Rigenerato uv.lock dal workspace

uv tree mostra:
  strategy-crypto v0.1.0
  ├── multi-swarm-core v0.1.0
  ├── nicegui v3.12.0
  └── ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-05-15 17:45:53 +00:00
parent b6539802e0
commit cd4c3131d9
21 changed files with 318 additions and 752 deletions
+9 -2
View File
@@ -21,13 +21,20 @@ LLM_MODEL_TIER_D=openai/gpt-oss-20b
RUN_NAME=phase1-spike-001
DATA_DIR=./data
SERIES_DIR=./series
DB_PATH=./runs.db
# Database paths (split per dominio):
# - GA_DB_PATH: tabelle GA universali (runs, generations, genomes, evaluations)
# - STRATEGY_CRYPTO_DB_PATH: tabelle paper_trading_* per la strategia crypto
GA_DB_PATH=./state/runs.db
STRATEGY_CRYPTO_DB_PATH=./state/strategy_crypto.db
# Docker / Traefik (usati SOLO da docker-compose.yml)
# Dominio base: traefik espone la dashboard su swarm.${DOMAIN_NAME}
# Dominio base: traefik espone la dashboard su swarm.${DOMAIN_NAME}/strategy_crypto_gui
DOMAIN_NAME=tielogic.xyz
# Porta interna della NiceGUI dashboard (Traefik fa il TLS davanti)
SWARM_DASHBOARD_PORT=8080
# Subpath URL del dashboard NiceGUI (usato come root_path in produzione)
DASHBOARD_ROOT_PATH=/strategy_crypto_gui
# Paper-trading runner — override del command nel compose (opzionali)
PAPER_RUN_NAME=phase3-papertrade-prod