io.github.NeoDemosHQ/neodemos

NeoDemos

Source-anchored search and civic intelligence for Dutch municipal council records.

0.3.41
Version
remote
Transport
7
Tools

Security review

Review passed

Reviewed Jan 1, 2000.

  • tools: 7 tools scanned
  • metadata: scanned

No findings.

Tools (7)

  • get_neodemos_context

    Retourneert een structured primer met de beschikbare gemeenten, document-types, de huidige zittende wethouders van Rotterdam (uit `raadslid_rollen`), de coalition-history per college-periode, known limitations, en recommended tool sequences voor veelvoorkomende vraagpatronen. Cheap to call (<50ms). Cached op server-niveau als de DB bereikbaar is. Gebruik deze tool wanneer: - Je een nieuwe sessie start — dit geeft je de ground-truth voor rol/tenure/coalition in plaats van dat je uit trainingsdata moet gokken. - Je een actuele referentiedatum nodig hebt voor 'vandaag', 'recent', 'vorige week' of vergelijkbare temporele termen — het `today` veld wordt per call berekend. - De vraag gaat over een historische stemming — check `coalition_history` voor de compositie op dát moment (GroenLinks/PvdA waren in 2018 coalitiepartij, niet oppositie). - Je niet zeker weet welke tool sequence past — zie `recommended_tool_sequences`. Gebruik deze tool NIET wanneer: - De vraag al duidelijk in één

  • adviseer_raadsinstrument

    Adviseert welk raadsinstrument past bij wat het raadslid wil bereiken, en weegt EXPLICIET de doorlooptijd mee — schriftelijke vragen zijn het traagste instrument (~30 dagen) en zijn vaak niet de juiste keuze bij een actueel onderwerp. Pure kennisbank: geen retrieval, geen DB-call, <10ms. Gebruik deze tool wanneer: - Het raadslid iets wil bereiken (informatie, college ter verantwoording roepen, een uitspraak/besluit, nieuw beleid) en de vraag is WELK instrument daarvoor past. - Je op het punt staat 'stel schriftelijke vragen' te adviseren — check eerst hier of een sneller instrument (mondelinge vragen, interpellatie) beter past bij de urgentie. - Je een schriftelijke-vragen- of actua-template nodig hebt die de structuur en kwaliteitscriteria volgt (in lijn met het reglement van orde). - Je wilt weten WAT een instrument oplevert (uitkomsttype, college-verplichting, uitvoeringsplicht) zodat je het raadslid kunt uitleggen welke actie het college verplicht is te ondernemen na gebruik van h

  • beoordeel_tekst

    Eén deterministische review-tool voor concept-teksten van een raadslid/fractiemedewerker. Geen LLM, geen DB, <10ms. Kies de modus via `soort`: - `vragen` — scherpt concept schriftelijke/mondelinge vragen aan: flagt suggestief/sturend, meervoudig, gesloten ja/nee, vage kwantoren, en ongefundeerde vragen + 'scherper'-suggestie. - `notitie` / `commissienotitie` / `fractienotitie` — sanity-review (maximaal 10 opmerkingen): ontbrekend voor/tegen-eindoordeel, strategische opstelling, bronnen zonder paginanummer, ontbrekende samenvatting/vragen/bolletjes en suggestieve vragen — gegroepeerd op ernst (hoog/midden/laag). - `spreektekst` — rubriek met cijfer (1-10) + deelscores + verbeterpunten + duur-vs-spreektijd (opening, standpunt, onderbouwing, weerlegging, oproep, lengte ~130 wpm). - RvO-format check: `motie` | `motie_vreemd` | `amendement` | `schriftelijke_vragen` | `mondelinge_vragen` | `initiatiefvoorstel` | `interpellatieverzoek` — valideert structuur + RvO-regels (ontbrekend dictum, ge

  • verzamel_context

    Bundelt server-side meerdere achtergrondbronnen voor een onderwerp in één antwoord, zodat je niet meerdere losse tools hoeft te ketenen. Alleen de via parameters gevraagde bronnen worden opgehaald (opt-in), zodat de call snel blijft. Beschikbare bronnen: - **CBS-achtergrond** (publieke StatLine open data, geen credentials): geef `cbs_beleidsgebied` (bv. 'wonen', 'inkomen', 'criminaliteit') voor EXACTE, geciteerde cijfers uit de gecureerde nationale-contextlaag (cache-first, WS85/ADR-0037; nooit vector-embedded) voor `cbs_gemeente` (default GM0599). Of geef `cbs_zoekterm` / `cbs_tabel_id` (+ optioneel `cbs_perioden` + `cbs_extra_filters` + `cbs_top`) voor ad-hoc live StatLine-zoek. Voor aggregerende Iv3-tabellen (84413NED rekeningen, 83641NED begrotingen — grootteklasse-niveau, NIET per gemeente) gebruik `cbs_extra_filters` (bv. {"RegioS": "LD03"}) en verhoog `cbs_top` (default 100). LET OP: CBS StatLine biedt jeugd-lasten UITSLUITEND op grootteklasse-niveau, NIET per gemeente; gebruik

  • genereer_fractienotitie

    **Bij commissievoorbereiding: lees eerst bestaande fractienotities.** Gebruik `mijn_fractie_context`, bepaal de exacte vergadering met `lijst_vergaderingen`, en roep `haal_fractiewerkruimte_op(meeting_id=...)` aan (expliciete `fractie_id` bij meerdere fracties). Lees relevante huidige notities via `haal_fractie_artifact_op`; bouw daarop voort en onderzoek alleen ontbrekende of gewijzigde informatie. Controleer bronstatus en actualiteit en behoud bronverwijzingen; een notitie is geen primaire bron. Geen leesrechten betekent niet dat er geen notities bestaan: vraag zo nodig toestemming voor werkruimte lezen. Volg een expliciet verzoek om onafhankelijke analyse. Stelt de fractienotitie samen (Erik's hero-feature, WS23-core): een agenda-overzicht voor de komende ~2 weken op de portefeuille van de gebruiker, met bolletjes (🟢 positief / 🟠 spannend / 🟡 aandacht / ⚪ procedureel) en per agendapunt een detailblok waarvan de diepgang USER-RELATIEF is (diepgaand als het onderwerp in de portefe

  • formatteer_bronvermelding

    Formatteert een bronvermelding zoals Erik die wil: mét paginanummer (en, indien bekend, alinea) — bijv. '(Begroting 2025, 12-10-2024, p. 41, alinea 3)'. Met `spreker` + `quote` levert de tool de volledige citaat-attributie in huisstijl: 'Volgens {spreker} ({partij}): _"..."_ (bron, p. ..)'. Velden die ontbreken worden netjes weggelaten (nooit 'p. None'). Geen DB, geen netwerk. Let op: paginanummers vereisen dat de paginametadata in het bronfragment aanwezig is (aanwezig bij sommige bronnen, afwezig bij andere — de tool degradeert netjes). Zin-/alinea-precisie op corpusniveau is aparte ontologie (WS30); deze tool is de formatteerlaag. Gebruik wanneer: je een quote of bron netjes wilt vermelden met paginanummer/alinea. Retourneert: de bronvermelding/citaat-string (markdown).

  • genereer_raadsstuk

    Genereert een volledig opgemaakt, RvO-conformant concept voor één van de zeven raadsstuk­typen. Geen DB, geen netwerk, <10ms — puur structurele kennis. Gebruik deze tool wanneer: - Het raadslid een stuk wil indienen en een correct gestructureerd concept nodig heeft. - Je `adviseer_raadsinstrument` hebt gebruikt (welk instrument) en nu het daadwerkelijke stuk wilt renderen in het juiste format met RvO-verwijzingen. - Een concept al bestaat maar opnieuw in correct format moet worden gezet. Gebruik deze tool NIET wanneer: - Je het juiste instrument nog moet kiezen → gebruik eerst `adviseer_raadsinstrument`. - Je een bestaand concept wilt beoordelen op inhoud → `beoordeel_tekst`. - Je een format-validatie wil uitvoeren op een bestaand concept → `beoordeel_tekst` met `soort` gelijk aan het doc_type. ``doc_type`` keuzes: 'motie', 'motie_vreemd', 'amendement', 'schriftelijke_vragen', 'mondelinge_vragen', 'initiatiefvoorstel', 'interpellatieverzoek'. ``velden`` zijn optioneel — ontbrekende