Vai al contenuto principaleVai al footer
Per agenti · Pro / Teams

L'Architect Agent

Chiama architect.validate per ottenere un Blueprint Readiness Score (0–100, voto A–F) sul codice reale. L'Architect Agent revisiona la tua implementazione rispetto ai 10 principi Blueprint, restituisce verdetti per ogni principio CON severità e confidenza numeriche, e persiste il run con un envelope di riproducibilità completo così due chiamanti con lo stesso input possono verificare di aver ottenuto la stessa risposta. Solo piani Pro e Teams.

Membri Pro e Teams. L'Architect Agent è la superficie di revisione autenticata di Blueprint, elabora il tuo codice transitoriamente con una rigorosa politica di no-training, fortifica il confine del prompt contro injection nel codice inviato, e supporta private_session=true per saltare tutto il logging lato server.

Cosa ricevi indietro

Ogni run restituisce una risposta strutturata con: (1) `assessment` — stato generale, sintesi, confidenza E `code_classification` (autonomous_agentic_workflow vs non_agentic_component, con motivazione) così vedi PERCHÉ alcuni principi sono marcati not_applicable; (2) findings per principio — verdetto (aligned, mixed, needs_changes, high_risk, not_applicable), `severity_score` 0–100, `confidence` (low/medium/high), `evidence_quality` (sparse/moderate/strong), evidenza citata dal codice, e una raccomandazione; (3) `readiness` — il Blueprint Readiness Score (0–100), voto (A–F), livello (production_ready / emerging / draft), conteggi per bucket di verdetto, se il voto è stato cappato da un finding high_risk, e la rubric_version; (4) `recommended_examples` con `example_recommendation_status` così il run completa anche se nessun esempio curato corrisponde; (5) `processing` — `llm_latency_ms`, `total_latency_ms`, `timeout_budget_seconds`, `dependency_status`; (6) `reproducibility` — model, seed, system_fingerprint, doctrine_fingerprint, prompt_template_fingerprint, reasoning_effort, e `reproducibility_mode='best_effort'`; (7) `persistence_status` — `saved` o `failed`, con run_id / badge_url / review_url solo quando la scrittura durabile ha avuto successo.

Scoring per severity_class (production_blocker vs hardening_recommended)

Due finding `needs_changes` possono avere impatti molto diversi. Un cap di token come defence-in-depth non e' la stessa cosa di un error path non tipizzato che lascia un utente reale bloccato. Ogni finding ora porta una `severity_class` ortogonale al verdict: `production_blocker` (la trust boundary cede, da correggere prima della produzione, contribuisce 0 credito), `hardening_recommended` (la trust boundary regge, nota di defence-in-depth per la prossima iterazione, credito pieno), `polish` (stilistico, credito pieno). Il voto principale penalizza solo `production_blocker` e il verdict legacy `high_risk`; `hardening_recommended` e `polish` emergono in una lista di next-iteration separata senza trascinare lo score in basso. Questo permette a `production_ready` di significare che le trust boundary reggono invece di 100/100 - inseguire lo score perfetto e' la perfection-loop trap (framing di fitness function di Ford & Parsons). I run vecchi senza severity_class usano l'interpolazione legacy verdict + severity_score e ottengono lo stesso voto di prima.

Envelope di riproducibilità (best-effort, ma auditabile)

Due chiamanti che inviano input identici ottengono lo stesso `seed`, derivato da una canonicalizzazione JSON senza collisioni che copre ogni campo che influenza il prompt. La risposta porta quattro fingerprint così ogni divergenza è diagnosticabile: `system_fingerprint` (backend OpenAI), `doctrine_fingerprint` (le definizioni di principio usate), `prompt_template_fingerprint` (system prompt + scaffolding + JSON schema + modello + reasoning_effort), e il seed stesso. Se un deploy futuro cambia il system prompt o la doctrine, il fingerprint corrispondente cambia — rompere il determinismo silenziosamente è impossibile per costruzione. La modalità è esplicitamente `best_effort`: il seed OpenAI dà campionamento stabile, non replay byte-identico. La `confidence` per finding ti permette di distinguere un disaccordo reale dalla varianza intrinseca dell'LLM.

Memoria trend tra run

Passa repository="<nome-repo>" ad architect.validate e l'Architect Agent raggruppa i run per progetto. Poi chiama me.validation_history per vedere lo score più recente per repository, il delta rispetto al run precedente, e i principi esatti che sono regrediti dall'ultima volta. Gli agenti possono leggere questo contesto prima di ri-validare per concentrare la prossima revisione su cosa sta effettivamente cambiando, invece di ri-segnalare problemi già risolti.

Esempio di score card

Cosa vedi dopo ogni run di architect.validate su un repository.

Repository

acme/customer-agent

Voto

B

Score (0–100)

82/ 100

Livello

Pronto per produzione

Variazione vs. run precedente

7

Principi allineati in questo run

9 su 12 (75%)

Regrediti rispetto al run precedente

Principi passati da allineati → non allineati. Concentra qui la prossima revisione.

  • P5Rendi espliciti hand-off e approvazioni (P5)

Migliorati rispetto al run precedente

Principi passati da non allineati → allineati. Conferma cosa è cambiato e non ri-segnalare.

  • P3Esponi lo stato operativo significativo (P3)
  • P8Vincola l'agente ad azioni recuperabili (P8)

Indicazioni Architect Agent

Score migliorato di 7 rispetto al run precedente su questo repository. Conferma cosa è cambiato prima di suggerire altro lavoro, concentra la prossima revisione sul principio regredito (P5) invece di ricontrollare principi già allineati.

Come viene calcolato il voto

Formula

score = round(100 × Σ credito_per_finding / principi_applicabili)

Ogni finding contribuisce con un credito basato sulla severity_class, non solo sul verdict. production_blocker = 0 (da correggere prima della produzione). hardening_recommended = 1.0 (la trust boundary regge; nota di defence-in-depth per la prossima iterazione). polish = 1.0 (stilistico, non load-bearing). aligned = 1.0. Il verdict legacy high_risk cappa ancora il voto a C. production_ready significa che le trust boundary reggono, non 100/100 - inseguire lo score perfetto e' la perfection-loop trap (Ford & Parsons). I run vecchi senza severity_class usano la formula legacy basata solo sul verdict e ottengono lo stesso punteggio di prima del refinement.

Bande di voto

  • A

    90+

    Pronto per produzione

  • B

    75+

    Pronto per produzione

  • C

    60+

    In sviluppo

  • D

    40+

    Bozza

  • F

    0+

    Bozza

Questo è un esempio. Le score card reali sono generate da architect.validate e visibili in /app/readiness-review/history (Pro/Teams).

Self-review live su prod
L'architect ha valutato il proprio codice
Abbiamo puntato architect.validate su una delle sue feature load-bearing sull'endpoint prod live. Il badge qui sotto è l'SVG servito da /api/badge/run/{run_id}/card.svg — la stessa superficie che ogni chiamante Pro/Teams riceve dopo la propria validate run. Clicca per leggere ogni finding per principio.
Badge self-review live: production_ready, B, 86 / 100
production_readyB / 865 di 6 principi allineatiNessun finding high_risk

Segnale onesto: l'agente ha trovato un principio ancora da stringere, ed è proprio cosa significa production_ready sotto la doctrine. production_ready non è uno stamp 100/100 — significa che i confini di fiducia tengono. Le raccomandazioni di hardening sono materiale per l'iterazione successiva, non un difetto.

Leggi ogni finding per principio