Persistent cache of (procedureId, dateLastActivity) pairs that
enables incremental fresh-procedure discovery without re-paginating the entire
EP /procedures corpus on every run.
The cache is stored as a JSON file (default: data/procedure-seen-cache.json).
It is written only when at least one entry has changed (dirty flag), so reads
that find nothing new are effectively zero-cost.
Background: the EP /procedures/feed endpoint's timeframe filter regressed
on or around 2026-04-19 and began returning historical-tail pagination instead
of date-sorted newest-first records. The workaround routes discovery through
get_procedures(limit=100) with client-side date filtering; this cache allows
subsequent runs to detect new and updated entries incrementally.
Description
Persistent cache of
(procedureId, dateLastActivity)pairs that enables incremental fresh-procedure discovery without re-paginating the entire EP/procedurescorpus on every run.The cache is stored as a JSON file (default:
data/procedure-seen-cache.json). It is written only when at least one entry has changed (dirtyflag), so reads that find nothing new are effectively zero-cost.Background: the EP
/procedures/feedendpoint'stimeframefilter regressed on or around 2026-04-19 and began returning historical-tail pagination instead of date-sorted newest-first records. The workaround routes discovery throughget_procedures(limit=100)with client-side date filtering; this cache allows subsequent runs to detect new and updated entries incrementally.See
../mcp/ep-mcp-client.ts EuropeanParliamentMCPClient.getFreshProcedures