Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## 2026-07-10

- **fix CLI — `which` azionabile, help completo, link repo a ondata** (PR #48, branch `fix/cli-discoverability-and-repo-links`). Tre fix UX emersi dall'uso reale: (1) `which` restituiva forme combinate non incollabili ("bill-text links / fetch") senza dire come usarle — ora una voce per comando con esempio pronto da eseguire (dagli `examples` reali dei tool) e rimando a `--help`; JSON con campo `example`; aggiunte capacità mancanti (camera-amendments, audizioni, bill-text fetch come voce propria); query vuota (`which " "`) → messaggio d'uso + exit 2 invece dell'intero catalogo. (2) `--format`/`--limit`/`--offset` senza descrizione nell'help in ~93 occorrenze (incluso `sparql query`, definizione separata) — ora `--format` documenta `csv | jsonl` ovunque. (3) Riferimenti al vecchio path `github.com/aborruso/...` → `ondata` in README (git clone, npx skills add), manifest.json, User-Agent camera-amendments, 5 citation wiki; aggiunti `repository`/`homepage`/`bugs` in package.json (la pagina npm non linkava il repo). Il pacchetto npm resta `@aborruso/...`. 123/123 test verdi.

- **v0.24.0 — PR #47 mergiata** (merge commit `e0ba02b`): fallback bulk AKN completato dopo un lungo ciclo di review (Greptile + 7 giri Copilot, 10 commit, 25 thread tutti risolti). Oltre a quanto già in LOG: colonna `sede` separata da `type` (semantica diversa per fonte LOD/AKN), fix di correttezza sulla paginazione quando solo il bucket Assemblea del bulk è troncato, `enrichProponents` fallisce esplicito su outage sistematico (non più vuoto silenzioso indistinguibile dai file stub), cap `limit<=100` su `--with-proponents` (rischio timeout/rate-limit sul Worker con `limit` alto), hint distinto per pagina-oltre-la-fine vs vuoto genuino nel fallback AKN. Chiude automaticamente #38 e #30 (issue #45 resta aperta: altri spunti dell'analisi non ancora implementati, es. `bill-text` con link AKN raw). 123/123 test verdi.

- **feat `amendments` — fallback bulk AKN GitHub + proponenti** (P1 dell'analisi fonti non-LOD; issue #45→#38+#30, branch `feat/amendments-akn-fallback`). Nuovo `src/core/akn.ts` (Worker-compatible, fetch nativo): path atto, listing cartelle via endpoint JSON web-UI GitHub (troncamento a 1000 gestito via totalCount, errore esplicito su finestra irraggiungibile), parser AKN. Il tool: (1) espone `akn_xml_url` su ogni riga LOD (conversione `URLTestoXml`→raw, `flagCommissione` decide emend/emendc); (2) con `ddlUri` e LOD vuoto fa fallback sul bulk (`source=akn`); (3) `--with-proponents` estrae primo firmatario e cofirmatari dal testo AKN (docProponent/TLCPerson, doppia variante markup Assemblea/Commissione, preferito `showAs` col nome completo). **Scoperta in corsa**: il LOD osr:Emendamento si è riallineato tra il 7 e il 10 lug (Piano Casa 0→799, match esatto col bulk 400+399) — freschezza intermittente, il fallback resta rete di sicurezza; trappola nuova `dataPresentazione` xsd:string sui DDL recenti (wiki aggiornato, 3 pagine + log). Verificato: Amidei em. 1.30 ddl/56260 (caso wiki, prima solo via browser WAF), Piano Casa con proponenti da entrambe le sedi. 114/114 test verdi (+11), tsc pulito. Skill CLI e MCP aggiornate. Idea futura annotata: estrattore AKN bulk in Rust per analisi offline (docs/future-ideas.md).
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ italianparliament search find --name schlein
### Da sorgente (sviluppo)

```bash
git clone https://github.com/aborruso/italianparliament-mcp
git clone https://github.com/ondata/italianparliament-mcp
cd italianparliament-mcp
npm install
npm run build
Expand All @@ -65,8 +65,8 @@ Lo strumento **dà il meglio guidato da un agente AI**. Il repo include due Agen
Le skill funzionano con diversi agenti (Claude Code, OpenCode, Codex, Copilot e altri). Installazione cross-agent in un comando con [`skills`](https://github.com/vercel-labs/skills):

```bash
npx skills add aborruso/italianparliament-mcp --skill italian-parliament-cli
npx skills add aborruso/italianparliament-mcp --skill italian-parliament-mcp
npx skills add ondata/italianparliament-mcp --skill italian-parliament-cli
npx skills add ondata/italianparliament-mcp --skill italian-parliament-mcp
```

In alternativa, copia la cartella `skills/<nome>/` e registrala secondo la documentazione del tuo agente.
Expand Down
2 changes: 1 addition & 1 deletion docs/lod-wiki/camera/assenti.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ SELECT ?v ?d WHERE {
}
LIMIT 3
```
[4] Issue: https://github.com/aborruso/italianparliament-mcp/issues/19
[4] Issue: https://github.com/ondata/italianparliament-mcp/issues/19
2 changes: 1 addition & 1 deletion docs/lod-wiki/camera/votazioni-ricerca-html.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@ Non integrato nel progetto: è scraping HTML di un endpoint non documentato (fra

[1] Intercettazione traffico con agent-browser (`network requests`) il 2026-07-01: nessuna chiamata XHR, singola POST server-rendered.
[2] Verifica CDDNUMEROATTO whitelist: `document.getElementById('CDDNUMEROATTO').options` → 217 elementi, ultimo "DDL n. 2488-B".
[3] https://github.com/aborruso/italianparliament-mcp/issues/21
[3] https://github.com/ondata/italianparliament-mcp/issues/21
2 changes: 1 addition & 1 deletion docs/lod-wiki/senato/corrispondenza-webmaster.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ Il dettaglio tecnico estratto da ogni scambio è documentato nella pagina wiki p

| Data | Da → A | Oggetto |
|------|--------|---------|
| 2026-07-08 08:00 | Borruso → Webmaster | Segnala che gli emendamenti collegati a DDL recenti risultano sempre assenti (DL Sicurezza 2025, Piano Casa 2026: 0 emendamenti) mentre sono regolarmente presenti su provvedimenti anche vecchi (Cura Italia 2020: 3.827; DL dic. 2022: 119). Query di verifica allegata: nessun DDL collegato a un emendamento ha `osr:dataPresentazione` successiva al 9/8/2024. Chiede se è un aggiornamento sospeso temporaneamente o se gli emendamenti recenti sono pubblicati altrove. **Contenuto tecnico integrale → [Emendamenti — dataset fermo da agosto 2024](emendamenti-freschezza.md).** Issue collegata: [#38](https://github.com/aborruso/italianparliament-mcp/issues/38). |
| 2026-07-08 08:00 | Borruso → Webmaster | Segnala che gli emendamenti collegati a DDL recenti risultano sempre assenti (DL Sicurezza 2025, Piano Casa 2026: 0 emendamenti) mentre sono regolarmente presenti su provvedimenti anche vecchi (Cura Italia 2020: 3.827; DL dic. 2022: 119). Query di verifica allegata: nessun DDL collegato a un emendamento ha `osr:dataPresentazione` successiva al 9/8/2024. Chiede se è un aggiornamento sospeso temporaneamente o se gli emendamenti recenti sono pubblicati altrove. **Contenuto tecnico integrale → [Emendamenti — dataset fermo da agosto 2024](emendamenti-freschezza.md).** Issue collegata: [#38](https://github.com/ondata/italianparliament-mcp/issues/38). |

*Prossimo passo: in attesa di risposta del Webmaster.*
2 changes: 1 addition & 1 deletion docs/lod-wiki/senato/trappole.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@ Quando la legislatura è codificata **solo nell'URI**, un range filter su `?s` +
# Citations

[1] Verifica `CONCAT`/matching nomi (2026-07-01): `sparql query --endpoint senato` su `"Ignazio La Russa"` → `senatore/1275`.
[2] Issue matching nomi: https://github.com/aborruso/italianparliament-mcp/issues/20
[2] Issue matching nomi: https://github.com/ondata/italianparliament-mcp/issues/20
2 changes: 1 addition & 1 deletion docs/lod-wiki/senato/votazione-ddl-link.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@ Estesa il 1° luglio 2026 (pomeriggio) dopo aver scoperto che gli Ordini del Gio
# Citations

[1] Indagine LOD del 2026-07-01 (issue #21): enumerazione percorsi + validazione resolver su `19-432-3`→`ddl/60201`, `19-21-1`→`ddl/56123`, `19-389-7`→`ddl/59837`.
[2] https://github.com/aborruso/italianparliament-mcp/issues/21
[2] https://github.com/ondata/italianparliament-mcp/issues/21
4 changes: 2 additions & 2 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
"long_description": "MCP server for the Italian Parliament SPARQL endpoints (dati.camera.it, dati.senato.it). Tools for deputies, senators, bills, votes, speeches, parliamentary groups, government members, oversight acts, committees, rankings, and direct links to bill texts. Designed for journalists, researchers and parliamentary analysts.",
"author": {
"name": "aborruso",
"url": "https://github.com/aborruso/italianparliament-mcp"
"url": "https://github.com/ondata/italianparliament-mcp"
},
"repository": {
"type": "git",
"url": "https://github.com/aborruso/italianparliament-mcp"
"url": "https://github.com/ondata/italianparliament-mcp"
},
"license": "MIT",
"keywords": ["italian-parliament", "open-data", "camera", "senato", "sparql"],
Expand Down
8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,14 @@
],
"author": "Andrea Borruso <aborruso@gmail.com>",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/ondata/italianparliament-mcp.git"
},
"homepage": "https://github.com/ondata/italianparliament-mcp#readme",
"bugs": {
"url": "https://github.com/ondata/italianparliament-mcp/issues"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.27.1",
"axios": "^1.7.9",
Expand Down
Loading