8000 feat(scaling): add providers and make groups in Settings by adeelahmad · Pull Request #621 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(scaling): add providers and make groups in Settings - #621

Merged
adeelahmad merged 3 commits into
mainfrom
claude/project-thread-azm2mb
Oct 18, 2026
Merged

adeelahmad merged 3 commits into
mainfrom
claude/project-thread-azm2mb

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Description

Before: Settings › Auto scaling listed existing groups and let you approve them, but adding a provider or making a group took the API, MCP or the assistant.

After: Settings › Auto scaling has a Providers list. It shows each provider's last check, with a "Check again" button, and a Remove button with Undo. An "Add a provider" dialog is built from each driver's fields: secrets are password inputs, defaults are filled in and the first field has focus. A "New group" form picks a provider and builds its template fields from the driver spec, and asks for a monthly budget only when the provider is priced. The help text says which providers launch mesh-joining worker nodes.

How: the panel reads /scaling/drivers and posts to the existing /scaling/providers and /scaling/groups endpoints. It adds no backend changes.

Motivation and Context

This finishes the auto scaling ask's "can be changed by the user" half in the web app, while agents keep the same paths over the API, MCP and the assistant.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (make hooks checks it on commit).
  • I added or updated tests: five new tests in __tests__/settings-scaling.test.tsx, and all eight in that file pass locally under jest. Prettier is clean.
  • My change requires documentation updates, and I have updated docs/ accordingly (docs/scaling.md In Settings).
  • Changelog fragment changelog.d/scaling-forms.md.

Done questions (AGENTS.md)

  • Goal: providers and groups can be made in the web app; merged on green CI.
  • Agents: the same endpoints back the API, MCP and assistant tools.
  • Zero setup: nothing new to install.
  • Fewest clicks: defaults are filled, the first field has focus, Enter submits, and Remove has Undo instead of a confirm dialog.
  • Configurable: everything is in Settings.
  • Light: UI only.
  • Private and secure: secrets are write-only password inputs and are sealed by the existing API; there is no new surface.
  • Cost: the budget is asked for priced providers, and launches still need approval.
  • User decides: making a group never approves it on its own; defaults are unchanged.
  • Upgrades: no stored-data change.
  • Honest: docs describe what merged.
  • Tests and docs updated.
  • Open standards: n/a, UI only.
  • Result reported.
  • Reuse: the existing settings panel components and scaling endpoints.

Generated by Claude Code

Settings › Auto scaling lists the providers with their last check in
words, Check again, and Remove with Undo (the delete waits a few seconds,
or runs as the page is left, since sealed credentials can't be put back).
Add a provider picks a driver and fills a form drawn from its fields:
defaults filled, the name focused, secrets as password fields sent in
`secrets`, lists one per line or ticked from their options, Enter saves,
and the driver's extra and licence named; a failed check is shown in
words. New group on a provider asks for a name, min, max, a budget only
when the driver is priced, and the driver's template; rules stay with
the assistant, MCP and the API for now.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ALjNbLobvPe7VwvDL8j7V3
#622 added ai.answer_comments; the Kokoro test's view left it out, so the
AI section saved it too and the test saw two saves instead of one.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ALjNbLobvPe7VwvDL8j7V3
Copy link
Copy Markdown
Owner Author

The Next.js check failed in __tests__/settings-kokoro.test.tsx, and this PR didn't cause it: the same test fails on main at 2deac7a. #622 added ai.answer_comments, which #538's test view leaves out, so the AI section also saves and the test sees two saves instead of one. I pushed ce24785, which adds the missing default to the test; it no-ops once main has an equivalent fix. Locally, the Kokoro and scaling tests pass (9 of 9).


Generated by Claude Code

adeelahmad pushed a commit that referenced this pull request Oct 18, 2026
#622 added ai.answer_comments (answer when tagged in a comment) after #538
wrote the Kokoro settings test's view of the section, so Save sent an ai
update beside the voice one and main's Next.js check went red at 2deac7a.
The fixture names the default, the same line #621 and #624 carry.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NY27LFMbLezbvQQQeHT19a
@adeelahmad
adeelahmad merged commit 9ec1b1b into main Oct 18, 2026
10 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-azm2mb branch October 18, 2026 15:41
adeelahmad pushed a commit that referenced this pull request Oct 18, 2026
…xture

#621 landed the same default first, in another spot of the same object, so this
branch's copy would have been a duplicate key.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NY27LFMbLezbvQQQeHT19a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0