graph TD A[User Query + 20 Songs] --> B[SILO 1: Initial Analysis] B -->|#223| C[Initial Analysis Results] C --> D[SILO 2: Scoring] D -->|#223| E[Scored Song List] E --> F[SILO 3: Final Selection] F -->|#223| G[Final JSON Output] subgraph Input Processing A end subgraph Analysis Phase B --> |Evaluates Songs Against Requirements| C end subgraph Scoring Phase D --> |Assigns 0-1 Scores + Rationale| E end subgraph Selection Phase F --> |Selects Top 5 + Formats JSON| G end style A fill:#f9f,stroke:#333 style G fill:#9ff,stroke:#333 style B fill:#fff,stroke:#333 style D fill:#fff,stroke:#333 style F fill:#fff,stroke:#333