Skip to content

Previsione: una corsa sola, e nessun bersaglio nel passato - #148

Merged
gzileni merged 1 commit into
mainfrom
previsione-una-corsa
Sep 30, 2026
Merged

gzileni merged 1 commit into
mainfrom
previsione-una-corsa

Conversation

@gzileni

@gzileni gzileni commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Il popolamento della 057 aveva preso due corse di previsione, quella del 29 e quella del 30. Il vecchio writer cancellava le righe solo delle celle che riscriveva: una cella prevista Moderata il 29 e scesa sotto soglia il 30 restava nello storico, ed è finita nello stato previsionale.

Misurato: l'80 % delle righe era della corsa vecchia. Da ~105.000 celle per orizzonte a ~21.000-23.000.

Perché conta

L'ordinamento «fra 72 ore» mostrava un gruppo compatto di comuni liguri in salita — Spotorno, Zoagli, Genova, Bogliasco, Recco, 0,42 → 0,47 — ed era tutto la corsa di ieri. Con una corsa sola Genova oggi non ha nessuna cella prevista sopra Moderato. Sarebbe stata un'allerta inventata in una regione precisa, con l'aria di un segnale vero.

Cosa cambia

  • 058 tiene l'ultima corsa per pericolo (sei ore di margine: una corsa dura ~13 minuti, e sono a 24 ore l'una dall'altra).
  • Le tre letture escludono i bersagli già passati: se una notte la corsa salta, il +24 h di ieri scade e non deve comparire come futuro.

Non si riaccumula: il writer della #147 cancella tutte le celle valutate da ogni corsa, non solo quelle che tornano sopra soglia.

🤖 Generated with Claude Code

Il popolamento della 057 aveva preso due corse, quella del 29 e quella del
30. Il vecchio writer cancellava le righe solo delle celle che riscriveva,
quindi una cella prevista Moderata il 29 e scesa sotto soglia il 30 restava
nello storico — ed è finita nello stato previsionale.

Misurato: l'80 % delle righe era della corsa vecchia. Da ~105.000 celle per
orizzonte a ~21.000-23.000.

L'effetto non era cosmetico. L'ordinamento «fra 72 ore» mostrava un gruppo
compatto di comuni liguri in salita — Spotorno, Zoagli, Genova, Bogliasco,
Recco, 0,42 → 0,47 — ed era **tutto** la corsa di ieri. Con una corsa sola
Genova oggi non ha nessuna cella prevista sopra Moderato. Sarebbe stata
un'allerta inventata in una regione precisa, con l'aria di un segnale vero.

La 058 tiene l'ultima corsa per pericolo. E le tre letture ora escludono i
bersagli già passati: se una notte la corsa salta, il +24 h di ieri scade e
non deve comparire come futuro.

Da qui in avanti non si riaccumula: il writer cancella tutte le celle
valutate da ogni corsa, non solo quelle che tornano sopra soglia.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 807747c610

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


DELETE FROM latest_forecast lf
USING (
SELECT hazard_type, max(run_at) AS ultima

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Handle an empty latest sweep during cleanup

If the newest sweep for a hazard produced no cells at or above Moderate, it left no rows in the history used by migration 057, so max(run_at) still identifies the preceding sweep as ultima. This cleanup consequently retains that entire stale sweep; its +48/+72 targets can still pass the new target_at > now() filters and continue presenting obsolete alerts. Determine the latest completed sweep independently of the sparse above-threshold rows, or explicitly expire rows when no current sweep rows exist.

Useful? React with 👍 / 👎.

@gzileni
gzileni merged commit a44481d into main Sep 30, 2026
6 checks passed
@gzileni
gzileni deleted the previsione-una-corsa branch September 30, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant