Skip to content

flaky: Story012's 3s feeder-tick wall-clock budget fails under parallel-suite load (~1 in 5 on a loaded box)Β #460

Description

@genwave-radio

πŸ§ͺ The flake

FeederLoopCompletesEachTickWithinThreeSeconds β€” tests/GenWave.Host.Tests/Specs/Story012_AcceptanceGate01_RenderAheadGracefulSkip.cs:365 β€” asserts a hard 3-second wall-clock budget on a feeder tick. Under parallel-suite load (7 test assemblies + a full Docker stack on the same box) it fails ~1 run in 5 with e.g. took 5681 ms, expected < 3000 ms; it passes 3/3–5/5 in isolation, every time.

πŸ“‹ Evidence trail (Dayparting build-loop, 2026-08-10/11)

Observed independently by three reviewer agents across the epic; each verified it pre-existing on clean HEAD trees (stash/worktree probes) and unrelated to the diffs under review. Never observed in CI β€” it is a loaded-dev-box artifact.

πŸ”§ The fix shape (suggested, not ruled)

The Story179 memo-window precedent (gh-#106): wall-clock budgets in specs deflake by injecting TimeProvider + a frozen FakeTimeProvider β€” but this fact's point is real elapsed time, so the honest options differ:

  • mark it [Trait("Category","Timing")] and exclude from parallel local runs (CI keeps it), or
  • widen the budget with a loaded-box rationale comment, or
  • measure the tick's own work via a stopwatch around the awaited call rather than the whole loop iteration (excludes scheduler starvation).

Whichever lands, the assert's failure message should name the parallel-load caveat so the next person doesn't chase a ghost.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low prioritybugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions