You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(senato): dettaglio nominativo per ogni voto tranne la segreta (#53)
* docs(senato): dettaglio nominativo disponibile per ogni voto tranne la segreta
Verifica empirica (leg.19): senato-vote-detail restituisce le righe
per-senatore per TUTTE le modalità di osr:tipoVotazione, non solo
'nominale con appello'. L'unica eccezione è il voto SEGRETO, che alla
fonte non registra la scelta: torna solo le presenze (Presente non
votante, In congedo/missione), mai Favorevole/Contrario.
Il segnale 'roll_call_available' non serve come campo nuovo: è derivabile
da type !== 'segreta', già esposto da senato-votes.
- senato-vote-detail: description col caveat voto segreto (agent-friendly)
- wiki votazione-tipo-semantico.md: tabella dettaglio per tipo + nota STR()
- skill CLI + MCP: nota voto segreto
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(senato): includi verifica numero legale tra i voti senza scelta individuale
Greptile (P1) + Copilot: la regola diceva type !== segreta, ma anche
verifica numero legale (conteggio del quorum) registra solo presenze,
mai Favorevole/Contrario — come già indicava la tabella. Verificato:
- controprova 19-410-27: 89 Contrario + 46 Favorevole (voto di merito)
- verifica num. legale 19-334-1: solo presenze, 0 Favorevole/Contrario
Segnale corretto: la scelta individuale c'è per i voti di merito
(elettronica, nominale con appello, controprova), NON per segreta e
verifica numero legale → type non in {segreta, verifica numero legale}.
- allineati tool description, wiki, skill CLI+MCP
- wiki timestamp 2026-07-07 → 2026-07-11 (Copilot)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(senato): includi Astenuto tra le scelte assenti + forma literal tipizzato
Copilot (2ª passata):
- La scelta espressa include anche Astenuto, non solo Favorevole/Contrario.
Su segreta e verifica numero legale mancano tutte e tre (solo presenze).
- Nota Virtuoso: aggiunta la forma con literal tipizzato
osr:tipoVotazione "elettronica"^^xsd:string come alternativa a STR()
(verificato: 7821 con tipizzato vs 0 con literal semplice).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/lod-wiki/senato/votazione-tipo-semantico.md
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ title: Tipo semantico di una votazione (finale/fiducia) NON in osr:tipoVotazione
4
4
description: osr:tipoVotazione è la modalità di voto (elettronica/nominale/segreta), non il tipo semantico. "Votazione finale" e "questione di fiducia" vivono solo nel rdfs:label.
Filtrare `--type` o `osr:tipoVotazione` per "finale" o "fiducia" restituisce **0 righe** — non perché il dato manchi, ma perché è la proprietà sbagliata.
23
23
24
+
Nota Virtuoso: il literal di `osr:tipoVotazione` è tipizzato `xsd:string`, quindi il match con un literal **semplice** (`osr:tipoVotazione "elettronica"`) torna **vuoto** — è un problema di uguaglianza di *term* (`"elettronica"` ≠ `"elettronica"^^xsd:string`). Due forme che funzionano (verificato leg. 19: 7821 vs 0): tipizzare il literal nel triple pattern — `osr:tipoVotazione "elettronica"^^xsd:string` — oppure filtrare con `FILTER(STR(?t) = "elettronica")` (cfr. [[trappole]]).
25
+
26
+
# Dettaglio nominativo per tipo (roll call): la scelta individuale c'è solo per i voti di merito
27
+
28
+
`senato-vote-detail` restituisce le righe per-senatore **per tutte le modalità di voto**, non solo per `nominale con appello` (verificato 2026-07-11, leg. 19). La differenza vera non è "c'è / non c'è il dettaglio", ma **cosa** contiene il dettaglio: la scelta espressa (Favorevole, Contrario, Astenuto) oppure solo le presenze (Presente non votante, In congedo/missione).
|`nominale con appello`| sì |**sì** (voto di merito) |
34
+
|`controprova`| sì |**sì** (voto di merito) |
35
+
|`verifica numero legale`| sì |**NO** — solo presenze (conteggio del quorum) |
36
+
|`segreta`| sì |**NO** — solo presenze (voto segreto) |
37
+
38
+
Prova sul voto segreto `19-155-52`: 15 `Presente non votante` + 21 `In congedo/missione`, **zero** scelte espresse (né Favorevole, né Contrario, né Astenuto). È costituzionalmente corretto: il voto segreto registra chi era presente, non come ha votato. Lo stesso vale per la `verifica numero legale`, che è un semplice conteggio del numero legale, non un voto su un provvedimento.
39
+
40
+
**Regola pratica per l'orchestratore/LLM:** la domanda "come ha votato il singolo senatore X?" è rispondibile solo per i voti di **merito** (`elettronica`, `nominale con appello`, `controprova`). Su `segreta` e `verifica numero legale`**non** dedurre né inventare il sì/no: la scelta non esiste nel dato, ci sono solo le presenze. Non serve un campo booleano dedicato (`roll_call_available`): il segnale è **derivabile** dal campo `type` già esposto da `senato-votes` — la scelta individuale c'è quando `type ∉ {"segreta", "verifica numero legale"}`.
41
+
24
42
# Dove vive il tipo semantico
25
43
26
44
Nel **`rdfs:label`** della votazione, come testo. Pattern verificati (leg. 19):
Copy file name to clipboardExpand all lines: skills/italian-parliament-cli/SKILL.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -131,3 +131,4 @@ Quando ricostruisci iter, voti o schede, il rischio è la **confabulazione su sc
131
131
- Use `--limit` to cap results during exploration
132
132
- URIs from `list` commands can be passed to `show` commands
133
133
-**Senato confidence votes have empty `ddl_uri` at the source**, but `senato-votes list --ddl-uri <uri>`**now returns the *fiducia* anyway** (it resolves the DDL's seduta dates and re-links the confidence vote of that day). Still check `ddl_uri` on any "final" vote found by date: it may belong to a different act (unified text).
134
+
-**Senato — quando c'è il voto individuale**: `senato-vote-detail` dà il sì/no del singolo senatore solo per i voti di **merito** (`type` = `elettronica`, `nominale con appello`, `controprova`). Per `segreta` (voto segreto) e `verifica numero legale` (conteggio del quorum) restituisce solo le presenze (`Presente non votante`, `In congedo/missione`), **mai** una scelta espressa (né `Favorevole`, né `Contrario`, né `Astenuto`): la scelta non è nel dato. Non dedurre il voto individuale su queste due modalità.
Copy file name to clipboardExpand all lines: skills/italian-parliament-mcp/SKILL.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -107,6 +107,7 @@ Use `rank` with `rankBy`: `aic-primo-firmatario`, `aic-cofirmatario`, `bills-pri
107
107
**Who voted how (Senato)**
108
108
1.`senato-votes` → get vote URI (filter by `ddlUri` for votes on a bill, or by date)
109
109
2.`senato-vote-detail` with the URI. Each row includes the senator's `group_label` at the vote date, so the group breakdown comes directly (no need to cross-reference).
110
+
-**When is the individual choice available?** Only for *merit* votes (`type` from `senato-votes` = `elettronica`, `nominale con appello`, `controprova`). For `segreta` (secret ballot) and `verifica numero legale` (quorum count) the source does **not** record the individual choice — `senato-vote-detail` returns only presence rows (`Presente non votante`, `In congedo/missione`), never an expressed choice (neither `Favorevole`, nor `Contrario`, nor `Astenuto`). That's correct: report "scelta individuale non registrata (voto segreto / verifica del numero legale)", don't infer the vote on those two types.
110
111
111
112
**Iter completo di una legge (Camera → Senato → pubblicazione)**
112
113
Non generare la timeline a memoria: costruiscila dai tool, passo per passo. `bill-progress` è la spina dorsale.
"[SENATO] Voto individuale di ogni senatore in una singola votazione d'Assemblea: come ha votato (Favorevole, Contrario, Astenuto, Presente non votante, In congedo/missione), con nome e gruppo di appartenenza alla data del voto. Richiede l'URI della votazione (da senato-votes).",
71
+
"[SENATO] Voto individuale di ogni senatore in una singola votazione d'Assemblea: come ha votato (Favorevole, Contrario, Astenuto, Presente non votante, In congedo/missione), con nome e gruppo di appartenenza alla data del voto. Richiede l'URI della votazione (da senato-votes). ATTENZIONE: la scelta espressa (Favorevole, Contrario, Astenuto) è registrata solo per i voti di merito (type 'elettronica', 'nominale con appello', 'controprova'). Per i voti 'segreta' (voto segreto) e 'verifica numero legale' (conteggio del quorum) il tool restituisce SOLO le presenze (Presente non votante, In congedo/missione) e MAI una scelta espressa (né Favorevole, né Contrario, né Astenuto) — è corretto così, non dedurre né inventare il voto del singolo senatore su queste due modalità.",
72
72
inputSchema,
73
73
examples: [
74
74
"italianparliament senato-vote-detail show --vote-uri http://dati.senato.it/votazione/19-167-42",
0 commit comments