Skip to content

Beginner UX: lead batch page with stable outcome header - #11227

Merged
diegosouzapw merged 8 commits into
cheaper-inference:release/v3.8.50from
ignamiranda:contributor/feat/beginner-ux-batch
Aug 23, 2026
Merged

diegosouzapw merged 8 commits into
cheaper-inference:release/v3.8.50from
ignamiranda:contributor/feat/beginner-ux-batch

Conversation

@ignamiranda

Copy link
Copy Markdown
Contributor

Beginner UX: Batch Processing — stable outcome header (Wave 2c / Pitch #7)

Problem (pitch diagnosis)

  • The /dashboard/batch page opens with a collapsible BatchConceptCard that hides the purpose of batch processing.
  • The subtitle is technical (batchConceptSubtitle): "Process thousands of requests asynchronously at ~50% of the cost (24h window). Ideal for evaluations, classification, and embeddings."
  • There is no visible entry point: the "Create batch" action is buried inside a tab bar, making the flow unclear.

Change (small, standalone)

  1. Stable header (page.tsx): Before the collapsible card, added a fixed orientation row:
    • Title (t("batchConceptTitle")): "Batch processing"
    • Subtitle (t("batchHeaderSubtitle")): "Run many requests as one job"
    • Three-step visual: 1 · Upload JSONL → 2 · Create batch → 3 · Get results (each with t() labels)
  2. i18n keys (en.json common namespace): Added batchHeaderSubtitle, batchStep1/2/3, batchStep1Desc/2Desc/3Desc.
  3. No structural changes: The collapsible BatchConceptCard remains as optional deeper explanation (preserves existing behavior for advanced users); the toolbar (auto-refresh, Refresh, New batch) stays intact.
  4. No new routes: Only rewrites copy and adds a header block (~100 LOC).
  5. Changelog fragment (changelog.d/features/): Created batch-stable-header.md.

Evidence (D4 / #11171 / #11169 / #11172)

  • Focused static test (tests/unit/batch-page-static.test.ts): asserts t("batchHeaderSubtitle"), t("batchStep1/2/3"), t("batchListNewButton"), and verifies no hardcoded English strings appear.
  • Lint (npm run lint): clean.
  • Typecheck (npm run typecheck:core): clean.
  • All 6 assertions pass.
  • Inherits red base #9985 (not fixed in this PR, noted in PR description).

Tracking

Related PRs in series

ignamiranda and others added 7 commits August 23, 2026 06:35
…inference#11204)

Validated on the combined batch board: gates clean (changelog, file-size 159 frozen, complexity 2620<=2774, cognitive 1180<=1223, dead-code 409<=416), typecheck:core clean, i18n suites 16/16 after the vi translation pass. Two-string reframe that stops Embedded Services reading as required infrastructure. Thank you @ignamiranda!
…rence#11195)

Validated on the combined batch board: gates + typecheck clean, i18n suites 16/16. Pre-merge: the vi.json request-flow strings arrived in English — translated to Vietnamese on the branch (vi is the locale that requires real translations, not markers). Purpose-first API-key orientation with the request-path visual, controls unchanged. Part of cheaper-inference#11167. Thank you @ignamiranda!
…nce#11206)

Validated on the combined batch board (CliConceptCard vitest 9/9 — the ACP warning never leaks onto Code/Agent cards) + this branch: i18n suites 16/16 with the Vietnamese translation of the new acp warning added here. ACP now reads as optional/advanced before its mechanics. Thank you @ignamiranda!
…eaper-inference#11215)

Validated on the combined batch board (resilience-connections static test green) + this branch: i18n suites 16/16 with Vietnamese translations of the reassurance/legend strings added here. Plain-language reassurance + three-state legend lead the page; the technical table stays as advanced detail. Thank you @ignamiranda!
…aper-inference#11224)

Validated on the combined batch board (health-page static test green, new testing-library deps installed for the component test) + this branch: i18n suites 16/16 with Vietnamese translations of the verdict/diagnostics strings added here. Plain-language verdict leads; advanced diagnostics collapse behind a toggle. Thank you @ignamiranda!
@diegosouzapw
diegosouzapw merged commit 35a34ac into cheaper-inference:release/v3.8.50 Aug 23, 2026
4 of 7 checks passed
jonlwheat2-gif added a commit to jonlwheat2-gif/OmniRoute that referenced this pull request Aug 24, 2026
…nce#9985)

i18nUiCoverage ratchet read 99.4 vs baseline 100: recent merges
(cheaper-inference#11166/cheaper-inference#11178/cheaper-inference#11179/cheaper-inference#11224/cheaper-inference#11227/cheaper-inference#11283) shipped new UI keys without
mirroring them into the 41 non-en catalogs. Fill via the documented EN-
fallback convention (scripts/i18n/fill-missing-from-en.mjs semantics:
absent keys only, never overwrite) so every locale reaches parity;
translations can be refined in place later without touching code.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…rence#11227)

Validated on the combined batch board (batch-page static test green) + this branch: i18n suites 16/16 with Vietnamese translations of the batch header/step strings added here. Stable outcome header with the 3-step flow; the collapsible concept card stays as advanced detail. Thank you @ignamiranda!
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.

3 participants