Skip to content

Demo mode has no quota fixtures, so the quota lens is blank in screenshots #228

Description

@Nanako0129

--demo renders every quota surface empty, so the screenshots taken from it show blank cards.

DemoUsageDataSource inherits the protocol's default quotaCurve / quotaCurveSync, which answer nil, and its synthetic payload carries no publicationGeneration. Every curve lookup therefore settles as "no history", and the window usage card, the past-windows strip, the weekday heatmap and the equivalence line all render their empty states.

That matters beyond demo mode: the release screenshots are produced from this path, so the quota lens cannot be shown at all in them, and the demo contract is also what a UI check runs against when the live path is unavailable.

What it needs:

  • deterministic quota curves per client and window, with enough recorded cycles that the strip shows a run and the equivalence clears its three-cycle threshold
  • a synthetic publicationGeneration on the demo payload so the curve lookups resolve
  • windowUsage messages inside those cycles, attributed such that the equivalence produces a ratio rather than unaccounted
  • values chosen so the heatmap shows a recognisable weekday rhythm rather than noise

Deliberately not done in #227: the fixtures are a design question of their own (what should the demo say), and inventing them alongside a review round would have meant choosing those numbers under time pressure. Raised from that review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions