Skip to content

fix(dashboard): drop the arbitrary 200000 cap on the agent max_tokens input#6214

Merged
houko merged 3 commits into
mainfrom
fix/6209-max-tokens-input-cap
Jun 19, 2026
Merged

fix(dashboard): drop the arbitrary 200000 cap on the agent max_tokens input#6214
houko merged 3 commits into
mainfrom
fix/6209-max-tokens-input-cap

Conversation

@houko

@houko houko commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Addresses #6209 ("provider should display the max token limit by default and support editing it in the UI"). The issue body is a screenshot only, which I can't view, so I scoped to the one concrete artificial limit in this area.

The agent model-config max_tokens field hard-capped its number input at max={200000}, which silently prevented operators from setting a higher output budget. The provider validates the real per-model ceiling on its own, so the UI shouldn't impose an arbitrary cap.

Change

  • crates/librefang-api/dashboard/src/pages/AgentsPage.tsx — remove max={200000} from the max_tokens input (keep min={1}).

Scope note

The model context_window and max_output_tokens are already displayed and editable on the Providers page (model wizard) and the Models page, so that part of the request largely exists. If the screenshot points at a different surface or a missing display, tell me the exact place and I'll extend this.

Verification

Per request, not built locally. Single-attribute removal on a number input — no logic change (buildModelConfigPatch / draft parsing don't depend on the max attribute). CI / dashboard build verifies.

… input

The agent model-config max_tokens field hard-capped its number input at max={200000}, silently blocking operators from setting a higher output budget. The provider validates the real per-model ceiling on its own, so the UI should not impose an arbitrary limit; keep min={1}.

Closes #6209
@github-actions github-actions Bot added area/docs Documentation and guides size/XS < 10 lines changed has-conflicts PR has merge conflicts that need resolution labels Jun 18, 2026
@houko
houko enabled auto-merge (squash) June 18, 2026 15:38
# Conflicts:
#	.secrets.baseline
@github-actions github-actions Bot added ready-for-review PR is ready for maintainer review no-rust-required This task does not require Rust knowledge has-conflicts PR has merge conflicts that need resolution and removed has-conflicts PR has merge conflicts that need resolution ready-for-review PR is ready for maintainer review labels Jun 19, 2026
@github-actions github-actions Bot added ready-for-review PR is ready for maintainer review and removed has-conflicts PR has merge conflicts that need resolution labels Jun 19, 2026
@houko
houko merged commit ce5aedd into main Jun 19, 2026
33 checks passed
@houko
houko deleted the fix/6209-max-tokens-input-cap branch June 19, 2026 07:50
GQAdonis pushed a commit to GQAdonis/librefang that referenced this pull request Jun 19, 2026
Merge upstream/main into the BossFang fork; origin/main was 15 commits behind.

Notable upstream changes:
- librefang#6225 scope the compaction-summary banner to the compacted session (adds canonical_sessions.compacted_summary_session_id).
- librefang#6196 deny WASM fs_write to the audit anchor via a capability deny-list.
- librefang#6226 / librefang#6227 add agent label and exit-reason metrics to the agent loop.
- librefang#6215 context-window usage indicator + honest quota-error classification.
- librefang#6217 per-instance sidecar secrets so each agent owns its own handle.
- librefang#6194 global Auto-Dream on/off switch on the Memory tab.
- librefang#6211 / librefang#6214 / librefang#6212 token/context cap fixes; librefang#6208 refuse to delete the active prompt version.
- librefang#6218 browser_tools.rs ToolError migration; librefang#6203 launchctl let-binding build fix; librefang#6224 docs dep bumps; librefang#6193 drop five orphaned email deps.

Conflict resolution:
- deny.toml: keep our RUSTSEC-2025-0141 (bincode 2.0.x) ignore entry (take ours).
- deny.toml: ignore three pre-existing unmaintained advisories newly tripped by the RustSec DB (all transitive via the UAR provider chain, none introduced by this merge): RUSTSEC-2024-0384 (instant), RUSTSEC-2024-0436 (paste), RUSTSEC-2025-0119 (number_prefix).

BossFang preservation (SurrealDB schema parity for upstream SQLite v46 / librefang#6225):
- Add crates/librefang-storage/src/migrations/sql/032_canonical_sessions_compacted_summary_session_id.surql declaring the new field on the SCHEMAFULL canonical_sessions table (SCHEMAFULL silently drops undefined fields on write), registered as version 32 in migrations/mod.rs.
- migrate/sqlite_to_surreal.rs: copy the new column so a SQLite to SurrealDB migration preserves the owning-session pointer rather than dropping it.
- backends/surreal_session.rs: preserve compacted_summary_session_id across canonical appends, since the upsert replaces the whole record.
- Cargo.lock: pick up the workspace version bump (beta.19 to beta.20) the merge introduced.

Verification:
- cargo check --workspace --lib — clean.
- cargo check -p librefang-storage -p librefang-memory -p librefang-uar-spec — clean.
- cargo test -p librefang-storage migration — ok (migration ordering / SurrealDB-3 flexible-syntax invariants).
- cargo test -p librefang-memory --lib session — 50 passed (incl. upstream's store_llm_summary round-trip test).
- cargo clippy -p librefang-storage -p librefang-memory — clean.
- python3 scripts/enforce-branding.py --check — clean; Tauri desktop audit and URL-drift scan both clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/docs Documentation and guides no-rust-required This task does not require Rust knowledge ready-for-review PR is ready for maintainer review size/XS < 10 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant