diff --git a/docs/superpowers/specs/2026-05-25-opus-agent-design.md b/docs/superpowers/specs/2026-05-25-opus-agent-design.md index 03f648e..c08d347 100644 --- a/docs/superpowers/specs/2026-05-25-opus-agent-design.md +++ b/docs/superpowers/specs/2026-05-25-opus-agent-design.md @@ -142,6 +142,7 @@ Crea un nuovo argomento. "name": "coding", "system_prompt": "Sei un esperto sviluppatore Python e TypeScript...", "summary": "Argomento per domande di programmazione", + "model": "claude-sonnet-4-6", "created_at": "2026-05-25T10:00:00Z", "updated_at": "2026-05-25T10:00:00Z" }, @@ -192,6 +193,7 @@ Invia una nuova richiesta alla coda. "success": true, "data": { "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", + "session_id": "a1b2c3d4-...", "status": "pending", "created_at": "2026-05-25T10:05:00Z" }, @@ -212,6 +214,7 @@ Restituisce stato e risultato (quando disponibile). "session_id": null, "topic_id": "550e8400-e29b-41d4-a716-446655440000", "prompt": "Come implemento un middleware di autenticazione JWT in FastAPI?", + "model": null, "summarize": true, "status": "completed", "result": "Per implementare un middleware JWT in FastAPI...", @@ -275,12 +278,18 @@ Health check del servizio. Verifica: ### 5.2 Flusso multi-turn -1. Prima richiesta: `POST /api/requests {prompt, topic_id}` (senza session_id) -2. Il sistema genera un `session_id` e lo restituisce nella risposta -3. Richieste successive: `POST /api/requests {prompt, topic_id, session_id: "..."}` -4. Il worker Node.js usa il session_id per mantenere il contesto con Claude Code +Il `session_id` è generato dal server. Il client non deve inventarne uno. + +1. Prima richiesta: `POST /api/requests {prompt, topic_id}` senza session_id +2. Il sistema genera un UUID come `session_id`, lo salva nel record +3. La risposta include il `session_id` generato +4. Richieste successive: il client passa lo stesso `session_id` ricevuto +5. Il worker Node.js usa il session_id per mantenere il contesto con Claude Code (flag `--resume` o equivalente SDK) -5. Ogni richiesta nella sessione condivide la storia della conversazione +6. Ogni richiesta nella sessione condivide la storia della conversazione + +Per one-shot: il client non invia `session_id` (o lo invia null). Il record +viene creato senza session_id e la richiesta è indipendente. ### 5.3 Flusso summary completo