Skip to content

member-bills (Senato): rinominare identifier in initiative_id, collide con lo spazio URI ddl/N #66

Description

@aborruso

Problema

In member-bills (ramo Senato), il campo identifier è mappato da osr:idDdl (src/tools/member-bills.ts:112,122):

OPTIONAL { ?ddl osr:idDdl ?idDdl }
...
identifier: r.idDdl ?? "",

osr:idDdl è un identificativo interno del Senato che raggruppa le diverse letture/fasi della stessa iniziativa nella navetta bicamerale (le URI osr:iniziativa collegate sono tutte del tipo INIZ-DDL-<idDdl>-*). È un dato corretto e utile.

Il problema è che il suo valore numerico collide con lo spazio degli URI http://dati.senato.it/ddl/N, senza che nulla nel dato lo segnali. Esempio verificato:

  • Sen. Bongiorno, XIX legislatura: member-bills restituisce due righe con identifier: "51890" — una per ddl/56207 (prima lettura, "approvato") e una per ddl/57026 (seconda lettura, "appr. definit. Legge", L. 122/2023). Corretto: sono la stessa iniziativa.
  • Ma http://dati.senato.it/ddl/51890 esiste come risorsa a sé stante ed è un DDL completamente diverso e non correlato: "Disposizioni per la promozione del settore turistico", primo firmatario Zucconi, legislatura 18.

Chiamare il campo identifier invita a usarlo come se fosse il suffisso dell'URI del record (--bill-uri http://dati.senato.it/ddl/<identifier>), portando silenziosamente all'atto sbagliato — nessun errore, dato solo diverso da quello atteso. Trappola già emersa in pratica durante un benchmark del CLI (vedi tmp/benchmark/ locale, non versionato).

Scope — solo il ramo Senato di member-bills

identifier compare anche in bill.ts, aic.ts, bills.ts, sindacato-ispettivo.ts e nel ramo Camera di member-bills.ts: lì la fonte è dc:identifier (o osr:numero), cioè l'id proprio del record — nessuna collisione, nessun problema. Non toccare questi.

Proposta

Nel ramo Senato di member-bills.ts:

  1. Rinominare la colonna di output da identifier a initiative_id (solo per questo ramo — la colonna è condivisa con il ramo Camera nello stesso array columns, quindi va valutato se differenziare le colonne per ramo o accettare il nome comune initiative_id anche lato Camera, dove comunque non farebbe danno).
  2. Aggiornare la description del tool per chiarire esplicitamente: "non è il suffisso dell'URI del record; per il dettaglio di un atto usare sempre il campo uri".
  3. Aggiornare src/tools/tools.test.ts:357 (verifica la presenza della colonna identifier).
  4. Se il progetto ha una skill/reference CLI con esempi (skills/), verificare se cita questo campo e aggiornarla.

Nota collaterale emersa nella stessa indagine

bill-signatories non espone il gruppo parlamentare del firmatario. Non è un limite del dato: il gruppo (con date) è raggiungibile dal grafo Camera via ocd:aderisce, stesso pattern già usato da group-members. Verificato che è recuperabile con un comando composto (group-members list --deputy-uri ...). Non incluso in questa issue — apro un'issue separata se utile.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority: lowPriorità bassa: basso impatto, bloccata o già mitigata

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions