Planning
Vitruvyan Docs
Vitruvyan Core — Architecture (Current State)
Last updated: February 14, 2026
Scope: Complete tree of the domain-agnostic epistemic OS core
Summary
| Metric | Value |
|---|---|
| Active Python files | ~278 (excludes _legacy/, __pycache__/) |
| Services (LIVELLO 2) | 12 |
| Sacred Orders (100% conformant) | 6 |
| LangGraph nodes (active) | 22 (19 wired in graph) |
| VPAR algorithms | 4 (VEE, VARE, VWRE, VSGS) |
| Domain registries | 3 (Intent, EntityResolver, Execution) |
| Domain-agnostic files | 59/65 core (91%) |
| Finance-specific files in core | 0 |
Complete Tree
LangGraph Pipeline
Route branches (from decide)
| Route | Node | Description |
|---|---|---|
dispatcher_exec | exec | Direct execution |
semantic_fallback | qdrant | Semantic search |
llm_soft | cached_llm | Conversational LLM |
slot_filler | compose | Missing params |
codex_expedition | codex_hunters | System maintenance |
llm_mcp | llm_mcp | MCP tools (when USE_MCP=1) |
Architecture Layers
6 Mixed Files (not finance-specific, just not 100% pure)
| File | Residual | Impact |
|---|---|---|
parse_node.py | imports semantic_engine stub, state["companies"] key | LOW — stub is passthrough |
test_route_node.py | test utility | NONE |
event_schema.py | sentiment.requested/fused enums | NONE — sentiment is domain-agnostic Perception |
lexicon.py | sentiment.* schema templates | NONE — config-driven via scroll_of_bonds.json |
graph_flow.py | Domain plugin loading via env vars | BY DESIGN — runner loads domain at boot |
graph_runner.py | Propagates entity_ids, horizon | BY DESIGN — structural params for any vertical |
Proposed Cleanup (Minor — No Structural Redesign Needed)
L'architettura attuale è solida. Non serve una ristrutturazione. Servono solo pulizie puntuali:
Compatibility shims da valutare
| File | Purpose | Action |
|---|---|---|
synaptic_conclave/event_schema.py | Re-export da events/event_schema.py | KEEP — backward compat per import legacy |
synaptic_conclave/redis_client.py | Re-export da transport/redis_client.py | KEEP — backward compat per import legacy |
Se un giorno si fa un major version bump si possono rimuovere (breaking change).
Documentazione embedded eccessiva
| Location | Files | Action |
|---|---|---|
synaptic_conclave/docs/ | 27 | Considerare consolidamento: spostare history/ (8 file) in docs/archive/ |
neural_engine/docs/ | 8 | OK — design docs legittimi, mantenerli |
cache/_legacy/cached_qdrant_agent.py
Valutare rimozione — se nessun import lo usa, eliminare.
How to Extend
| Action | Steps |
|---|---|
| Nuovo vertical | 1. Crea domains/<vertical>/ con intent_config, entity_resolver_config, execution_config. 2. Imposta INTENT_DOMAIN=<vertical>. 3. Zero modifiche al core. |
| Nuovo Sacred Order | 1. Crea 10-dir structure sotto cognitive/ o governance/. 2. Crea servizio LIVELLO 2 in services/api_<order>/. |
| Nuovo nodo LangGraph | 1. Aggiungi file in node/. 2. Registra in graph_flow.py. |
| Nuovo algoritmo VPAR | 1. Aggiungi sotto core/vpar/<name>/ con types.py + engine.py. |