84 lines
1.9 KiB
Markdown
84 lines
1.9 KiB
Markdown
# {{SPEC_ID}} — {{TITOLO}}
|
||
|
||
Stato: **da approvare** · Versione 0.1 · {{DATA}}
|
||
|
||
**Requisiti coperti:** <!-- DA COMPILARE: `REQ-…` -->
|
||
**Decisioni di riferimento:** <!-- `D-…` o «nessuna» -->
|
||
|
||
---
|
||
|
||
## 1. Contesto e obiettivo
|
||
|
||
<!-- DA COMPILARE: perché questa capability esiste, cosa decide per l'utente. Un dato misurato
|
||
vale più di un aggettivo. Se la spec è a sé per una ragione (regola delicata, rischio), dirlo. -->
|
||
|
||
---
|
||
|
||
## 2. Cosa cambia rispetto a ciò che è già scritto
|
||
|
||
<!-- Solo se la spec modifica requisiti, decisioni o altre spec. Altrimenti rimuovere la sezione. -->
|
||
|
||
| Dove | Prima | Dopo |
|
||
|---|---|---|
|
||
| | | |
|
||
|
||
---
|
||
|
||
## 3. Regole
|
||
|
||
<!-- DA COMPILARE in forma NORMATIVA: «il sistema …», «non …», limiti numerici espliciti.
|
||
Pseudocodice per gli algoritmi. Una tabella per le combinazioni di casi. Quando un comportamento
|
||
sembra un errore ma è voluto, dirlo: «è una decisione, non una dimenticanza». -->
|
||
|
||
---
|
||
|
||
## 4. Contratto API
|
||
|
||
### `METODO /api/v1/percorso`
|
||
|
||
**Ingresso:** <!-- campi e tipi -->
|
||
|
||
**Uscita:** <!-- campi e tipi -->
|
||
|
||
| Esito | Codice |
|
||
|---|:-:|
|
||
| <!-- Riuscito --> | 200 |
|
||
| <!-- Non trovato o di altro tenant --> | 404 |
|
||
| <!-- Validazione fallita --> | 422 |
|
||
|
||
Il dettaglio formale va in `04-api/openapi.yaml` **prima** del codice.
|
||
|
||
---
|
||
|
||
## 5. Dati
|
||
|
||
<!-- DA COMPILARE: entità, colonne, vincoli toccati — rimando a DATA_MODEL e DATABASE. -->
|
||
|
||
---
|
||
|
||
## 6. Errori e casi limite
|
||
|
||
| Caso | Comportamento |
|
||
|---|---|
|
||
| <!-- DA COMPILARE --> | |
|
||
|
||
---
|
||
|
||
## 7. Criteri di accettazione
|
||
|
||
Ogni criterio è verificabile da un test e ha un esito binario.
|
||
|
||
| # | Criterio |
|
||
|:-:|---|
|
||
| {{LETTERA}}1 | <!-- DA COMPILARE: «Dato …, quando …, allora …» --> |
|
||
| {{LETTERA}}2 | |
|
||
|
||
---
|
||
|
||
## 8. Task
|
||
|
||
| ID | Task | Dipende da |
|
||
|---|---|---|
|
||
| **{{T0}}** | <!-- DA COMPILARE --> | — |
|
||
| **{{T1}}** | Test di accettazione {{LETTERA}}1–{{LETTERA}}n | {{T0}} |
|