Repository navigation
Open
Labels
effort/mMedium: expected under 1 day of workMedium: expected under 1 day of workkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workFollow-up spun out of earlier workmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/highImportant and time-sensitiveImportant and time-sensitivequeue/claimedQueue worker lifecycle stateQueue worker lifecycle statesource/humanFiled directly by a humanFiled directly by a humanstatus/in-progressQueue worker lifecycle stateQueue worker lifecycle statetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle stateQueue worker lifecycle state
Description
Priority P1 — order 5a. Horizon: Week. Design: quota-plane-design-2026-10-26.md (usage-billing-hub goal files), Stage 2. Parent context: epic #1047. (§2) — on the token-adapter framework + gatherer from this epic.
ClinePass adapter: WorkOS session token -> app.cline.bot dashboard API (the endpoints behind Dashboard > Subscription): monthly/weekly/5h %, usage-credit balance, plan state. Replaces the daily manual dashboard read for this pool.
Acceptance: Cline rows refresh on the 15-minute tick; expiry surfaces as re-login needed, never as 0%.
Acceptance criteria
- ClinePass rows (monthly/weekly/5h %, usage-credit balance, plan state) refresh on the 15-minute quota-plane tick via the dashboard API — restating the body's Acceptance line as the criteria section.
- Token expiry surfaces as re-login needed, never as 0%.
- The adapter runs on the token-adapter framework + gatherer from epic epic(usage-hub): SaaS/cloud services completion — v2 live collectors, daily console reads, v3 reconciliation #1047 (Stage 2), replacing the daily manual dashboard read.
Metadata
Metadata
Assignees
Labels
effort/mMedium: expected under 1 day of workMedium: expected under 1 day of workkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmeta/follow-upFollow-up spun out of earlier workFollow-up spun out of earlier workmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/highImportant and time-sensitiveImportant and time-sensitivequeue/claimedQueue worker lifecycle stateQueue worker lifecycle statesource/humanFiled directly by a humanFiled directly by a humanstatus/in-progressQueue worker lifecycle stateQueue worker lifecycle statetask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle stateQueue worker lifecycle state
Activity
developing-today commentedon Oct 27, 2026
CODE-295
dezren39 commentedon Oct 27, 2026
REVIEW FINDING (2026-10-26): this provider's adapter ALREADY EXISTS in OpenChamber's quota module (server/lib/quota/providers). Re-scope from "build adapter" to: wire the existing provider into the quota gatherer (#1151), verify it against the live account on the gatherer host (credential provenance is the open question, per #1155), fix gaps found, and confirm its output shape maps onto quota-current. Keep this issue open until the provider is arriving on the 15-minute tick.
dezren39 commentedon Oct 28, 2026
Intake review
quota-plane-design-2026-10-26.md(usage-billing-hub goal files, §2); framework dependency feat(quota-plane): browser-token adapter framework — managed credentials, fail-closed dashboard-API clients #1153 (browser-token adapter framework).meta/follow-upbefore this pass.priority/high. Its Acceptance line has been expanded into the appended## Acceptance criteriasection (original body preserved verbatim above it).kind/feature,priority/high(P1 in body),effort/m,source/human,status/needs-triage,meta/enriched.43 remaining items
dezren39 commentedon Nov 3, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 4, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 4, 2026
🤖 Agent note · done
Findings — the documented contract exposes windows only
Verified 2026-11-04 against current main of both repos (laptop clones):
api.cline.botacross developing-today/code and the OpenChamber fork finds exactly one endpoint:GET https://api.cline.bot/api/v1/users/me/plan/usage-limits→{ data: { limits: [{ type, percentUsed, resetsAt }] } }. No subscription/plan/billing endpoint, and no plan or credit field, appears in any source file, test fixture, or doc in either repo;quota-plane-design-2026-10-26.mdnames no Cline endpoint beyond "app.cline.bot dashboard API".pm-stack/aggregator/src/clinepass-adapter.ts, from PR feat(quota): ClinePass adapter on the token-adapter framework (#1159) #4659) mapsdata.limitsonly, and its fixtures (pm-stack/aggregator/test/clinepass-adapter.test.ts) modeldata: { limits: [...] }with nothing else. The OpenChamber source provider it was ported from (packages/web/server/lib/quota/providers/cline-pass.js) calls the same endpoint and returnsusage.windowsonly.pm-stack/aggregator/src/model.ts,QuotaCurrentEntryalready carriesplanLabel?: string, andQuotaCurrentWindowexplicitly anticipates acredits_balancewindow key whosevalueis null and whose balance rides invalueLabel(label-only rows). If the fields are ever exposed, mapping them is a small adapter change, not a design change.datafields beyondlimits. That needs one credentialed probe recording field names/types only — task 8898 was explicitly scoped to exclude live credential/raw-payload access, so that probe is routed, not improvised here.Routing
planLabel/ acredits_balancewindow with fixture tests. If absent → post the evidence here.