Passa al contenuto principale

Riferimento Codici di Rilevamento

Ogni problema rilevato da Zenzic è contrassegnato da un codice di rilevamento canonico (Zxxx). Questa pagina è il cheat-sheet di riferimento rapido — severità, penalità, codice di uscita e percorso di rimedio essenziale per ogni segnale diagnostico.

Modello a Livelli

Zenzic organizza i diagnostici in quattro livelli operativi:

LivelloProprietàFormatoAmbito
CoreZenzicZxxxScanner integrati e rilevamenti di sistema
GovernanceZenzicZ6xxControlli policy opt-in ([governance])
PluginTerze parti<plugin-id>:<code>Regole da entry-point esterni
CustomProgetto localeZZxxx[[custom_rules]] dichiarate nel TOML

Contratto di Stabilità

Il registro dei codici è regolato da superfici di contratto immutabili:

  • FROZEN_CODES: codici che non possono essere rinumerati o modificati semanticamente senza approvazione a livello architetturale.
  • NON_SUPPRESSIBLE_CODES: codici di sicurezza che non possono essere silenziati inline.
  • PLUGIN_FORBIDDEN_EXITS: i plugin non possono emettere Exit 2/3 (riservati alla semantica di sicurezza del core).
Deep-linking

Ogni codice ha un anchor permanente. È possibile collegarsi direttamente a un codice specifico usando https://zenzic.dev/it/docs/reference/finding-codes#z101.

Panoramica Categorie

CategoriaIntervalloScopoSeverità PredefinitaSopprimibile?
Z0xxMigrazione e CompatibilitàDeprecazione motore; guida alla migrazioneerror❌ No (abort fatale)
Z1xxIntegrità dei LinkLink rotti, vuoti, circolari; pagine orfane; problemi di percorsoerror/warning/info✅ Sì
Z2xxSicurezza (credential scanner)Rilevamento segreti; path traversal; incidenti di sicurezzawarning/security_breach/security_incident🔒 Mai
Z3xxIntegrità dei RiferimentiDefinizioni di riferimento dangling/duplicateerror/warning✅ Sì
Z4xxStrutturaIndici directory, pagine orfane, alt text mancante, asset di configinfo/warning✅ Sì
Z5xxQualità dei ContenutiTesto segnaposto, contenuto breve, validazione snippet, regressioniwarning/error✅ Sì
Z6xxGovernanceObsolescenza brand, parità i18n (opt-in)warning✅ Sì
Z9xxMotore e SistemaErrori di esecuzione regole, timeout, diagnostici di sistemaerror/warning✅ Sì
Sintassi di soppressione per riga

Sopprimi un rilevamento su una riga specifica con un commento nel formato corretto sulla stessa riga.
Markdown (.md): <!-- zenzic:ignore: Zxxx -->
MDX (.mdx): {/* zenzic:ignore: Zxxx */}
Vedi Politica di Soppressione per il riferimento completo.

Contratto Codici di Uscita

Codice di UscitaSignificatoSopprimibile?
0Tutti i controlli superati (o soppressi con --exit-zero)
1Errori e avvisi rilevati; usa --strict per promuovere i warning✅ Sì
2Breach di sicurezza (Z201, Z204). Mai soppresso❌ Mai
3Incidente di sicurezza (Z203 PATH_TRAVERSAL_FATAL). Mai soppresso, nemmeno con --exit-zero❌ Mai

Z0xx — Migrazione e Compatibilità

Z000: UNSUPPORTED_ENGINE

Severità: error (abort fatale) · Penalità: nessuna · Uscita: 1 · Sopprimibile: No

Errore di configurazione fatale: l'adapter factory ha rilevato un alias motore deprecato o rimosso in .zenzic.toml. L'esecuzione si interrompe prima di qualsiasi scansione — Z000 non appare nell'output --format json.

Rimedio:

  1. Apri .zenzic.toml e imposta engine = "standalone" (o "mkdocs", "docusaurus", "zensical").
  2. Rimuovi qualsiasi alias motore legacy.

Z101: LINK_BROKEN

Severità: error · Penalità: −8,0 pt (Strutturale) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un link relativo punta a una risorsa non trovata nella Virtual Site Map. Il file potrebbe essere fuori dall'ambito di docs_dir o corrispondente a un pattern di esclusione.

Rimedio:

  1. Verifica l'esistenza fisica del file di destinazione.
  2. Correggi il percorso relativo (es. ../folder/target.md).
  3. Conferma che il file non sia corrispondente a ignored_patterns nella config.

Z102: ANCHOR_MISSING

Severità: error · Penalità: −5,0 pt (Strutturale) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Il file di destinazione del link esiste (Z101 passa), ma l'anchor HTML specifico (es. #setup) è assente dal registro intestazioni del file di destinazione. Zenzic analizza tutte le intestazioni e i tag <a id="..."> espliciti durante il Pass 1.

Rimedio:

  1. Controlla il testo dell'intestazione nel file di destinazione e verifica lo slug dell'anchor.
  2. Assicurati che la slugificazione Kebab-case corrisponda al motore Markdown (Docusaurus: minuscolo, spazi → trattini).
  3. Usa {#id} o <a id="id"></a> per ID personalizzati.

Z103: ORPHAN_LINK

Severità: error · Penalità: 0,0 pt · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

La destinazione del link esiste nella VSM ma non è raggiungibile attraverso alcuna struttura di navigazione (sidebar/nav). Gli utenti possono raggiungerla solo tramite URL diretto.

Rimedio:

  1. Aggiungi il file al nav (MkDocs) o a sidebars.ts (Docusaurus).
  2. Se la pagina nascosta è intenzionale, sopprimi con <!-- zenzic:ignore: Z103 -->.

Z104: FILE_NOT_FOUND

Severità: error · Penalità: −8,0 pt (Strutturale) · Uscita: 1 · Sopprimibile:

Errore filesystem di basso livello: il motore non ha potuto aprire un file referenziato da un link. Si attiva anche come variante slug-mismatch in Docusaurus: un link assoluto punta a un prefisso di route del progetto (es. /blog/) ma lo slug esatto non esiste nella VSM — causa più comune: il campo slug: nel frontmatter differisce dall'URL nel link.

blog/post.mdx:12: '/blog/zenzic-v070' not found in the site map
💡 Did you mean: '/blog/zenzic-v070-release/'?

Rimedio:

  1. Verifica che nessun processo concorrente stia modificando docs/ durante la scansione.
  2. Controlla che docs_dir sia corretto e il percorso sia assoluto rispetto alla radice del repository.
  3. (Slug-mismatch) Esegui zenzic inspect routes --kind physical per elencare tutti gli slug canonici nella VSM. Aggiorna il link per corrispondere allo slug slug: dichiarato nel frontmatter.

Z105: ABSOLUTE_PATH

Severità: error · Penalità: −2,0 pt (Strutturale) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un percorso assoluto del filesystem (es. C:\Docs\page.md o /home/user/docs/page.md) compromette la portabilità della documentazione. I prefissi URL del progetto (/blog/, /docs/) sono esenti da Z105 ma vengono comunque verificati tramite lookup VSM (uno slug mancante genera Z104).

Rimedio:

  1. Converti in un percorso relativo dalla directory del file corrente.
  2. Usa @site/ o alias specifici del motore dove supportati.
  3. Se hai ricevuto Z104 su un link assoluto /blog/, vedi il rimedio Z104.

Z106: CIRCULAR_LINK

Severità: info · Penalità: 0,0 pt · Uscita: 0 · Sopprimibile: Sì (solo informativo, --show-info)

Un insieme di link forma un ciclo diretto (A → B → A). Si tratta di un segnale di telemetria strutturale — non blocca il Quality Gate né riduce il DQS.

Rimedio: Rivedi il flusso dei contenuti; considera di sostituire un link con una sezione "Vedi anche". Nessuna azione richiesta se il ciclo è intenzionale.

Z107: CIRCULAR_ANCHOR

Severità: warning · Penalità: −1,0 pt (Strutturale) · Uscita: 1 · Sopprimibile:

Un link della forma [testo](#anchor) si risolve in un'intestazione della stessa pagina — un self-loop che naviga il lettore esattamente dove si trova già. Distinto da una voce di sommario (che collega in avanti a un anchor inferiore su una pagina lunga).

Rimedio:

  1. Sostituisci [testo](#anchor) con testo normale se non è prevista navigazione.
  2. Oppure collega il concetto a una pagina diversa.

Z108: EMPTY_LINK_TEXT

Severità: error · Penalità: −1,0 pt (Strutturale) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un link Markdown inline o un link di riferimento collapsed ha testo visibile vuoto o composto solo da spazi — es. [](./page.md), [ ](./page.md), [][ref]. Rompe simultaneamente l'accessibilità screen reader e l'indicizzazione semantica.

Rimedio:

  1. Aggiungi testo descrittivo al link: [Documentazione](./page.md).
  2. Rimuovi completamente il link se la destinazione non è ancora nota.

Z109: EXTERNAL_LINK_BROKEN

Severità: error · Penalità: −3,0 pt (Strutturale) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un URL esterno ha restituito un codice di stato di errore HTTP (es. 404, 500) o è stato completamente irraggiungibile a causa di un timeout di connessione o di un errore di risoluzione DNS durante la scansione.

Rimedio:

  1. Controlla l'URL di destinazione in un browser web.
  2. Correggi l'URL se contiene errori di digitazione, oppure rimuovi il link se la destinazione non è più esistente.

Z2xx — Sicurezza (credential scanner)

Z201: CREDENTIAL_SECRET

🔒 INVIOLABILE — Non sopprimibile | Uscita 2 | DQS collassa a 0/100

zenzic:ignore: Z201 è silenziosamente rifiutato. Il credential scanner si attiva incondizionatamente su ogni riga. ↗ Gallery

Severità: security_breach · Penalità: DQS collassa a 0/100 · Uscita: 2

Il credential scanner ha rilevato un pattern di credenziale noto. Viene applicata la decodifica speculativa Base64 — anche i token codificati che decodificano in pattern di credenziali vengono segnalati.

Rimedio:

  1. IMMEDIATO: Ruota la credenziale esposta — è compromessa.
  2. Rimuovi il segreto dal file.
  3. Pulisci la cronologia git usando git-filter-repo.
  4. Usa placeholder come YOUR_API_KEY negli esempi di documentazione.

Z202: PATH_TRAVERSAL

🔒 INVIOLABILE — Non sopprimibile | Uscita 1 | DQS collassa a 0/100

zenzic:ignore: Z202 è silenziosamente rifiutato. ↗ Gallery

Severità: error · Penalità: DQS collassa a 0/100 · Uscita: 1

Un percorso relativo usa segmenti .. per uscire dal confine della radice docs/, esponendo potenzialmente file privati del repository (.env, config.py).

Rimedio:

  1. Sposta l'asset o il file di destinazione nella gerarchia docs/ o static/.
  2. Se devi referenziare un file esterno, usa un link simbolico (se consentito) o un URL assoluto letterale.

Z203: PATH_TRAVERSAL_FATAL

🔒 INVIOLABILE — Non sopprimibile | Uscita 3 (massima) | DQS collassa a 0/100

zenzic:ignore: Z203 è silenziosamente rifiutato. Diverso da Z202: punta alle directory di sistema (/etc/, /root/) segnalando una compromissione della supply-chain.

Severità: security_incident · Penalità: DQS collassa a 0/100 · Uscita: 3

Path traversal rilevato verso directory di sistema riservate (es. /etc/, /root/). Non può risultare da un flusso di lavoro di documentazione legittimo — la presenza indica iniezione di template, toolchain compromessa, o commit malevolo.

Rimedio:

  1. Indaga il file sorgente per intento malevolo o compromissione della supply chain.
  2. Rimuovi tutti i percorsi assoluti che referenziano posizioni di sistema.
  3. Controlla i vettori di iniezione nella pipeline CI.

Z204: FORBIDDEN_TERM

🔒 INVIOLABILE — Non sopprimibile | Uscita 2 | DQS collassa a 0/100

zenzic:ignore: Z204 è silenziosamente rifiutato. Sorgente: forbidden_patterns in .zenzic.local.toml (ignorato da git). ↗ Gallery

Severità: security_breach · Penalità: DQS collassa a 0/100 · Uscita: 2

Il Privacy Gate ha rilevato un termine di progetto riservato (nome in codice interno, hostname di staging, alias di team) configurato in .zenzic.local.toml. Il matching è una sottostringa verbatim case-insensitive — nessuna regex. Esegui zenzic init per creare .zenzic.local.toml (aggiunto automaticamente a .gitignore).

Integrità brand — due livelli
LivelloSorgenteAmbitoSeverità
Z204 Privacy Gateforbidden_patterns in .zenzic.local.toml (git-ignored)Termini privati — code-name, staging hostUscita 2 (Critica)
Z601 Brand Guard[governance].brand_obsolescence in .zenzic.tomlTermini brand deprecatiUscita 1 (Qualità)

Rimedio:

  1. Rimuovi o generalizza il termine vietato.
  2. Se il termine è legittimamente pubblico, rimuovilo da forbidden_patterns.
  3. Verifica che .zenzic.local.toml sia in .gitignore.

Z3xx — Integrità dei Riferimenti

Z301: DANGLING_REF

Severità: error · Penalità: −4,0 pt (Navigazione) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un link in stile riferimento ([mio link][ref]) è presente, ma la definizione ([ref]: http://...) è assente dal file. La maggior parte dei renderer degrada silenziosamente il link a testo normale.

Rimedio:

  1. Aggiungi la definizione mancante in fondo al file Markdown.
  2. Controlla errori di battitura nell'ID di riferimento.

Z302: DEAD_DEF

Severità: warning · Penalità: −1,0 pt (Navigazione) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Una definizione di riferimento esiste ma nessun link nel file la utilizza. Innocua per i lettori ma crea debito di manutenzione.

Rimedio: Rimuovi la definizione inutilizzata, o aggiorna un link per usare questo riferimento.

Z303: DUPLICATE_DEF

Severità: warning · Penalità: −3,0 pt (Navigazione) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Esistono definizioni multiple per lo stesso ID di riferimento. CommonMark specifica che vince la prima definizione, ma questa ambiguità va risolta per un rendering deterministico cross-engine.

Rimedio: Assicurati che ogni ID di riferimento abbia esattamente una definizione; consolida i duplicati in un unico riferimento canonico.


Z4xx — Struttura

Z401: MISSING_DIRECTORY_INDEX

Severità: info · Penalità: nessuna (suggerimento strutturale) · Uscita: 0 · Sopprimibile:

Una directory di documentazione non ha index.md o README.md. L'URL della directory potrebbe restituire 404 o un elenco raw a seconda del motore di build.

Rimedio: Crea index.md nella directory segnalata con una breve panoramica della sezione.

Z402: ORPHAN_PAGE

Severità: warning · Penalità: −4,0 pt (Navigazione) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un file esiste in docs/ ma non è raggiungibile da alcun menu di navigazione. L'equivalente documentale del codice morto.

Rimedio:

  1. Aggiungi il file al nav (MkDocs) o a sidebars.ts (Docusaurus).
  2. Elimina il file se è un artefatto residuo.

Z403: MISSING_ALT

Severità: warning · Penalità: nessuna (avviso di accessibilità) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un'immagine è priva di testo alt, degradando l'accessibilità per screen reader e il SEO.

Rimedio: Aggiungi testo descrittivo: ![Una descrizione dell'immagine](url). Evita etichette generiche come "immagine" o "screenshot".

Z404: CONFIG_ASSET_MISSING

Severità: warning · Penalità: nessuna (avviso integrità configurazione) · Uscita: 1 · Sopprimibile:

La configurazione principale del motore di build (es. docusaurus.config.ts) referenzia un logo o favicon che non esiste al percorso specificato. Il fallimento è globale: ogni pagina in ogni locale viene servita senza l'asset di branding.

Rimedio:

  1. Controlla i percorsi favicon: o logo.src: nel file di configurazione.
  2. Assicurati che l'asset sia fisicamente presente in static/ (Docusaurus) o docs/ (MkDocs).

Z405: UNUSED_ASSET

Severità: warning · Penalità: −3,0 pt (Governance) · Uscita: 1 · Sopprimibile:

Un file immagine o asset nel repository non viene mai referenziato da alcun file Markdown. Gli "Dark Asset" gonfiano il repository e gli artefatti di build silenziosamente.

Rimedio:

  1. Elimina il file inutilizzato.
  2. Oppure referenzialo in una pagina di documentazione appropriata.

Z406: NAV_CONTRACT

Severità: error · Penalità: −2,0 pt (Governance) · Uscita: 1 · Sopprimibile:

Un conflitto tra la struttura fisica dei file e la configurazione di navigazione del motore. Per MkDocs: una voce nav che punta a un percorso non attivato da alcun file fisico. Per Docusaurus: un link extra.alternate assente dalla VSM.

Rimedio:

  1. Allinea il percorso nav nella configurazione con il percorso fisico del file.
  2. Esegui zenzic check all per verificare la correzione sull'intera VSM.

Z5xx — Qualità dei Contenuti

Z501: PLACEHOLDER

Severità: warning · Penalità: −2,0 pt (Contenuto) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Stringhe segnaposto (TODO, FIXME, [INSERIRE IMMAGINE QUI]) committate nella documentazione di produzione segnalano lavoro incompleto.

Rimedio: Sostituisci il segnaposto con contenuto reale, o rimuovilo fino a quando non è pronto.

Z502: SHORT_CONTENT

Severità: warning · Penalità: −1,0 pt (Contenuto) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Una pagina contiene meno di 50 parole di prosa renderizzata (frontmatter, commenti MDX e HTML esclusi). Una pagina al di sotto di questa soglia non può contenere i componenti semantici necessari per rispondere alla domanda del lettore.

Rimedio: Espandi la pagina, o uniscila a una pagina correlata.

Z503: SNIPPET_ERROR

Severità: error · Penalità: −10,0 pt (Contenuto — penalità massima per occorrenza singola) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Lo Snippet Guard ha identificato un errore di sintassi in un blocco di codice delimitato con un tag linguaggio. Il numero di riga riportato è assoluto — relativo al file sorgente, non all'inizio dello snippet.

Rimedio:

  1. Correggi la sintassi nel blocco di codice.
  2. Per esempi intenzionalmente errati, usa ```text per bypassare la validazione.

Z505: UNTAGGED_CODE_BLOCK

Severità: warning · Penalità: −1,0 pt (Contenuto) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un blocco di codice delimitato non ha specificatore di linguaggio. Syntax highlighter, lo Snippet Guard (Z503) e gli screen reader non possono elaborarlo. I metadati Docusaurus (es. ```python title="file.py" showLineNumbers) sono supportati e non vengono mai segnalati.

Rimedio: Aggiungi un tag linguaggio: ```python, ```bash, ```toml. Per blocchi solo visualizzazione, usa ```text o ```plaintext.


Z6xx — Governance

Z601: BRAND_OBSOLESCENCE

Severità: warning · Penalità: −2,0 pt (Governance) + Escalation · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un nome di release deprecato o identificatore di brand appare in un file scansionato. Configurato tramite [governance].brand_obsolescence in .zenzic.toml. I file CHANGELOG sono esenti per impostazione predefinita (obsolete_names_exclude_patterns).

Governance Escalation: Oltre 10 occorrenze Z6xx totali, si applica un moltiplicatore esponenziale: deduzione × 2^(eccesso / 5), con un tetto al livello 25 pt.

Rimedio:

  1. Aggiorna il testo al nome di release attivo.
  2. Per riferimenti storici intenzionali in .md: aggiungi <!-- zenzic:ignore: Z601 -->.
  3. Per file .mdx: aggiungi {/* zenzic:ignore: Z601 */}.
  4. Per esentare un pattern di file, aggiungilo a obsolete_names_exclude_patterns in .zenzic.toml.

Z602: I18N_PARITY

Severità: warning · Penalità: nessuna (controllo integrità bilingue) · Uscita: 1 · Sopprimibile: Sì · ↗ Gallery

Un mirror di traduzione è mancante, o il frontmatter di un file tradotto diverge dalla base canonica (sidebar_position, sidebar_label, title). Due locale con frontmatter diverso producono grafi di navigazione asimmetrici.

Rimedio:

  1. Crea la traduzione mancante in i18n/<locale>/docusaurus-plugin-content-docs/current/<percorso>.
  2. Copia il blocco frontmatter della lingua base e traduci i valori — non aggiungere o rimuovere chiavi.
  3. Per asimmetria intenzionale, sopprimi con {/* zenzic:ignore: Z602 */} sul blocco frontmatter.

Z9xx — Motore e Sistema

Z901: RULE_ENGINE_ERROR

Severità: error · Penalità: nessuna (sistema) · Uscita: 1 · Sopprimibile:

Eccezione non gestita in una regola core o un plugin. Il principio fail-visible di Zenzic converte i crash silenziosi in rilevamenti Z901 espliciti e auditabili.

Rimedio: Controlla l'output CLI per un traceback Python. Segnala il problema su https://github.com/PythonWoods/zenzic/issues.

Z902: RULE_TIMEOUT

Severità: error · Penalità: nessuna (sistema) · Uscita: 1 · Sopprimibile:

Una regola ha superato il limite di tempo di esecuzione (default > 30s). Quasi sempre causato da backtracking catastrofico in una regex personalizzata — un rischio ReDoS che può disabilitare silenziosamente un security gate.

Rimedio:

  1. Rivedi i pattern regex personalizzati in .zenzic.toml.
  2. Semplifica i pattern: evita quantificatori annidati come (a+)+.
  3. Usa alternative non-backtracking dove possibile.

Z906: NO_FILES_FOUND

Severità: note · Penalità: nessuna · Uscita: 0 · Sopprimibile: Sì (informativo)

Nessun file .md / .mdx trovato nel docs_root risolto dopo tutti i livelli di esclusione. Soppresso nei formati output macchina (json, sarif).

Rimedio:

  1. Verifica che docs_dir in .zenzic.toml (o --docs-dir) punti alla directory corretta.
  2. Se la directory è intenzionalmente vuota, Z906 può essere ignorato in sicurezza — esce con 0.

Codici Riservati (Inattivi)

Inattivi per contratto a runtime

I codici in questa sezione sono definiti nel registro Zenzic e riservati per le implementazioni del motore. Non vengono emessi a runtime e non hanno impatto sul Deterministic Quality Score.

Z111: VIRTUAL_ROUTE_BROKEN

Severità: error (riservato) · Motore: Docusaurus

Un link punta a un URL di route virtuale (es. /blog/tags/react/) che non è mai stato generato perché nessun post del blog porta quel valore di tag nel frontmatter tags:. Distinto da Z101: l'URL è strutturalmente valido, ma nessuna sorgente di contenuto lo attiva.

Rimedio: Aggiungi il tag ai post rilevanti, o aggiorna il link verso un tag effettivamente generato. Per link anticipatori, sopprimi temporaneamente con {/* zenzic:ignore: Z111 */}.

Z113: AUTHOR_KEY_COLLISION

Severità: error (riservato) · Motore: Docusaurus

Due o più file authors.yml dichiarano la stessa chiave autore. Docusaurus unisce silenziosamente per priorità, creando una dipendenza di configurazione nascosta.

Rimedio: Identifica la chiave in conflitto, mantieni la definizione canonica, rinomina il duplicato e aggiorna tutti i post del blog che referenziano la chiave rinominata.

Z114: LARGE_PAGINATION_SET

Severità: info (riservato) · Motore: Docusaurus

Il plugin blog genererebbe più di 200 pagine di indice paginate. Informativo — non bloccante.

Rimedio: Aumenta postsPerPage in docusaurus.config.ts o abilita archiveBasePath per scaricare i post storici.

Z504: QUALITY_REGRESSION

Severità: warning (riservato)

Emesso da zenzic diff quando il DQS attuale è inferiore alla baseline salvata (.zenzic-score.json). Non è esso stesso ponderato nel punteggio (sarebbe circolare); identifica quale commit ha introdotto una regressione.

Rimedio: Esegui zenzic score per vedere il breakdown per categoria, correggi i rilevamenti sottostanti che hanno causato il calo, poi esegui zenzic score --save su main per aggiornare la baseline.


Remap Codici Storici

Codice DeprecatoCodice AttivoNote
Z903Z405Remap canonico per UNUSED_ASSET.
Z904Z406Remap canonico per NAV_CONTRACT.
Z905Z601Remap canonico per BRAND_OBSOLESCENCE.
Z907Z602Remap canonico per I18N_PARITY.

Gli identificatori storici rimangono validi solo come riferimenti storici nella prosa di migrazione. I rilevamenti attivi e gli anchor di sezione usano sempre i codici canonici elencati in questa matrice.


Soppressione dei Diagnostici

Vedi Politica di Soppressione per la sintassi inline (zenzic:ignore), il modello Suppression Debt e l'override --audit.