Agora

Illustrazione di Agora Observatory: revisione di conformità che conosce il piano contro audit di scoperta che non lo vede

Panoramica

Un orchestratore che mette Claude Code e Codex sullo stesso task di programmazione. Pianificano, criticano l'uno il piano dell'altro, implementano e fanno l'audit, e a decidere se il risultato passa è il codice, non un modello.

Stack

TypeScript, Node.js, CLI di Claude Code e Codex, git worktree, Vitest, GitHub Actions; dashboard in Next.js 16 su Cloudflare Workers

Cosa ho realizzato

  • Tre pipeline commisurate all'impegno, scelte da una chiamata di triage economica: fast (un agente implementa, l'altro revisiona), standard (entrambi pianificano, si criticano, uniscono e ratificano, poi implementazione e revisione) e max (entrambi implementano in git worktree paralleli, poi due audit indipendenti).
  • Un audit di scoperta cieco rispetto al piano: l'auditor riceve solo il task e un checkout usa e getta del risultato, senza piano, senza cronologia e senza i worktree paralleli, e ogni audit è legato all'hash dell'albero git che ha letto.
  • Aggiudicazione deterministica: i rilievi dei due auditor si uniscono solo tramite collegamenti espliciti creati nella revisione incrociata, e ognuno riceve un'etichetta: cross-validated, consensus, disputed o solo.
  • Ogni fase è un checkpoint da cui si può riprendere, e le decisioni umane sul merge, override compresi, vengono registrate come dati.
  • 187 test, con CLI degli agenti simulate, così tutte e tre le pipeline girano end to end in CI senza una sola chiamata API.
  • Agora Observatory, una dashboard che mostra il report di un'esecuzione con checksum e da dove viene ogni rilievo.

Scelte chiave

  • Due controlli separati: una revisione di conformità confronta il diff con il piano, e un audit di scoperta non vede mai il piano, perché i revisori che hanno concordato un piano ne condividono i punti ciechi.
  • Nessun modello giudice: il verdetto è calcolato. Approva solo con zero rilievi e zero errori, corregge in automatico solo i rilievi corroborati, e il merge lo conferma comunque una persona.
  • Fail closed: se manca un auditor il controllo resta in sospeso, e l'output malformato di un agente ha un solo nuovo tentativo, mentre il file difettoso viene conservato per l'analisi.
  • Misurato su un'esecuzione reale: la revisione che conosceva il piano non ha trovato difetti bloccanti, mentre l'audit cieco ne ha trovati sei, uno di gravità alta. È per questo che ora l'audit gira su un checkout ripulito.