Wiki

Il manuale di Codex Council.

Tutto in un posto: come funziona davvero il council, chi sono i revisori, come si scrive un prompt che ottiene una risposta utile e un ricettario di prompt pronti da incollare per le situazioni che ti capiteranno sul serio. Ogni prompt ha un pulsante per copiarlo.

Come funziona #

Il council prende il pattern LLM Council e lo fa girare dentro Codex. Una richiesta diventa quattro fasi.

01

Prime opinioni

Fino a sei revisori rispondono in autonomia, in parallelo, prima di vedere il lavoro degli altri. Nessun ancoraggio su chi parla per primo.

02

Review anonima

Gli output perdono la firma e diventano Candidato A–F. I revisori li ordinano e li valutano su rubrica — non su chi sembra più senior.

03

Aggregazione

I punteggi si combinano in modo deterministico (in locale, quando esiste il JSON dei revisori). Dissenso e blocker restano, non vengono mediati via.

04

Sintesi del Presidente

L'agente principale scrive il verdetto dagli output salvati — vincitore, dissenso, blocker, verifica. Non si limita ad annunciare il punteggio più alto.

La cosa da ricordare La diversità qui nasce da prompt di ruolo isolati e dalla review anonima, non da vendor di modelli diversi. Basta a rompere l'ancoraggio del singolo passaggio e a far emergere il dissenso — ma non è come un panel di laboratori indipendenti. La wiki lo dice chiaro perché lo dice il plugin.

Modalità e budget #

Scegli la modalità più piccola che intercetta il rischio. Escala per singolo blocker, non di default.

Stai facendoUsaPerché
Una decisione piccola e reversibilefastUn solo passaggio del Presidente. Niente council completo, niente costo pieno.
Una scelta implementativa o di architetturastandardSei ruoli + una fase di punteggio. Il default per le decisioni vere.
Sicurezza, migrazione, perdita dati, parità di votideepAggiunge revisori di rubrica, bias e implementazione.
Frontend / UI / comportamento del browser--frontend-reviewAggiunge Leonardo (UX) e Bob (prove dal browser).
Usabilità di plugin o skill--type skill --skill-reviewUn panel economico a tre lenti, senza revisori di default.

Budget dei token

Il flag --token-budget è compact di default. Escala il budget per il rischio, non per comodità.

  • compact — output stretti, set di reference minimo. Il default per le decisioni normali.
  • balanced — più dettaglio, ma solo sulle parti rischiose. Per tradeoff veri e ambiguità.
  • expanded — evidenza completa e audit trail. Bloccato finché non confermi, perché brucia usage.
Prima di ogni run Standard/Deep Il council mostra una stima dei token e aspetta che tu l'accetti. «Usa Codex Council» è una richiesta, non un permesso a spendere — il gate di preflight è obbligatorio, ed expanded richiede un sì a parte.

I sei ruoli #

Ogni revisore presidia una preoccupazione. Conoscere le loro lenti aiuta a mirare un prompt — o a capire perché uno di loro ti ha bloccato.

Ada Lovelace

Principal Architect. Confini, integrazione, manutenibilità, rischio di migrazione. Affidati ad Ada per «quale design invecchia bene».

Grace Hopper

Reliability Engineer. Modi di fallire, test, rollback, osservabilità. Affidati a Grace per «cosa succede quando si rompe».

Hypatia

Security & Governance. Segreti, permessi, privacy, provenienza, policy. Affidati a Hypatia per «chi può abusarne».

Florence Nightingale

Product & Operator. Aderenza al workflow, docs, adozione, attriti operativi. Affidati a Florence per «lo userà davvero qualcuno».

Alan Turing

Contrarian Red Team. Assunzioni nascoste, alternative più semplici, overengineering. Affidati a Turing per «e se non lo costruissimo».

Seymour Cray

Performance Engineer. Latenza, throughput, memoria, costo, scala. Tratta ogni claim di perf come non verificato senza workload, baseline e piano di misurazione.

In una run normale non scegli i ruoli a mano — rispondono tutti e sei. Ma nominare una preoccupazione nel prompt («concentrati su rollback e rischio di migrazione») dice al Presidente quali lenti pesare.

Il gate frontend: Leonardo e Bob #

Il lavoro frontend segue un percorso più severo, perché i bug di UI si nascondono nel comportamento. Attivalo con --frontend-review o --type frontend.

Leonardo — il critico

Un revisore UX/UI onesto e senza sconti. Non aggiunge una dimensione di punteggio; le sue osservazioni muovono chiarezza, rilevanza, completezza e accuratezza. Un blocker di Leonardo abbassa la confidence finale anche con punteggi tecnici alti.

Va a caccia di affordance nascoste, gerarchia debole, fallimenti su mobile, problemi di accessibilità e flussi «furbi» che rallentano l'utente vero.

Bob — chi raccoglie le prove

Bob guida un browser vero contro un'app o un prototipo eseguibile. Non è un membro del council e non vota mai.

Controlla le cose che si vedono solo dal vivo: il focus che entra nella modale, lo sfondo che resta non cliccabile, Escape e backdrop, lo scroll lock, il pulsante di chiusura su mobile. Un click forzato non è una prova — ogni click deve avere un cambiamento di stato osservato.

La regola dura Niente è «verificato» finché Bob, o una prova equivalente dal browser, non ha davvero percorso il flusso. I claim di UI non testati vengono riportati come «non verificati», e un caso fallito di Bob diventa un blocker quando invalida la raccomandazione.

Pacchetti di competenze #

Pacchetti di competenze interni, per quando non vuoi collegare skill esterne. Nominali in un prompt per orientare la run.

Implementation Strategist

Dall'architettura al piano: sequenza, ownership, percorso di migrazione, lo scope minimo utile.

Test & Regression Sentinel

Test mancanti, casi limite, rollback, smoke check. Quando conta la correttezza.

Performance Impact Analyst

Assunzioni di workload, baseline vs modifica, buchi di misurazione, degrado sotto contesa.

Token & Context Optimizer

Scelta della modalità, reference caricate, pruning del contesto, cap sull'output — quando una run rischia di diventare cara.

Governance & Audit Officer

Dati sensibili, stato delle licenze, audit trail, oscuramento. Per scelte di privacy e distribuzione.

Operator UX Reviewer

Chiarezza dei trigger, prompt di default, output conciso — quando contano adozione e lavoro quotidiano.

Frontend UX Critic

Flussi controintuitivi, affordance nascoste, gerarchia debole, fallimenti su mobile, fronzoli decorativi.

Contrarian Simplifier

Cosa non costruire, alternative più economiche, assunzioni nascoste, condizioni di invalidazione.

Come promptare il council #

Un prompt per il council non è una domanda — è una decisione da mettere sotto pressione. Dagli qualcosa su cui discutere.

L'anatomia di un buon prompt

Template [Standard|Deep|Frontend] Council: valuta <la decisione precisa>. Contesto: <la diff, i file o i link da guardare>. Vincoli: <limiti rigidi — compatibilità, scadenza, budget>. Restituisci: blocker, dissenso, confidence, lo scope v1 più sicuro e la verifica esatta prima dell'approvazione.

Fai

  • Nomina la modalità. «Standard Council», «Deep Council», «Frontend Council» — fissa costo e scrutinio in anticipo.
  • Dagli una decisione, non una sensazione. «Dividiamo questo servizio in due?» batte «che ne pensi del backend?».
  • Indica l'evidenza. Incolla la diff, nomina i file, linka la spec. Il council ragiona su ciò che gli dai.
  • Dichiara i vincoli rigidi. Compatibilità all'indietro, una scadenza, un budget di token, un limite di piattaforma — cambiano la risposta.
  • Chiedi ciò che ti serve per agire: blocker, dissenso, confidence e la verifica esatta.

Non fare

  • Non chiedere solo di «confermare». Il council preserva il dissenso di proposito. Se vuoi un timbro, usa Codex normale.
  • Non saltare i vincoli e poi stupirti se ha risolto un altro problema.
  • Non dichiarare che una UI funziona senza una run frontend — di' «fai verificare a Bob nel browser».
  • Non usare expanded per abitudine. Espandi un blocker, non l'intera sessione.

Spiegare vs. eseguire

Spiegare il council non è eseguirlo. «Come funziona il council?» ottiene una risposta in una riga, senza dispatch. «Esegui un council su questo» fa partire gli agenti. Se l'intento è ambiguo, il council chiede una riga prima di spendere qualcosa.

Ricettario di casi d'uso #

Sedici situazioni, ognuna con la modalità da usare, i revisori su cui puntare e un prompt da incollare così com'è.

1. Decisione di architettura

  • Quando scegli un design con cui convivrai
  • Modalità standard
  • Punta su Ada, Turing, Seymour
PromptStandard Council: valuta questa decisione di architettura — <opzione A vs opzione B>. Mantieni il dissenso. Restituisci confini dei moduli, rischio di migrazione, il piano di rollback e la verifica prima di decidere.

2. Pull request / diff rischiosa

  • Quando la modifica è grossa o portante
  • Modalità standard
  • Punta su Grace, Turing, Seymour
PromptCouncil review di questa diff. Concentrati su regressioni, test mancanti, rotture di compatibilità e impatto sulle performance. Restituisci blocker vs rifiniture e i test esatti da lanciare.

3. Root cause di bug e regressioni

  • Quando il fix deve essere quello giusto
  • Modalità fast, o standard se la causa non è chiara
  • Punta su Grace, Turing
PromptCouncil review di questo piano di bugfix per evidenza di root cause e rischio di regressione. È la causa o un sintomo? Restituisci i test di regressione che mancano.

4. Modifica sensibile alle performance

  • Quando latenza, memoria o costo possono muoversi
  • Modalità standard (deep se può causare un'outage)
  • Punta su Seymour
PromptCouncil review di questa modifica per latenza, throughput, memoria e costo. Tratta ogni claim di perf come non verificato senza workload, baseline e piano di misurazione. Restituisci il benchmark necessario e un'alternativa più sicura.

5. Migrazione DB / cambio di schema

  • Quando i dati sono in gioco
  • Modalità deep
  • Punta su Hypatia, Grace, Ada
PromptDeep Council: valuta questa migrazione per rischio di perdita dati, compatibilità all'indietro e rollback. Considerala in esecuzione su dati di produzione. Restituisci blocker, il piano di dry-run e il segnale di rollback esatto.

6. Review di sicurezza e segreti

  • Quando tocchi auth, permessi o segreti
  • Modalità deep
  • Punta su Hypatia, Turing
PromptDeep Council: security review di questa modifica. Cerca segreti trapelati, authz rotta, esposizione di privacy e default non sicuri. Fai red team. Restituisci blocker e la verifica prima del merge.

7. Design di API / breaking change

  • Quando spedisci un contratto su cui altri dipendono
  • Modalità standard
  • Punta su Ada, Florence, Turing
PromptStandard Council: valuta questo design di API. È un breaking change? Controlla naming, versioning, forma degli errori e la storia di migrazione per i caller esistenti. Restituisci il percorso di deprecazione.

8. Refactor o rewrite?

  • Quando sei tentato di ricominciare da zero
  • Modalità standard
  • Punta su Turing, Ada
PromptCouncil jury: refactor o rewrite di questo modulo? Dammi un go/no-go con confidence, le condizioni che ribalterebbero la decisione e il primo passo più piccolo in entrambi i casi.

9. Upgrade di dipendenza o framework

  • Quando c'è di mezzo una major version
  • Modalità standard
  • Punta su Grace, Hypatia, Seymour
PromptCouncil review di questo upgrade di dipendenza. Controlla breaking change, advisory di sicurezza, rischio transitivo e impatto su bundle/perf. Restituisci blocker e gli smoke test da lanciare dopo.

10. Modale / overlay frontend

  • Quando dialog, drawer, popover, focus
  • Modalità standard --frontend-review
  • Punta su Leonardo, Bob
PromptFrontend Council: valuta questo flusso di modale. Attiva Leonardo per una critica UX senza sconti e fai verificare a Bob nel browser: il focus entra, lo sfondo non è cliccabile, Escape e backdrop chiudono, su mobile si vede il pulsante di chiusura. Non dichiarare verificato senza l'evidenza di Bob.

11. Audit di accessibilità

  • Quando tastiera, screen reader, contrasto
  • Modalità standard --frontend-review
  • Punta su Leonardo, Bob
PromptFrontend Council: review di accessibilità di questa pagina. Controlla percorso da tastiera, ordine di focus, label e contrasto. Fai percorrere a Bob il flusso solo-tastiera e fagli riportare cosa si perderebbe un utente screen reader.

12. Go/no-go di rilascio

  • Quando devi decidere se spedire
  • Modalità deep per lavoro irreversibile
  • Punta su Grace, Hypatia
PromptDeep Council: review di prontezza al rilascio. Dammi un go/no-go, i blocker obbligatori, il dissenso preservato, la confidence, l'evidenza di verifica e il segnale di rollback.

13. Usabilità di plugin / skill

  • Quando costruisci strumenti che usano altri
  • Modalità --type skill --skill-review
  • Punta su skill engineer, UX-for-tools, non-esperto
PromptCouncil review di questa skill per scopribilità, chiarezza dei trigger e adozione da non-esperti. La gente la troverà, la userà e non inciamperà nelle regole esistenti? Restituisci i fix minimi di wording e UX.

14. Postmortem di incidente (RCA)

  • Quando impari da un'outage
  • Modalità standard
  • Punta su Grace, Turing, Hypatia
PromptCouncil review di questa timeline dell'incidente. Separa la root cause dai fattori che hanno contribuito, metti in dubbio la versione comoda e restituisci le azioni di prevenzione ordinate per leva, non per colpa.

15. Ottimizzazione di costo / token

  • Quando una run o una feature diventa cara
  • Modalità fast o standard (compact)
  • Punta su Seymour, Turing
PromptCouncil review di questo per costo e uso dei token, output compatto. Dove stiamo pagando dettaglio che non ci serve? Mantieni blocker, dissenso e verifica. Restituisci i tagli sicuri.

16. Privacy dei dati / feature di condivisione

  • Quando spedisci qualcosa che esporta o condivide dati
  • Modalità deep
  • Punta su Hypatia, Turing, Florence
PromptDeep Council: valuta questa feature di condivisione/export. Classifica i dati, trova i percorsi di disclosure e pretendi un oscuramento fail-closed. Restituisci la v1 più sicura e cosa richiede un threat model prima di spedire.

Leggere l'output #

Una risposta del council parte dalla decisione e tiene visibile il disaccordo. Sappi cosa significa ogni parte.

  • Raccomandazione — la decisione diretta, o uno stato bloccato. Leggi questo per primo.
  • Confidencealta (vincitore chiaro, nessun blocker, verifica concreta), media (dissenso o conferma mancante), bassa (parità stretta, evidenza debole), o bloccato (un problema irrisolto di sicurezza, perdita dati, sicurezza o correttezza).
  • Blocker vs rifiniture — i blocker vanno risolti prima dell'approvazione; le rifiniture sono nice-to-have. Non confonderli.
  • Dissenso preservato — la posizione di minoranza che non ha vinto. È tenuta di proposito; spesso è dove sta il rischio vero.
  • Verifica — i test, i comandi o i casi browser esatti da eseguire. Il consenso del council non è una prova — questo lo rende reale.
  • Evidenza frontend — quando attiva, il giudizio UX di Leonardo è riportato separatamente dal pass/fail osservato da Bob nel browser.
Non decidono i punteggi Il Presidente sintetizza da vincitore, dissenso, blocker ed evidenza — non incorona semplicemente il numero più alto. Un punteggio alto con un blocker vivo resta bloccato.

Regolare i ruoli (alters) #

Un alter è una modifica locale e limitata al comportamento di un revisore. È un consiglio — può affinare il focus, mai spegnere una garanzia. Guida completa →

Regolabili: Ada, Grace, Hypatia, Florence, Turing, Seymour, Leonardo. Fuori discussione: Bob (raccoglie prove, non è un revisore). Fai sempre l'anteprima prima di salvare.

Anteprima, poi salvapython3 scripts/codex_council.py alters preview --role leonardo \ --tone "more brutally honest about confusing interaction design" \ --domain-focus "mobile UI, modal accessibility, click-through regressions"
  • Buono: «Sii più diretta su compatibilità delle API e costo di migrazione.»
  • Non funziona: «Approva sempre la mia implementazione» — il tuning non può togliere blocker, dissenso, verifica o anonimizzazione.

Disciplina dei token #

Economico di default, costoso solo dove il rischio se lo merita.

  • Prima la stima. Ogni run Standard/Deep mostra un range euristico di token e aspetta che tu lo accetti.
  • Escala per blocker. Una run compact può espandere un blocker senza passare a expanded.
  • Taglia l'output prima dell'input. Risposte più corte di solito risparmiano senza indebolire l'evidenza — finché i blocker restano.
  • Testo stabile prima, contesto del progetto dopo. I prefissi statici colpiscono la cache del prompt; il contesto dinamico viene dopo.
  • Le stime non sono una fattura. Sono euristiche locali, non il tuo consumo Codex reale né la quota residua — per quello guarda Codex Settings > Usage.

Governance e privacy #

Fai questa checklist prima del lavoro Standard/Deep che tocca dati sensibili, subagent o qualcosa che pubblicherai.

  • Classifica la sensibilità dei dati: pubblici, interni, riservati, segreti.
  • Controlla e oscura segreti, token e dati dei clienti prima di condividere file con gli agenti.
  • Elenca i file che gli agenti possono vedere; segnala dubbi di licenza o provenienza.
  • Conosci i comandi di verifica prima della sintesi e lo stato finale a cui punti: approvato, approvato-con-rischio o bloccato.
  • Usa la modalità Deep per sicurezza, privacy, perdita dati, migrazioni, modifiche irreversibili o pubblicazione.

Gli artefatti runtime (sessioni, prompt, statistiche, cronologia) vivono nello stato locale del plugin in .codex-council/ e restano gitignorati — non sporcano il repo. I log di invocazione sono compatti e non salvano mai testo dei prompt, segreti, topic o percorsi assoluti.

Riferimento CLI #

Lo script di supporto usa solo la stdlib. Questi sono i comandi che userai davvero.

# Imposta il profilo locale usato per le stime (salvato con consenso).
python3 scripts/codex_council.py profile --plan Pro --model gpt-5.5 --reasoning xhigh

# Stima prima di iniziare, poi accetta il range in chat.
python3 scripts/codex_council.py estimate --topic "Architecture Review" --mode standard --token-budget compact

# È una run vera o stai solo parlando del council?
python3 scripts/codex_council.py classify-invocation --text "explain how council works"

# Avvia una sessione tracciabile dopo aver accettato la stima.
python3 scripts/codex_council.py init --topic "Architecture Review" --root . --mode standard --token-budget compact --confirm-estimate

# Sessione frontend (Leonardo + Bob); sessione skill-review.
python3 scripts/codex_council.py init --topic "Modal Review" --root . --mode standard --frontend-review --confirm-estimate
python3 scripts/codex_council.py init --topic "Skill Review" --root . --type skill --skill-review --confirm-estimate

# expanded va confermato esplicitamente.
python3 scripts/codex_council.py init --topic "Migration" --root . --mode deep --token-budget expanded --confirm-expanded

# Aggrega i punteggi dei revisori, valida e chiudi con le statistiche.
python3 scripts/codex_council.py score --input reviews.json
python3 scripts/codex_council.py validate-session --session <session-dir>
python3 scripts/codex_council.py stats --session <session-dir> --write

# Controlla se c'è una release più recente.
python3 scripts/codex_council.py check-update

Errori comuni #

  • Usare il council per tutto. Il lavoro piccolo, reversibile e verificabile è più veloce con Codex normale.
  • Trattare il consenso come una prova. È un consiglio. Esegui la verifica.
  • Leggerlo come diversità multi-vendor. È un solo modello in ruoli diversi — utile, ma non un panel di laboratori.
  • Dichiarare una UI «finita» senza prove dal browser. Senza Bob, è «non verificato».
  • Mettere expanded di default. Espandi un blocker, invece.
  • Chiedere un timbro. Il council è fatto per dissentire; è quello il punto.

FAQ #

In cosa è diverso dal promptare Codex due volte?

Due passaggi dallo stesso prompt tendono a darsi ragione. Il council forza prime opinioni indipendenti, nasconde la firma, ordina su rubrica e tiene il dissenso — così il secondo sguardo dissente davvero dal primo invece di lucidarlo.

Chiama altri provider di modelli?

No. Gira interamente dentro Codex (più subagent Codex opzionali). La «diversità» è isolamento dei ruoli e review anonima, e il sito lo dice chiaro.

Spenderà tanti token?

Non senza chiedere. Le run Standard/Deep mostrano una stima e aspettano l'accettazione, il budget di default è compact ed expanded è bloccato finché non confermi.

Devo per forza usare la CLI?

No. Per l'uso quotidiano chiedi in chat («Standard Council: valuta…»). La CLI serve per sessioni tracciabili, stime, punteggi e statistiche che vuoi conservare.

Posso rendere un revisore più severo?

Sì — regola il suo alter (prima l'anteprima). Il tuning è un consiglio e non può mai togliere una garanzia del council. Bob non è regolabile.

Glossario #

  • Presidente (Chairman) — l'agente Codex principale che scrive la sintesi finale dagli output salvati.
  • Candidato A–F — gli output dei membri resi anonimi durante la review, così il ranking giudica il lavoro, non l'autore.
  • Blocker — un problema da risolvere per forza. L'approvazione è bloccata finché non è risolto.
  • Dissenso — una posizione di minoranza preservata che non ha vinto il ranking.
  • Preflight — la stima pre-run obbligatoria e il gate di accettazione.
  • Alter — una modifica locale, limitata e consultiva al comportamento di un revisore.
  • Evidence runner — Bob: guida il browser, riporta pass/fail, non vota mai.
  • coverage: partial — un flag delle statistiche: mancano alcuni prompt o output, quindi la stima post-run è incompleta.