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