Skip to content

aggregator(quota): opendesign stale rendering drops the dated fallback windows — page shows no windows + 'No dated read' while the read carries 0/0 @18:15Z #6942

Open

Description

@dezren39

Found by the pool-quota steward, 226th run, 2026-11-07T19:21Z tick.

Read (quota-current.json, source opencode-quota, generatedAt 2026-11-07T19:21:03.647Z):

  • heartbeat perProvider opendesign = error: 'Open Design usage API returned HTTP 503' (the hub leg now errors too; the live :3000 /api/quota/opendesign probe returns the same HTTP 503 error).
  • The providers[] entry for opendesign carries the dated fallback windows standing: 5h 0% / 7d 0%, full credits (50000/50000; 150000/150000), measuredAt 2026-11-07T18:15:38.825Z, state ok (fallback entry).

Page (/api/quota.json, same tick, gatherer generatedAt identical 2026-11-07T19:21:03.647Z):

  • opendesign pool renders state 'stale', freshness {measuredAt 2026-11-07T18:15:38.825Z, source opencode-quota, state stale}, windows: [] (empty), note: 'No dated read. Live windows arrive through the quota gatherer ...'.

Diff: per the pass-through rule (PR #5080), a pool whose read entry is in error should show that error as its freshness with the dated fallback windows standing. Here the freshness shows 'stale' rather than the read error, the dated fallback windows (0/0 @18:15Z) do not stand — they are dropped entirely — and the note 'No dated read' contradicts the read, which does carry a dated read.

All other pools matched the read 13/13 on presence, freshness and percentages this run; turso saas section matched. This is an aggregator rendering bug, not a steward input problem; no quota-view prose was edited to compensate.

Acceptance: when the opendesign gatherer leg errors, /api/quota.json (and /quota) render the pool with the error as its freshness and the last dated windows from the read standing (percentages identical to the read entry), matching the documented correct rendering.

Acceptance criteria

  • When the opendesign gatherer leg errors, /api/quota.json and /quota render the pool's freshness as that read error (not 'stale').
  • The last dated fallback windows from the read stand in the rendering, with percentages identical to the read entry (this report: 5h 0% / 7d 0% @2026-11-07T18:15:38.825Z).
  • The 'No dated read' note is not shown when the read carries a dated read.
  • Other pools' rendering is unchanged (13/13 matched the read in this report).

Activity

  1. developing-today commented on Nov 7, 2026

    @developing-today
    Contributor
  2. added
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    priority/normalOrdinary priority (the default)
    effort/sSmall: expected under 2 hours of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Nov 7, 2026
  3. dezren39 commented on Nov 7, 2026

    @dezren39
    MemberAuthor

    Intake review

    • Related: PR quota: straight pass-through of the OpenCode quota read (Drew, 2026-11-03) #5080 (pass-through rule this rendering should follow, per the report).
    • Notes: Verified live at filing: the read (quota-current.json, 2026-11-07T19:21Z tick) carries dated fallback windows for opendesign while the page renders windows: [] and a contradictory 'No dated read' note. Aggregator rendering bug, not a steward input problem.
    • Risks: Low — rendering-only; the fix must not alter gatherer/read semantics.
    • Suggested approach: In the aggregator's opendesign rendering path, when the per-provider read is in error, pass the error through as freshness and keep the read entry's dated windows, matching the PR quota: straight pass-through of the OpenCode quota read (Drew, 2026-11-03) #5080 rule already applied to other pools.
    • Acceptance criteria appended by the fleet monitor intake pass; meta/enriched applied.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort/sSmall: expected under 2 hours of workkind/bugSomething isn't working (prefixed form of the classic bug label)meta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)status/needs-triageNot yet triaged; needs a first look

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions