Skip to content

feat(dashboard): Modality Bridge settings page (vision tabs, model selector, stats, test button) - #9782

Merged
diegosouzapw merged 22 commits into
release/v3.8.50from
feat/modality-bridge-page
Aug 10, 2026
Merged

diegosouzapw merged 22 commits into
release/v3.8.50from
feat/modality-bridge-page

Conversation

@diegosouzapw

@diegosouzapw diegosouzapw commented Aug 8, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • add a dedicated /dashboard/settings/modality-bridge page with functional Vision settings, shared runtime stats, and reserved Audio/Video tabs
  • replace free-form model input with the unified model selector, add a guarded self-test action, and move the legacy settings card to the new route
  • expose the page through Settings/sidebar navigation and add Media Providers shortcuts without inventing a second configuration surface
  • preserve the release branch's concurrent i18n additions while synchronizing and validating all 42 non-English locale catalogs

Review outcome

The final review covered the effective diff against release/v3.8.50 along two independent axes: repository Standards and the approved Modality Bridge spec/plan. No blocking finding remains.

The review fixes included:

  • add the required user-facing changelog fragment
  • move the page's visible tab labels and accessibility label to canonical i18n keys
  • remove the obsolete legacy settings component and correct its stale relocation comment
  • reconcile five capability-filter keys added concurrently to the release, adding 200 missing localized values without losing release-side translations
  • restore the canonical Traditional Chinese glossary terms after CI exposed two glossary test failures

The broad locale synchronization is deliberate: the implementation plan requires i18n:sync-ui -- --translate-markers, and the final dry run reports zero additions and zero translations.

Verification on final head

Final head: d4e321f1dd140b70b5365ff17364227ef2bc481b

  • focused Modality Bridge UI: 3 files, 14/14 tests
  • settings i18n: 10/10 tests
  • i18n glossary consistency: 17/17 tests
  • all 42 locale validators: zero missing keys; untranslated-source counts remain advisory
  • locale JSON parse, marker scan, value-drift, zh-CN glossary, Prettier, and sync dry run: pass
  • npm run lint: pass with zero errors and zero warnings
  • npm run typecheck:core: pass
  • dashboard typecheck ratchet: no new errors; 5 shrink opportunities
  • npm run check:cycles: pass
  • npm run check:docs-all: pass
  • full static quality sweep and security/documentation gates: pass
  • complexity 2340 <= 2774, cognitive complexity 1052 <= 1223, dead code 230/230, type coverage 94.4% >= 92.17%, duplication 4.24% <= 5.72%
  • quality ratchet: 57 metrics, zero regressions
  • npm run build: pass after canonical npm ci; 693 pages generated and standalone/postbuild completed
  • live CI: all four unit shards, Vitest, lint/ratchet, docs, fast quality, merge integrity, DAST, Semgrep, CodeQL, and Fast Production Build pass

TDD regression proof

The first CI run exposed two exact failures in the zh-TW glossary gate. The seven non-canonical terms were corrected (默認 -> 預設, 調用 -> 呼叫, 全局 -> 全域), then the exact failing glossary test passed 17/17 and the rerun's unit shard 3/4 turned green.

Base and merge status

The branch includes release/v3.8.50@06a691f8fe2fceb99fbe519da5c0ffc0462c471d. The historical base-red issue #9737 is closed. Merge still follows the repository's fused freeze gate and will not treat queued infrastructure as a green verdict.

Related

@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

⚠️ base-red inherited: #9737. The current release-tip tracker records hard failures in typecheck, ESLint, test-masking, full unit, Vitest, integration, package/boot smoke, route validation, file-size, migration/known-symbols, and dead-code. This PR does not absorb or repair those release-wide failures. Its own i18n reds were addressed in a83f85b and 44eb33a; the exact glossary test is now 17/17 locally, and a fresh CI run is in progress.

@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

Final review and CI discrimination for 60c0f19

PR-owned regressions fixed:

  • dashboard TS2322 in ModalityBridgeStatsRow: fixed; CI dashboard typecheck now passes with 249 pre-existing errors inside baseline
  • obsolete VisionBridgeSettingsTab file: removed; CI dead-code dropped from 229 to 228, exactly matching the open release-base value in 🔴 Release branch not green: release/v3.8.50 #9737
  • no baseline widened and no test weakened

Fresh CI passes include Fast Production Build, CodeQL, DAST, Vitest, Docs, Semgrep, merge integrity, change classification, and unit shards 3/4 and 4/4.

Remaining reds are inherited from release/v3.8.50 and do not touch this diff:

  • global ESLint: the silent lint:json exit corresponds to the six base ESLint errors tracked by 🔴 Release branch not green: release/v3.8.50 #9737; focused lint for every changed PR file passes
  • Fast Quality: file-size growth in src/sse/handlers/chat.ts and open-sse/translator/response/openai-responses.ts; three unrelated Stryker coverage entries; three scripts/build files in the package artifact; and base dead-code 228/227
  • unit shard 1/4: ServerSupervisor IPv4-first DNS
  • unit shard 2/4: Claude streaming, missing miniPlayground loading/retry keys already absent on the release tip, two telemetry cleanup cases, and triage-bugs-2026-08-02

The PR remains open and non-draft. It is code-reviewed and has no unresolved review threads, but it is intentionally not represented as globally green while #9737 remains open.

@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

⚠️ This PR branch is currently held by an active worktree session (Rule #22b). Keep as deferred until ownership is released.

⚠️ Review held: this PR branch is owned by an active parallel worktree session. Keep it in defer until ownership is released and re-run this PR assessment.

@diegosouzapw diegosouzapw changed the title feat(dashboard): Modality Bridge settings page (vision tabs, model selector, stats, test button) [defer] feat(dashboard): Modality Bridge settings page (vision tabs, model selector, stats, test button) Aug 9, 2026
@diegosouzapw diegosouzapw added merge-train-deferred PR ejetada do merge-train — triagem separada deferred-v3.8.50 Adiada para o ciclo v3.8.50 (validacao VPS, refactor, ou escopo grande) labels Aug 9, 2026
@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

⚠️ This PR branch is currently held by an active worktree session (Rule #22b). Keep as deferred until ownership is released.

⚠️ Review held: this PR branch is owned by an active parallel worktree session. Keep it in defer until ownership is released and re-run this PR assessment.

1 similar comment
@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

⚠️ This PR branch is currently held by an active worktree session (Rule #22b). Keep as deferred until ownership is released.

⚠️ Review held: this PR branch is owned by an active parallel worktree session. Keep it in defer until ownership is released and re-run this PR assessment.

…ity-bridge-page

# Conflicts:
#	src/i18n/messages/ar.json
#	src/i18n/messages/az.json
#	src/i18n/messages/bg.json
#	src/i18n/messages/bn.json
#	src/i18n/messages/cs.json
#	src/i18n/messages/da.json
#	src/i18n/messages/de.json
#	src/i18n/messages/es.json
#	src/i18n/messages/fa.json
#	src/i18n/messages/fi.json
#	src/i18n/messages/fr.json
#	src/i18n/messages/gu.json
#	src/i18n/messages/he.json
#	src/i18n/messages/hi.json
#	src/i18n/messages/hu.json
#	src/i18n/messages/id.json
#	src/i18n/messages/in.json
#	src/i18n/messages/it.json
#	src/i18n/messages/ja.json
#	src/i18n/messages/ko.json
#	src/i18n/messages/mr.json
#	src/i18n/messages/ms.json
#	src/i18n/messages/nl.json
#	src/i18n/messages/no.json
#	src/i18n/messages/phi.json
#	src/i18n/messages/pl.json
#	src/i18n/messages/pt-BR.json
#	src/i18n/messages/pt.json
#	src/i18n/messages/ro.json
#	src/i18n/messages/ru.json
#	src/i18n/messages/sk.json
#	src/i18n/messages/sv.json
#	src/i18n/messages/sw.json
#	src/i18n/messages/ta.json
#	src/i18n/messages/te.json
#	src/i18n/messages/th.json
#	src/i18n/messages/tr.json
#	src/i18n/messages/uk-UA.json
#	src/i18n/messages/ur.json
#	src/i18n/messages/vi.json
#	src/i18n/messages/zh-CN.json
#	src/i18n/messages/zh-TW.json
@diegosouzapw diegosouzapw changed the title [defer] feat(dashboard): Modality Bridge settings page (vision tabs, model selector, stats, test button) feat(dashboard): Modality Bridge settings page (vision tabs, model selector, stats, test button) Aug 10, 2026
@diegosouzapw
diegosouzapw merged commit 6553ba3 into release/v3.8.50 Aug 10, 2026
22 checks passed
@diegosouzapw
diegosouzapw deleted the feat/modality-bridge-page branch August 13, 2026 08:01
@diegosouzapw diegosouzapw mentioned this pull request Aug 15, 2026
17 of 19 tasks
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…lector, stats, test button) (cheaper-inference#9782)

* feat(i18n): modality bridge page strings (en + synced locales)

* feat(dashboard): ModalityBridgeVisionTab + stats row + test button

* feat(dashboard): Modality Bridge settings page with vision/audio/video tabs + sidebar entry

* feat(dashboard): relocate vision bridge card to link + media-providers shortcuts

* docs(guardrails): document Modality Bridge dashboard

* chore: preserve upstream formatting after base merge

* fix(modality-bridge): satisfy i18n quality gates

* fix(i18n): preserve canonical Chinese glossary terms

* fix(modality-bridge): clear dashboard quality regressions

* fix(settings): use catalog-only modality labels

* fix(i18n): isolate modality bridge availability copy

* chore(i18n): prepare conflict-free Modality Bridge base sync

* docs(modality-bridge): align migration note with dead-code decision

* fix(i18n): sync capability filter locales after release merge

* fix(i18n): restore canonical Traditional Chinese glossary

---------

Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deferred-v3.8.50 Adiada para o ciclo v3.8.50 (validacao VPS, refactor, ou escopo grande) merge-train-deferred PR ejetada do merge-train — triagem separada

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant