Skip to content

Usage extraction: report extractor health (patterns matched/missed per pool/service) on the quota page #1204

Open

Description

@dezren39

Part of epic #1184 (PM stack coherence review, 2026-10-26).

Quota/SaaS data is regex-scraped Markdown prose, with fail-soft shells hiding breakage. Evidence: quota-extract.ts and saas-extract.ts match targeted patterns over quota-view.md and the provider-quota registry, and a pool whose pattern stops matching renders with its identity and a 'no current read' note. There is no extractor-health signal, so a renamed heading silently zeroes a metric and looks like 'nothing used'.

Acceptance:

  • Deliberately breaking a fixture pattern produces a visible extraction-gap flag, not a shell card.
  • /api/quota.json exposes per-extractor match/miss diagnostics per pool/service.
  • Existing extractor tests gain a missed-pattern case per pool.

Acceptance criteria

  • Deliberately breaking a fixture pattern produces a visible extraction-gap flag, not a fail-soft shell card.
  • /api/quota.json exposes per-extractor match/miss diagnostics per pool/service.
  • Existing extractor tests gain a missed-pattern case for each pool.

Activity

  1. developing-today commented on Oct 27, 2026

    @developing-today
    Contributor
  2. added
    source/humanFiled directly by a human
    effort/mMedium: expected under 1 day of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 28, 2026
  3. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    Intake review — fleet monitor

    Liveness: Verified still live at intake (2026-10-28): issue is open and unheld, and a merged-PR search for #1204 returned only unrelated text matches (no PR title or fix reference resolves this item). Part of epic #1184 (PM stack coherence review, 2026-10-26); sibling batch #1210–#1222 was enriched in the previous monitor run.

    Notes: Pairs with #1205 (writer health): extractor health is the read-side twin. A missed pattern currently looks identical to 'nothing used', which is the dangerous failure mode for quota decisions.

    Risks: Scope creep across the pm-stack pages is the main risk for this batch; the acceptance criteria above (converted from the issue's original Acceptance list) bound the work. CI on the aggregator's render/derive tests is the verification surface.

    Suggested approach: Take the acceptance criteria in order; keep the JSON twins in lockstep with the HTML pages, per the batch convention.

    Labels normalised this pass: source/human (coherence-review filer), effort/m, meta/enriched; existing kind/priority/status/app labels kept.

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 1, 2026
  5. 16 remaining items

  6. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · PR updated

  7. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: triaged (coverage pass)
    Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
    Found via: coverage pass 2026-11-03

  9. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  10. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done — duplicate triage packet; verdict already posted, fix PR open but conflicts with main (already_done)

    Verdict: triage already complete; fix exists as PR #3957 and needs a branch refresh

    Triage task 2482 posted the verdict here on 2026-11-01 (confirmed live) and queued implementation follow-up task 4914, which produced PR #3957 (queue/4914-1204-extractor-health, 3 commits, latest e6b8a61, 2026-11-01T21:45Z). The 2026-11-03 coverage join missed it because the issue has no queued/claimed task — only an open PR.

    Fresh state (verified now, origin/main a8dbda7):

    • No extractor match/miss diagnostics exist on main: quota-extract.ts has no per-pool match/miss record, and the gap language in saas-extract.ts is the pre-existing scrape-gap/partial-scope detail, not extractor-health reporting. All three acceptance criteria are still unimplemented.
    • PR feat(aggregator): report quota extractor health (#1204) #3957 is OPEN, not draft, last updated 2026-11-01T21:47Z (no activity for ~2 days). Only check present is CodeRabbit (NEUTRAL); no required workflow checks.
    • The PR no longer merges cleanly: git merge-tree origin/main origin/queue/4914-1204-extractor-health conflicts in pm-stack/aggregator/src/saas-extract.ts, from main moving under it since 2026-11-01.

    Routing / ordering

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codeeffort/mMedium: expected under 1 day of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions