Contesto
Oggi camera-amendments restituisce, per ogni emendamento: sede, article, number, primo firmatario, person_id, identical, text_url (solo link). Sono le liste cumulative HTML getProposteEmendative.aspx, dove la colonna esito è vuota e i cofirmatari e il testo non compaiono.
Esplorazione della fonte documenti.camera.it/apps/emendamenti/ (12/07/2026) su caso reale AC 2236 (atto portante emendato: AC 2822): il dato mancante esiste, raggiungibile via altri endpoint HTML/XML dell'app. Mappa completa in docs/lod-wiki/camera/assenti.md e docs/lod-wiki/camera/getdocumento-router.md.
Priorità 1 — Aggiungere l'ESITO (il gap che conta di più)
È il dato che trasforma il tool da "elenco di emendamenti depositati" a "cosa è successo": quali sono passati, quali bocciati.
- Come: per ogni seduta, leggere
getProposteEmendativeSeduta.aspx?...&dataSeduta=YYYYMMDD (ha la colonna Esito) e fare merge sull'emendamento per number.
- Le date-seduta si scoprono in modo pulito dall'XML
export-elenco-testi-riferimento?leg=&pdl=&organo= (o proxySito?leg=&pdl=&new=new&url=assoluto&cache=false) — niente parsing HTML per sapere quante/quali sedute ci sono. Nota: pdl = atto portante (2822, non 2236), altrimenti <process status="ko">.
- Costo: N sedute (poche: 4 per AC 2822), non N emendamenti. Sostenibile.
- Nodo di design: un emendamento può comparire in più sedute con stati diversi (accantonato → poi approvato). Va deciso se esporre l'esito finale o la cronologia. Proposta: colonna
esito = ultimo stato; in jsonl un campo sedute[] con la storia.
- Verificato: AC 2822, seduta 23/06/2026 → em.
1.151 (Montaruli e altri) = approvato.
Priorità 2 — Dettaglio on-demand: cofirmatari + testo integrale
- Come:
getPropostaEmendativa.aspx?...&idPropostaEmendativa=N dà tutti i firmatari e il testo.
- Costo: 1 richiesta per emendamento → su AC 2236 sarebbero ~732 fetch. Troppo per il default.
- Design opt-in, non di massa:
--number 1.151 → dettaglio di un singolo emendamento (testo + cofirmatari);
--detail → arricchisce tutta la lista (con warning sul costo/lentezza).
- Verificato: AC 2822, em.
1.1. → testo "Sopprimerlo.", firmatari Bonafè, Colucci, Zaratti, Boschi, Magi (ident. 1.2.).
Priorità 3 — Robustezza (piccoli fix)
- Verificare che catturi la fase Assemblea appena pubblicata (oggi c'è solo la referente): il tool già estrae tutti i link
getProposteEmendative dalla scheda, quindi dovrebbe funzionare da solo — ma va testato quando l'emendamento d'Aula (es. voto fuorisede, primo firmatario Roscani) comparirà con sedeEsame=assemblea.
- L'atto portante (2822 vs 2236) è già gestito correttamente: il tool parte dalla scheda di 2236 e trova i link col contenitore 2822.
Riferimenti
- Web Service SOAP documentato (
apps/emendamenti/docs, metodi getEmendamenti/xmlEmendamenti con output XML) esiste ma è dichiarato "utilizzabile solo localmente alla macchina server" → non pubblico. Advocacy: chiederne l'esposizione pubblica eviterebbe tutto lo scraping.
- Wiki:
docs/lod-wiki/camera/assenti.md (dettaglio app emendamenti), docs/lod-wiki/camera/getdocumento-router.md (mappa fonti non-LOD).
Contesto
Oggi
camera-amendmentsrestituisce, per ogni emendamento:sede,article,number, primo firmatario,person_id,identical,text_url(solo link). Sono le liste cumulative HTMLgetProposteEmendative.aspx, dove la colonna esito è vuota e i cofirmatari e il testo non compaiono.Esplorazione della fonte
documenti.camera.it/apps/emendamenti/(12/07/2026) su caso reale AC 2236 (atto portante emendato: AC 2822): il dato mancante esiste, raggiungibile via altri endpoint HTML/XML dell'app. Mappa completa indocs/lod-wiki/camera/assenti.mdedocs/lod-wiki/camera/getdocumento-router.md.Priorità 1 — Aggiungere l'ESITO (il gap che conta di più)
È il dato che trasforma il tool da "elenco di emendamenti depositati" a "cosa è successo": quali sono passati, quali bocciati.
getProposteEmendativeSeduta.aspx?...&dataSeduta=YYYYMMDD(ha la colonna Esito) e fare merge sull'emendamento pernumber.export-elenco-testi-riferimento?leg=&pdl=&organo=(oproxySito?leg=&pdl=&new=new&url=assoluto&cache=false) — niente parsing HTML per sapere quante/quali sedute ci sono. Nota:pdl= atto portante (2822, non 2236), altrimenti<process status="ko">.esito= ultimo stato; injsonlun camposedute[]con la storia.1.151(Montaruli e altri) = approvato.Priorità 2 — Dettaglio on-demand: cofirmatari + testo integrale
getPropostaEmendativa.aspx?...&idPropostaEmendativa=Ndà tutti i firmatari e il testo.--number 1.151→ dettaglio di un singolo emendamento (testo + cofirmatari);--detail→ arricchisce tutta la lista (con warning sul costo/lentezza).1.1.→ testo "Sopprimerlo.", firmatari Bonafè, Colucci, Zaratti, Boschi, Magi (ident. 1.2.).Priorità 3 — Robustezza (piccoli fix)
getProposteEmendativedalla scheda, quindi dovrebbe funzionare da solo — ma va testato quando l'emendamento d'Aula (es. voto fuorisede, primo firmatario Roscani) comparirà consedeEsame=assemblea.Riferimenti
apps/emendamenti/docs, metodigetEmendamenti/xmlEmendamenticon output XML) esiste ma è dichiarato "utilizzabile solo localmente alla macchina server" → non pubblico. Advocacy: chiederne l'esposizione pubblica eviterebbe tutto lo scraping.docs/lod-wiki/camera/assenti.md(dettaglio app emendamenti),docs/lod-wiki/camera/getdocumento-router.md(mappa fonti non-LOD).