Skip to content

Commit 2eda555

Browse files
aborrusoclaude
andcommitted
fix(which): "giunta parlamentare" invece di "giunta" nuda
Da review PR #81: il term nudo ricreava lo stesso difetto che questa PR rimuove per "parlamentare" — "giunta regionale" o "delibera di giunta" avrebbero pescato un comando che copre solo il Parlamento. Chi cerca "giunta" da solo trova ancora committees; le giunte locali no. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent d42cd27 commit 2eda555

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/core/capabilities.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,15 @@ describe("capabilityScore", () => {
6868
expect(best("immunità parlamentare").map((c) => c.cmd)).not.toContain("search find");
6969
});
7070

71+
it("'giunta' porta alle giunte parlamentari, ma non le giunte locali", () => {
72+
// Il catalogo copre solo il Parlamento: consigliare `committees` a chi
73+
// cerca una giunta regionale o comunale sarebbe lo stesso errore.
74+
expect(best("giunta").map((c) => c.cmd)).toContain("committees list");
75+
for (const q of ["giunta regionale", "delibera di giunta", "giunta comunale"]) {
76+
expect(best(q).map((c) => c.cmd), `query "${q}"`).not.toContain("committees list");
77+
}
78+
});
79+
7180
it("'gruppo parlamentare' resta sui gruppi, non sulla ricerca per nome", () => {
7281
const cmds = best("gruppo parlamentare").map((c) => c.cmd);
7382
expect(cmds).toContain("groups list");

src/core/capabilities.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ export const CAPABILITIES: Capability[] = [
3838
{ cmd: "rank list", terms: ["classifica", "ranking", "più attivi", "top"], desc: "Classifiche per parlamentare (aic, bills, speeches, ...)", example: "italianparliament rank list --rank-by speeches --legislature 19 --limit 10" },
3939
{ cmd: "group-rank list", terms: ["classifica gruppi", "per gruppo", "gruppi più attivi"], desc: "Classifiche per gruppo con media per membro", example: "italianparliament group-rank list --rank-by aic --legislature 19" },
4040
{ cmd: "gov-members list", terms: ["ministro", "governo", "sottosegretario", "rimpasto"], desc: "Membri del governo", example: "italianparliament gov-members list --legislature 19" },
41-
{ cmd: "committees list", terms: ["commissioni", "elenco commissioni", "giunta", "giunta per le autorizzazioni", "autorizzazione a procedere", "immunità parlamentare", "insindacabilità"], desc: "Commissioni e giunte Camera+Senato", example: "italianparliament committees list --chamber both --legislature 19" },
41+
// "giunta parlamentare" e non "giunta" nuda, per la stessa ragione del term
42+
// "parlamentare" su `search find`: la parola sola tirerebbe qui anche
43+
// "giunta regionale" o "delibera di giunta", che questo tool non copre.
44+
{ cmd: "committees list", terms: ["commissioni", "elenco commissioni", "giunta parlamentare", "giunta per le autorizzazioni", "autorizzazione a procedere", "immunità parlamentare", "insindacabilità"], desc: "Commissioni e giunte Camera+Senato", example: "italianparliament committees list --chamber both --legislature 19" },
4245
{ cmd: "committee-members list", terms: ["membri commissione", "composizione commissione", "membri giunta", "giunta per le autorizzazioni", "autorizzazione a procedere", "immunità parlamentare", "insindacabilità"], desc: "Membri di una commissione o giunta con ruoli", example: "italianparliament committee-members list --committee-uri http://dati.senato.it/commissione/0-2 --chamber senato" },
4346
{ cmd: "speeches list", terms: ["intervento", "discorso", "aula"], desc: "Interventi in aula (Camera+Senato)", example: "italianparliament speeches list --deputy-uri http://dati.camera.it/ocd/deputato.rdf/d306921_17 --count-only" },
4447
{ cmd: "sparql query", terms: ["sparql", "query libera", "dato non coperto"], desc: "Query SPARQL libera (ultima risorsa)", example: 'italianparliament sparql query --endpoint senato --query "PREFIX osr: <http://dati.senato.it/osr/> SELECT DISTINCT ?type WHERE { ?s a ?type } LIMIT 20"' },

0 commit comments

Comments
 (0)