Skip to content

v0.20.1 — free-text deadline fix (fino al)

Latest

Choose a tag to compare

@DanieleGiovanardi2408 DanieleGiovanardi2408 released this 17 Jun 10:54

[0.20.1] — 2026-06-17 — free-text deadline fix: "… fino al <date>"

Fixed

  • Expired bandi were shown as open. wordpress._parse_scadenza (the Lazio/
    Sicilia adapters' deadline parser) only accepted a date introduced by
    scadenza/termine/entro/presentazione/chiusura. The dominant Lazio window form is
    "… dalle ore 12 del <start> e fino alle ore 17 del <end>", where the closing date
    is introduced by "fino al/alle/ad" — not in the key list. So those bandi were
    mapped deadline=None → status="open" and surfaced as live long after they had
    closed. Added "fino a" to _DEADLINE_KEYS. Measured on the bundled data: the
    fix correctly closes ~20 expired Lazio/Sicilia items (e.g. "Voucher Digitalizzazione
    PMI 2025", window closed 14 Feb 2025), with zero recall risk — none of the
    newly-closed items is labelled relevant/borderline by any profile.
  • README Quickstart no longer showcases an expired match. mayai --sample had
    documented "Voucher Digitalizzazione PMI 2025" (deadline ) as match #2; it is now
    correctly withheld (closed), so the Quickstart shows 2 genuinely-open matches. The
    pinned reproducibility test asserts the expired bando is dropped.

Notes

  • The eval corpus was deliberately left untouched. Its frozen Lazio slice (60 rows)
    predates the fix and the committed fixtures cover only 15 of them, so a faithful
    refresh of the other 45 would need the full source payloads (not available offline);
    recomputing from the corpus's truncated stored text was verified to mis-date some
    near-boundary rows, so it was rejected. Leaving the stale-open items in the corpus
    is the conservative choice — they are extra negatives that make the matcher's job
    harder, never easier.