Skip to content

Commit bd8a287

Browse files
aborrusoclaude
andcommitted
docs(skill-mcp): scrutinio segreto e i due 403 del Senato
- voto segreto: la scelta individuale non è registrata alla fonte, in nessuna camera; riportare "non registrata", mai dedurla - 403 Senato: stesso codice per dimensione della richiesta (accorciare) e per frequenza (aspettare), reazioni opposte; nessuno dei due dice nulla sul dato, quindi mai riportarli come "dato non disponibile" Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 9bc2d77 commit bd8a287

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

skills/italian-parliament-mcp/SKILL.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,18 @@ Use `search` first to resolve a name to a URI before calling `deputy` or `senato
7979
- **`sindacato-ispettivo` (Senato) is not searchable by topic**: the Senato LOD exposes no subject/text for these acts (only type, number, date, signatories). Don't promise thematic searches on it.
8080
- **`audizioni --committeeName` is literal**: it matches a substring against the official `rdfs:label` of the committee, which is the full formal name. "Covid" finds nothing — use "emergenza sanitaria" or "SARS-CoV-2". If a lookup returns empty, first inspect the actual labels with `committees list --chamber camera` + grep, then retry with the exact name.
8181
- **Question time by venue (`aic`)**: `type` also matches the act's label, and the venue is regular in the label, so no dedicated field is needed. `aic --type "immediata in assemblea"` = question time in Aula; `aic --type "immediata in commissione"` = in committee (combine with `keyword` for a topic).
82+
- **On Senato tools, a short root pays twice**: besides matching more word forms, it keeps the request under the size limit (see below). In `senato-votes` the keyword is interpolated **three times** (vote label, bill title, short title), so a long multi-word phrase grows the query fast.
8283

83-
### 5. Output format
84+
### 5. Two different failures, one 403 (Senato only)
85+
86+
The Senato endpoint accepts a request up to **2047 bytes** of URL and rejects longer ones, but answers `403` both in that case and when requests come too close together — with an identical error page. Tell them apart, because the right reaction is the opposite:
87+
88+
- Error message **"Query troppo lunga per l'endpoint del Senato"** (raised before going out to the network): shorten the `keyword` — a short root is enough, the match is by substring — or narrow the date range. Retrying the same call is pointless.
89+
- A bare **`403` from the endpoint**: too many requests in a short time. Wait a few minutes; do not retry in a burst. The server already spaces its own Senato calls by 2s — the block comes from several tool calls stacking up.
90+
91+
This limit is **Senato only**: the Camera endpoint accepts far larger requests. Never report either failure to the user as "the data is not available": nothing has been proven about the data.
92+
93+
### 6. Output format
8494

8595
Tools return CSV or JSONL. For display, format results as markdown tables. For analysis, summarize key figures.
8696

@@ -104,6 +114,7 @@ Use `rank` with `rankBy`: `aic-primo-firmatario`, `aic-cofirmatario`, `bills-pri
104114
**Who voted how (Camera)**
105115
1. `votes` → get vote URI
106116
2. `vote-detail` with the URI
117+
- **Secret ballot — a secret vote is secret, in any chamber or context:** by definition the individual choice is **never** recorded at the source, so never infer or invent how someone voted on a secret ballot; report "scelta individuale non registrata (scrutinio segreto)". How it surfaces on Camera (`secret_vote=true`): `vote-detail` shows in `vote` only `Ha votato` / `Non ha votato` / `Astensione`, never `Favorevole`/`Contrario` (a normal vote has `Favorevole`/`Contrario`). Same principle at the Senato (`type=segreta`, see below), where it surfaces as presence-only rows.
107118

108119
**Who voted how (Senato)**
109120
1. `senato-votes` → get vote URI (filter by `ddlUri` for votes on a bill, or by date)

0 commit comments

Comments
 (0)