Adriano df76906505 fix(protocol): arity check stretto per indicator + reject nested expressions
Run reale phase1-real-003 ha rivelato: l'LLM genera occasionalmente
"(indicator sma 20 50)" o "(indicator sma (feature close) 20)". Il primo
crashava _ind_sma con TypeError. Il secondo passava attraverso il
validator ma non era supportato dal compiler.

Validator ora:
- Aggiunge INDICATOR_ARITY: sma/rsi/atr/realized_vol = 1 arg, macd = 0-3.
- Rifiuta esplicitamente Node fra gli args di indicator (no-nesting Phase 1).
- Rifiuta arity fuori range con messaggio chiaro.

Strategie con questi pattern vengono ora rigettate dal validator come
parse_error invece di crashare il run. Test suite resta 122 PASSED.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 11:35:54 +02:00

Multi_Swarm_Coevolutive — Phase 1

Lean spike del PoC. Vedi docs/superpowers/specs/2026-05-09-decisione-strategica-design.md per il razionale e docs/superpowers/plans/2026-05-09-phase1-lean-spike.md per il piano implementativo.

Setup

uv sync
cp .env.example .env  # compilare token e API key
uv run pytest         # verifica che tutto installi

Cerbero locale

Phase 1 backtest legge dataset OHLCV cached, ma alcune feature di indicatore sono delegate a Cerbero. Avviare Cerbero locale prima di eseguire un run:

cd /home/adriano/Documenti/Git_XYZ/CerberoSuite/Cerbero_mcp
docker compose up -d

Comandi principali

uv run pytest                                # tutti i test
uv run pytest tests/unit -v                  # solo unit
uv run pytest tests/integration -v -m integration  # solo integration
uv run python scripts/run_phase1.py          # run completo Phase 1
uv run streamlit run src/multi_swarm/dashboard/streamlit_app.py
S
Description
No description provided
Readme 418 KiB
Languages
Python 100%