Skip to content

Commit 507350a

Browse files
aborrusoclaude
andcommitted
docs: convenzione di triage delle issue (label tipo + priority, dedup)
Ricostruita dalle scelte gia' fatte: ogni issue riceve alla creazione un label di tipo (enhancement/documentation/bug/question, gap-dataset additivo per assenze LOD) e un priority. Gestione duplicati: default tieni la piu' vecchia, eccezione se la piu' recente e' migliore; cross-link + trasferimento dettagli + close not planned. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent d184aa6 commit 507350a

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

docs/issue-triage.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Convenzione di triage delle issue
2+
3+
Come etichettiamo e gestiamo le issue di questo repo. Ricostruita dalle scelte già fatte; va applicata a **ogni** issue, incluse quelle appena create.
4+
5+
## Regola: triage sempre, alla creazione
6+
7+
Ogni issue, nel momento in cui viene aperta, riceve subito:
8+
9+
1. **un label di tipo** (obbligatorio);
10+
2. **un label di priorità** `priority: …` (obbligatorio).
11+
12+
Un'issue senza questi due label è non-triata: va completata.
13+
14+
## Prima di aprire: cerca i duplicati
15+
16+
Prima di creare una issue, cercare tra le esistenti (aperte e chiuse) se il tema è già coperto: `gh issue list --search "<parole chiave>" --state all`. Aprire un doppione è l'errore che questo processo previene.
17+
18+
## Gestione dei duplicati
19+
20+
Quando due issue coprono lo stesso tema:
21+
22+
- **Default**: si tiene la **più vecchia** (mantiene la storia e i riferimenti) e si chiude la più recente, trasferendo nella vecchia i dettagli utili che aveva la nuova.
23+
- **Eccezione**: se la più recente è **nettamente migliore** (più completa, verifiche aggiornate), si tiene quella e si trasferiscono i dettagli utili dalla vecchia.
24+
- In entrambi i casi: **cross-link** tra le due (commento con `#N`), trasferimento dei dettagli utili, chiusura con reason **`not planned`** e commento che spiega la scelta.
25+
26+
## Label di tipo
27+
28+
- `enhancement` — nuova feature o tool, o arricchimento di uno esistente.
29+
- `documentation` — documentazione.
30+
- `bug` — qualcosa non funziona.
31+
- `question` — serve chiarire prima di decidere.
32+
- `gap-dataset`**additivo**, non alternativo: si aggiunge quando la **radice** del problema è un limite o un'assenza nella fonte LOD. Il codice può solo mitigare (workaround, scraping di fonti non-LOD); il caso va seguito anche col gestore del dato. Convive con `enhancement`/`documentation`.
33+
34+
## Label di priorità
35+
36+
Criteri (dalle descrizioni dei label):
37+
38+
- `priority: high` — problema **reale**, **alto impatto**, **azionabile** subito. Riservata: al momento nessuna issue aperta la porta.
39+
- `priority: medium` — via di mezzo. **Euristica osservata**: nuovi tool ed enhancement di buon valore giornalistico stanno qui (es. nuove fonti, tool compositi, arricchimenti di scheda).
40+
- `priority: low` — basso impatto, oppure **bloccata** da un limite a monte, oppure **già mitigata**. Rifiniture e casi-limite.
41+
42+
## Esempi di riferimento
43+
44+
- `enhancement` + `priority: medium` → nuovo tool o arricchimento di valore (es. #10 enrich scheda, #18 tool documenti Camera, #45 bulk data AKN).
45+
- `enhancement` + `gap-dataset` + `priority: low` → miglioria bloccata da un'assenza nel LOD (es. #26 person_uri ministri, #33 committee-sessions Senato).
46+
- `documentation` + `priority: low/medium` → doc e verifiche (es. #11, #32).
47+
- `gap-dataset` + `priority: medium` → assenza di dato da mitigare e segnalare al gestore (es. #36 votazioni Senato mar-apr 2020).

0 commit comments

Comments
 (0)