Skip to content

fix: correct the Altimate Base wallet-exhaustion message (does not reset daily) - #1249

Merged
anandgupta42 merged 3 commits into
test/altimate-base-e2efrom
fix/wallet-allowance-message
Sep 7, 2026
Merged

fix: correct the Altimate Base wallet-exhaustion message (does not reset daily)#1249
anandgupta42 merged 3 commits into
test/altimate-base-e2efrom
fix/wallet-allowance-message

Conversation

@anandgupta42

@anandgupta42 anandgupta42 commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Issue for this PR

Closes #

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Fixes a real user-facing bug the e2e suite surfaced (test/altimate/altimate-base-rate-limit-messages.test.ts, PR #1248): when a user exhausts their per-user Altimate Base wallet, describeRateLimit told them the free allowance "resets tomorrow." That's false for this case.

Confirmed semantics (altimate-gateway, not guessed):

  • Per-user wallet — never resets. issuer/config.py:57grant_budget_duration defaults to "". The comment above it (issuer/config.py:54-56) states: "Empty = never reset. Enforcement is lifetime-cumulative (see budget_sync.py); daily free-tier quotas are implemented as daily CREDIT grants from the billing owner, not LiteLLM budget resets." issuer/config.py:142-146validate() raises RuntimeError if grant_budget_duration is ever set, because "max_budget mirrors a lifetime allowance, and daily quotas require daily credit grants." issuer/accounting_db.py:576 — the wallet is funded by a one-time registration grant, docstring: "Create the one-time registration grant without later top-ups." issuer/budget_sync.py:15-24sync_current_wallet_budget mirrors the lifetime allowance into LiteLLM's max_budget with no budget_duration, explicitly because a resetting duration "would re-grant the full wallet every period."
  • Global ceiling — genuinely resets daily. litellm/config.yaml:96-106 — a shared max_budget: 50 with budget_duration: 1d, comment: "Global daily ceiling across EVERY key, on top of the per-principal budget... Verified enforcing: further requests return 429 with 'Budget has been exceeded! Current cost: ... Max budget: ...'."

So the two budget_exceeded branches in describeRateLimit really are semantically different — the wallet case never renews, the global case renews every day — and only the global message should promise a reset.

Old wallet message:

You've used today's free Altimate Base allowance. It resets tomorrow—switch models to keep going.

Final wallet message (corrected, then a sign-up nudge added on top):

You've used your free Altimate Base allowance — it's a one-time grant and won't renew. Sign up at app.myaltimate.com to keep going, or switch models.

Global ceiling message — unchanged (still correct):

Altimate Base has reached its shared daily limit. It resets tomorrow—switch models to keep going.

Where this lands: the message and the test that pins it are both new in #1199 (codex/altimate-base-release-final) — client.ts doesn't exist on main at all. #1248 (test/altimate-base-e2e, stacked on #1199) owns altimate-base-rate-limit-messages.test.ts, including the comment on the wallet-budget test that explicitly flagged this message as misleading while pinning current behavior. This PR is branched off test/altimate-base-e2e so the message fix and its test update land together in the branch that already owns both, rather than fragmenting the change across two feature branches.

Follow-up commit: sign-up nudge + public usage-limits doc

Once the wallet-exhaustion case had no reset to promise, the only actionable next step for a user is switching models or upgrading — so the message now points to the paid Altimate LLM Gateway sign-up flow, app.myaltimate.com (register?client=altimate-code, confirmed in src/altimate/plugin/altimate.ts's DEFAULT_WEB_URL). The global-ceiling message is untouched.

Also adds a public, sanitized "Usage limits" section to docs/docs/configure/providers.md under Altimate Base, covering: personal one-time allowance vs. shared daily capacity (which resets daily), rate limiting, and request size limits — each mapped to what the user should do about it. No model name, architecture, or exact numeric thresholds (those stay in the internal gateway-repo doc); only the already-public context/output limits (131K/65K) are stated. In the same section, also removed a pre-existing "Qwen 3.8" model-name mention from the Altimate Base intro paragraph (introduced in #1199), which violated the no-model-name-in-public-docs constraint this new section is written to.

app.myaltimate.com is the public product domain, already present elsewhere in source, and is not one of the hosts script/check-tracker-leaks.ts blocks (it only flags our internal-only hostname, Jira ticket keys, and the Atlassian instance URL) — verified clean.

How did you verify your code works?

  • bun test test/altimate/altimate-base-rate-limit-messages.test.ts — 21 pass, 0 fail (from packages/opencode)
  • bun run typecheck (from packages/opencode) — clean
  • bun run script/upstream/analyze.ts --markers --base origin/main --strictok, client.ts is not an upstream-shared file so no markers were needed
  • bun script/check-tracker-leaks.ts — clean (exit 0, silent); confirms app.myaltimate.com is not flagged and no internal hostname/ticket references leaked
  • Read the message change alongside the other three describeRateLimit messages in client.ts (throttle-tokens, throttle-burst, budget-global, budget-unknown) to keep tone/format consistent; only the wallet branch changed
  • Test now asserts the exact new wallet message plus explicit toContain("app.myaltimate.com") / not.toContain("resets tomorrow") checks; the global-ceiling and budget-unknown test cases are untouched and still assert "resets tomorrow"

Screenshots / recordings

N/A — text and docs changes only, no UI.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Note

Low Risk
User-facing text and documentation only; no auth, billing, or inference logic changes beyond error-message strings for one 429 branch.

Overview
Fixes misleading Altimate Base copy when a user hits the per-installation wallet (ExceededBudget: User=): the UI no longer says the allowance “resets tomorrow.” It now states the grant is one-time, won’t renew, and points users to app.myaltimate.com or another model. The shared daily ceiling message is unchanged.

describeRateLimit in client.ts and the budget-wallet test in altimate-base-rate-limit-messages.test.ts are updated together, with comments documenting gateway semantics (lifetime wallet vs daily global pool).

Providers docs expand the Altimate Base section: clearer intro (including public 131K/65K limits, no model name), plus a new Usage limits subsection (personal allowance, shared daily capacity, rate limits, request size) aligned with the actionable errors users see.

Reviewed by Cursor Bugbot for commit 59b046a. Bugbot is set up for automated code reviews on this repo. Configure here.


Summary by cubic

Fixes the Altimate Base wallet-exhaustion message so it no longer claims the per-user allowance resets daily; the per-user wallet is a one-time lifetime grant and only the shared global daily ceiling renews. The message now points users to sign up at app.myaltimate.com.

  • Expands the Altimate Base docs with a "Usage limits" section and corrects the intro to describe Altimate Base as pseudonymous, not anonymous.
  • Updates the wallet-budget test assertion to match the corrected message.

Written for commit 59b046a. Summary will update on new commits.

Review in cubic

…set daily)

`describeRateLimit`'s `ExceededBudget: User=` branch claimed the free
Altimate Base allowance "resets tomorrow", but the per-user wallet
(`GRANT_NEW_PRINCIPAL_USD`) is a one-time lifetime grant with no
`budget_duration` — confirmed in altimate-gateway's `issuer/config.py`
(`grant_budget_duration` defaults to `""`; `validate()` refuses to boot
if it's ever set) and `issuer/accounting_db.py` (one-time registration
grant, "without later top-ups"). Only the separate global $50/day
ceiling (`litellm/config.yaml` `budget_duration: 1d`) actually resets
daily, and its message is unchanged.

New wallet message: "You've used your free Altimate Base allowance.
It's a one-time grant and won't renew—switch models to keep going."

Updates the wallet-budget assertion in
`altimate-base-rate-limit-messages.test.ts` to match, replacing the
comment that pinned the misleading behavior with the confirmed
semantics and citations. All 21 tests in the file pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VqnuBDGkh1ZT65Ti7e6DHZ

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Team

Run ID: e3cbbe4c-42dc-4661-9ea0-729558079fba

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Sep 4, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_0efbe671-5c44-4ce1-bbcf-d7719b7705ef)

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-05T07:06:33.783395Z 59b046a New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
- - - - - - - - - - - - - - - - - - - - - - - - -
                    AIRECEIPTS                    
            4 sessions behind this PR             

builder · claude-sonnet-5...............≥ $19.0480
  session slice: turns 1–234 of 270
builder · claude-sonnet-5................≥ $2.6255
  session slice: turns 212–230 of 278
builder · claude-sonnet-5................≥ $1.6281
  session slice: turns 1–37 of 40
builder · claude-sonnet-5................≥ $4.6550
--------------------------------------------------
TOTAL priced............................≥ $27.9566
  standard API-equivalent floor; not an invoice
  counted: 4 sessions
  cache served 99% of input tokens
  full receipts + session ids: section below
- - - - - - - - - - - - - - - - - - - - - - - - -
                npx aireceipts-cli                
         github.com/anandgupta42/receipts         
- - - - - - - - - - - - - - - - - - - - - - - - -
full receipts (4 sessions)
session id scope turns time tokens in / out cached
builder a7b26059 turns 1–234 of 270 234 40m 468 / 12k 99%
builder a322d28e turns 212–230 of 278 19 9m 38 / 268 94%
builder a1b6d225 turns 1–37 of 40 37 4m 74 / 1.7k 97%
builder a41725b8 entire session (slice unavailable) 100 13m 200 / 15k 99%

builder · a7b26059

- - - - - - - - - - - - - - - - - - - - - - - - -
                    AIRECEIPTS                    
 “Address the 8 unresolved review threads (seve…” 
 Claude Code · Sep 04 2026 01:47:05 UTC · 40m 58s 
               claude-sonnet-5 100%               
         cache served 99% of input tokens         

pre-edit: 10% of priced floor (45/234 turns)
  (share before the first named edit tool)

Bash.......................≥ $10.9728  (132 calls)
Read.........................≥ $4.4082  (56 calls)
Edit.........................≥ $3.1686  (38 calls)
ToolSearch....................≥ $0.1670  (3 calls)
Monitor........................≥ $0.1196  (1 call)
Write..........................≥ $0.1056  (1 call)
EnterWorktree.................≥ $0.0761  (2 calls)
ExitWorktree...................≥ $0.0297  (1 call)
--------------------------------------------------
TOTAL...................................≥ $19.0476
standard API-equivalent floor; not an invoice
same tokens on claude-haiku-4-5..........≥ $6.3493
  (67% lower observable floor)
  (arithmetic, not a prediction)
- - - - - - - - - - - - - - - - - - - - - - - - -
                npx aireceipts-cli                
         github.com/anandgupta42/receipts         
- - - - - - - - - - - - - - - - - - - - - - - - -

builder · a322d28e

- - - - - - - - - - - - - - - - - - - - - - - - -
                    AIRECEIPTS                    
 “Run a real end-to-end test of the Altimate Ba…” 
 Claude Code · Sep 04 2026 17:49:29 UTC · 9m 58s  
               claude-sonnet-5 100%               
         cache served 94% of input tokens         

pre-edit: no named edit tool observed
  (share before the first named edit tool)

Bash.........................≥ $2.4480  (17 calls)
(thinking/reply)...............≥ $0.0930  (1 turn)
Read...........................≥ $0.0843  (1 call)

≈ re-priced eligible trivial spans.......≈ $0.0310
  (1 tiny turns, priced at claude-haiku-4-5)
--------------------------------------------------
TOTAL....................................≥ $2.6253
standard API-equivalent floor; not an invoice
same tokens on claude-haiku-4-5..........≥ $0.8751
  (67% lower observable floor)
  (arithmetic, not a prediction)
- - - - - - - - - - - - - - - - - - - - - - - - -
                npx aireceipts-cli                
         github.com/anandgupta42/receipts         
- - - - - - - - - - - - - - - - - - - - - - - - -

builder · a1b6d225

- - - - - - - - - - - - - - - - - - - - - - - - -
                    AIRECEIPTS                    
 “Foundation step for the Altimate Base e2e tes…” 
 Claude Code · Sep 04 2026 19:05:28 UTC · 4m 55s  
               claude-sonnet-5 100%               
         cache served 97% of input tokens         

pre-edit: 35% of priced floor (10/37 turns)
  (share before the first named edit tool)

Bash.........................≥ $1.1171  (28 calls)
Read..........................≥ $0.3062  (4 calls)
Write.........................≥ $0.1163  (3 calls)
Edit..........................≥ $0.0884  (2 calls)
--------------------------------------------------
TOTAL....................................≥ $1.6280
standard API-equivalent floor; not an invoice
same tokens on claude-haiku-4-5..........≥ $0.5427
  (67% lower observable floor)
  (arithmetic, not a prediction)
- - - - - - - - - - - - - - - - - - - - - - - - -
                npx aireceipts-cli                
         github.com/anandgupta42/receipts         
- - - - - - - - - - - - - - - - - - - - - - - - -

builder · a41725b8

- - - - - - - - - - - - - - - - - - - - - - - - -
                    AIRECEIPTS                    
 “Consolidate 5 independently-written test suit…” 
 Claude Code · Sep 04 2026 19:34:47 UTC · 13m 51s 
               claude-sonnet-5 100%               
         cache served 99% of input tokens         

pre-edit: 31% of priced floor (34/100 turns)
  (share before the first named edit tool)

Bash.........................≥ $3.1629  (68 calls)
Read.........................≥ $0.5184  (14 calls)
Edit.........................≥ $0.4275  (10 calls)
Skill..........................≥ $0.1690  (1 call)
Monitor.......................≥ $0.1116  (2 calls)
ToolSearch....................≥ $0.1070  (2 calls)
TaskStop.......................≥ $0.0564  (1 call)
(thinking/reply)...............≥ $0.0533  (1 turn)
Write..........................≥ $0.0485  (1 call)

≈ re-priced eligible trivial spans.......≈ $0.0177
  (1 tiny turns, priced at claude-haiku-4-5)
--------------------------------------------------
TOTAL....................................≥ $4.6546
standard API-equivalent floor; not an invoice
same tokens on claude-haiku-4-5..........≥ $1.5516
  (67% lower observable floor)
  (arithmetic, not a prediction)
- - - - - - - - - - - - - - - - - - - - - - - - -
                npx aireceipts-cli                
         github.com/anandgupta42/receipts         
- - - - - - - - - - - - - - - - - - - - - - - - -
handoff — flagged pattern cost ≈ 453,366 tok
FLAGGED PATTERN COST.................≈ 453,366 tok
  heuristic pattern subtotal · not proven savings

≈ re-priced eligible trivial spans.......≈ $0.0310
  (1 tiny turns, priced at claude-haiku-4-5)
≈ re-priced eligible trivial spans.......≈ $0.0177
  (1 tiny turns, priced at claude-haiku-4-5)
  → route short replies to a cheaper model

covers: 4 sessions · 390 turns · 2 flagged-pattern lines

Generated by aireceipts

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

@kilo-code-bot

kilo-code-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (2 files)
  • docs/docs/configure/providers.md
  • packages/opencode/test/altimate/altimate-base-rate-limit-messages.test.ts
Previous Review Summaries (2 snapshots, latest commit 2895ffc)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 2895ffc)

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
packages/opencode/test/altimate/altimate-base-rate-limit-messages.test.ts 141 Redundant assertions — toEqual above already pins the exact message
Files Reviewed (3 files)
  • docs/docs/configure/providers.md - 0 issues
  • packages/opencode/src/altimate/free/client.ts - 0 issues
  • packages/opencode/test/altimate/altimate-base-rate-limit-messages.test.ts - 1 issue

Fix these issues in Kilo Cloud

Previous review (commit ce65723)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (2 files)
  • packages/opencode/src/altimate/free/client.ts
  • packages/opencode/test/altimate/altimate-base-rate-limit-messages.test.ts

Reviewed by deepseek-v4-pro · Input: 43.3K · Output: 15.9K · Cached: 551.7K

Review guidance: REVIEW.md from base branch test/altimate-base-e2e

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

…limits doc

Adds a sign-up nudge to the wallet-exhaustion message so users whose
one-time allowance is gone have somewhere to go besides switching
models: the paid Altimate LLM Gateway at `app.myaltimate.com`
(`register?client=altimate-code`, confirmed in
`src/altimate/plugin/altimate.ts`). The global-ceiling message is
unchanged — it still promises a genuine daily reset.

New wallet message: "You've used your free Altimate Base allowance —
it's a one-time grant and won't renew. Sign up at app.myaltimate.com
to keep going, or switch models."

Updates the wallet-budget test to match and adds explicit assertions
that the message contains the sign-up URL and no longer promises a
reset.

Adds a public, sanitized "Usage limits" section to
`docs/docs/configure/providers.md` under Altimate Base: personal
one-time allowance vs. shared daily capacity, rate limiting, and
request size limits, each mapped to what to do about it — no model
name, architecture, or exact thresholds (those stay in the internal
gateway-repo doc). Also drops the "Qwen 3.8" model-name mention from
the existing Altimate Base intro paragraph in the same section, which
violated the no-model-name-in-public-docs constraint this doc is
written to.

`app.myaltimate.com` is the public product domain and is the only
external host referenced. Verified clean with
`bun script/check-tracker-leaks.ts`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VqnuBDGkh1ZT65Ti7e6DHZ
@cursor

cursor Bot commented Sep 4, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_f0038fbf-b443-4329-b070-5c7063bc96f8)

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

3 similar comments
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

Comment thread packages/opencode/test/altimate/altimate-base-rate-limit-messages.test.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2895ffca2c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/docs/configure/providers.md Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 3 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread docs/docs/configure/providers.md Outdated
…ndant rate-limit test assertions

- providers.md previously called Altimate Base "anonymous", contradicting
  security-faq.md's "pseudonymous, not anonymous" — a stable per-installation
  identifier links requests across launches, and logging out does not reset it.
  Drop the false claim and replace the data-handling paragraph with the
  canonical wording (secrets are masked but shouldn't be relied on; usage is
  rate limited).
- Remove the two `toContain`/`not.toContain` assertions in the budget-wallet
  test that duplicated what the preceding `toEqual` already pins exactly.
@cursor

cursor Bot commented Sep 5, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_c86dedb7-58b3-4fdd-828f-1907739287d5)

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

2 similar comments
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

👋 This PR was automatically closed by our quality checks.

Common reasons:

  • New GitHub account with limited contribution history
  • PR description doesn't meet our guidelines
  • Contribution appears to be AI-generated without meaningful review

If you believe this was a mistake, please open an issue explaining your intended contribution and a maintainer will help you.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="docs/docs/configure/providers.md">

<violation number="1" location="docs/docs/configure/providers.md:58">
P3: This section now states the per-installation-identifier and `altimate providers logout altimate-base`-does-not-reset-it claim twice: the new pseudonymous paragraph (with the security-FAQ pointer) and the existing paragraph further down that starts "That hash is stable across launches...". Both cover the same identifier, the same logout command, and the same allowance-reset point. Keep the intro claim brief and leave the detailed identity/logout/allowance explanation in the later paragraph (or drop one of them) to avoid repeating the caveat in one section.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Requests and responses are logged and may be used to improve Altimate's products, including the
model. Secrets are automatically masked before storage, but don't rely on it — avoid sending
secrets or confidential code. Altimate Base is pseudonymous, not anonymous: a stable
per-installation identifier links your requests across launches and `altimate providers logout

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This section now states the per-installation-identifier and altimate providers logout altimate-base-does-not-reset-it claim twice: the new pseudonymous paragraph (with the security-FAQ pointer) and the existing paragraph further down that starts "That hash is stable across launches...". Both cover the same identifier, the same logout command, and the same allowance-reset point. Keep the intro claim brief and leave the detailed identity/logout/allowance explanation in the later paragraph (or drop one of them) to avoid repeating the caveat in one section.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/docs/configure/providers.md, line 58:

<comment>This section now states the per-installation-identifier and `altimate providers logout altimate-base`-does-not-reset-it claim twice: the new pseudonymous paragraph (with the security-FAQ pointer) and the existing paragraph further down that starts "That hash is stable across launches...". Both cover the same identifier, the same logout command, and the same allowance-reset point. Keep the intro claim brief and leave the detailed identity/logout/allowance explanation in the later paragraph (or drop one of them) to avoid repeating the caveat in one section.</comment>

<file context>
@@ -48,10 +48,16 @@ For pricing, security, and data handling details, see the [Altimate LLM Gateway
+Requests and responses are logged and may be used to improve Altimate's products, including the
+model. Secrets are automatically masked before storage, but don't rely on it — avoid sending
+secrets or confidential code. Altimate Base is pseudonymous, not anonymous: a stable
+per-installation identifier links your requests across launches and `altimate providers logout
+altimate-base` does not reset it (see the [security FAQ](../reference/security-faq.md)). Usage is
+rate limited.
</file context>

@anandgupta42
anandgupta42 merged commit 335f1ca into test/altimate-base-e2e Sep 7, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant