Skip to content

Top-of-hour time signal (F110.3) misses its 300s drain window ~4Γ—/day on demoΒ #526

Description

@genwave-radio

πŸ“‘ Observed

First full day on v5.0.0 (demo, 08-13β†’08-14 Loki sweep): a new-to-the-fleet warn family, 4 hits in 24h β€”

TimeDate deferral armed for 13:00 dropped undrained β€” 336s past its armed hour (budget 300s); a late time check would invent the hour.
TimeDate deferral armed for 17:00 dropped undrained β€” 353s past its armed hour (budget 300s); a late time check would invent the hour.
TimeDate deferral armed for 18:00 dropped undrained β€” 312s past its armed hour (budget 300s); a late time check would invent the hour.
TimeDate deferral armed for 21:00 dropped undrained β€” 328s past its armed hour (budget 300s); a late time check would invent the hour.

All four overruns are shallow (312–353s vs the 300s budget).

🧭 Context

  • F110.3 (join-the-ident time signal, PR fix: time announcements join the station ident (gh-#453)Β #461): the TimeDate segment arms for the top of the hour and must drain within a 300s budget, else it drops β€” a later check would announce the wrong hour.
  • The drop is by design and fails safe: no air harm, music continues. The cost is a missed time signal β€” ~4 of 24 hours yesterday.
  • Feature has been live on the demo box since the v3.5.0 deploy (08-12); the 08-12/08-13 sweeps saw zero of these. First observed after the v5.0.0 deploy β€” could be v5 break-cadence changes, or just small-sample luck. One day of data so far.

πŸ€” Hypothesis

A long track straddling the hour pushes the first eligible break past +300s. All overruns being <1min past budget supports "the break arrives just late", not "the drain is stuck".

πŸ› οΈ Options

  1. Measure first: keep counting for a few days; if it holds at ~4/day with shallow overruns, tune.
  2. Widen the budget modestly (e.g. 300β†’420s) β€” a time signal at :06 is still an honest "top of the hour" join? (Design call.)
  3. Make arming break-aware: skip arming when the playing track already extends past hour+budget, silencing the warn for unwinnable hours (pure noise reduction, no behavior change).

No action on air behavior needed β€” filed to track frequency and decide whether the budget deserves tuning.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low prioritybugSomething isn't workingdemoFound on GenWave demo

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions