Skip to content

feat(ui): add Japanese dashboard localization - #2118

Open
glyzinie wants to merge 14 commits into
Soju06:mainfrom
glyzinie:codex/add-japanese-dashboard-locale
Open

glyzinie wants to merge 14 commits into
Soju06:mainfrom
glyzinie:codex/add-japanese-dashboard-locale

Conversation

@glyzinie

@glyzinie glyzinie commented Sep 6, 2026 •

Copy link
Copy Markdown

Summary

Japanese browser users currently fall back to English. Add Japanese to the existing dashboard i18n system, including 1,491 translation entries, automatic language detection, and persistent desktop/mobile language selection.

Type of change

  • feat: — new user-facing capability

Changes

  • Register ja, recognize Japanese language tags such as ja-JP, and add 日本語 to both language menus.
  • Translate dashboard copy, validation messages, accessible labels, and client-side notifications while preserving interpolation and inline markup.
  • Localize dates, times, the API-key expiry calendar, and API-key limit period labels. Preserve explicit ISO/time preferences, model identifiers, compact K/M/B notation, and USD amounts.
  • Add locale integrity, component, and browser coverage; update the Configuration documentation and frontend OpenSpec capability.

OpenSpec

  • Includes a verified OpenSpec change, synchronized with the main specification and archived.

Change: add-japanese-dashboard-locale

Specification: frontend-architecture

Simplicity

  • Works with zero configuration.
  • No new required setup steps, dependencies, or CODEX_LB_* settings.
  • README, environment example, and core navigation budgets are unchanged.
  • Feature documentation lives in the existing docs page and OpenSpec.
  • Before/after screenshots are included below.

Test plan

  • bun run test: 152 files / 1,243 tests passed before the final API-key period-label refinement.
  • Final affected tests (locale, formatters, expiry picker, API-key table, API-key details): 5 files / 63 tests passed, including six new period-label cases.
  • bun run lint, bun run typecheck, and the final bun run build: passed.
  • Playwright Japanese locale suite: 5 tests passed against the final production build with fixture APIs. Covers detection, URL overrides, saved preferences, switching without reloads, login, validation markup, calendar interaction, and desktop/mobile layouts.
  • openspec validate --specs: all 58 specifications passed. The change and modified capability also pass strict validation.
  • git diff --check: passed.

Repository-wide strict OpenSpec validation still reports 22 existing unrelated specifications with placeholder Purpose sections (36 pass). These warnings do not affect strict validation of this change or its owning capability.

Detailed verification

Screenshots / output

Same fixture data and light theme; desktop is 1440 × 1000 and mobile is 390 × 844.

Screen Before (English) After (Japanese)
Dashboard — desktop English dashboard, desktop Japanese dashboard, desktop
Dashboard — mobile English dashboard, mobile Japanese dashboard, mobile
Settings — desktop English settings, desktop Japanese settings, desktop
Settings — mobile English settings, mobile Japanese settings, mobile

@coderabbitai

coderabbitai Bot commented Sep 6, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 64961b01-c69f-4331-9b2d-238a90317fd3

📥 Commits

Reviewing files that changed from the base of the PR and between bb7b33a and 6100f55.

⛔ Files ignored due to path filters (8)
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/after-dashboard-desktop.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/after-dashboard-mobile.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/after-settings-desktop.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/after-settings-mobile.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/before-dashboard-desktop.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/before-dashboard-mobile.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/before-settings-desktop.jpg is excluded by !**/*.jpg
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/screenshots/before-settings-mobile.jpg is excluded by !**/*.jpg
📒 Files selected for processing (28)
  • .all-contributorsrc
  • README.md
  • docs/configuration.md
  • frontend/screenshots/capture.spec.ts
  • frontend/src/__integration__/api-keys-flow.test.tsx
  • frontend/src/components/layout/language-toggle.tsx
  • frontend/src/features/api-keys/components/api-key-table.test.tsx
  • frontend/src/features/api-keys/components/api-key-table.tsx
  • frontend/src/features/api-keys/components/expiry-picker.test.tsx
  • frontend/src/features/api-keys/components/expiry-picker.tsx
  • frontend/src/features/apis/components/api-key-info.test.tsx
  • frontend/src/features/apis/components/api-key-info.tsx
  • frontend/src/i18n/index.test.ts
  • frontend/src/i18n/index.ts
  • frontend/src/i18n/locales/en.json
  • frontend/src/i18n/locales/ja.json
  • frontend/src/i18n/locales/ko.json
  • frontend/src/i18n/locales/zh-CN.json
  • frontend/src/utils/formatters.test.ts
  • frontend/src/utils/formatters.ts
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/.openspec.yaml
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/design.md
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/proposal.md
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/specs/frontend-architecture/spec.md
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/tasks.md
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/verification.md
  • openspec/specs/frontend-architecture/context.md
  • openspec/specs/frontend-architecture/spec.md
🚧 Files skipped from review as they are similar to previous changes (26)
  • frontend/src/integration/api-keys-flow.test.tsx
  • frontend/src/i18n/locales/zh-CN.json
  • docs/configuration.md
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/proposal.md
  • frontend/src/features/api-keys/components/api-key-table.test.tsx
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/verification.md
  • frontend/src/i18n/index.ts
  • frontend/src/features/api-keys/components/api-key-table.tsx
  • frontend/src/features/apis/components/api-key-info.tsx
  • frontend/src/i18n/locales/en.json
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/.openspec.yaml
  • frontend/src/i18n/index.test.ts
  • frontend/src/utils/formatters.test.ts
  • frontend/src/components/layout/language-toggle.tsx
  • frontend/src/i18n/locales/ko.json
  • README.md
  • frontend/src/features/api-keys/components/expiry-picker.tsx
  • openspec/specs/frontend-architecture/context.md
  • frontend/src/utils/formatters.ts
  • .all-contributorsrc
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/tasks.md
  • frontend/src/features/apis/components/api-key-info.test.tsx
  • openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/design.md
  • openspec/specs/frontend-architecture/spec.md
  • frontend/src/features/api-keys/components/expiry-picker.test.tsx
  • frontend/screenshots/capture.spec.ts

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Summary

Summary by CodeRabbit

  • New Features

    • Added Japanese as a supported dashboard language across desktop and mobile interfaces.
    • Added browser-language detection, saved preferences, and ?lang=ja URL selection.
    • Localized dates, times, API-key limit labels, validation messages, and expiry-date calendars for Japanese.
    • Added Japanese to language menus with instant switching.
  • Documentation

    • Documented language selection, detection behavior, URL overrides, and localized interface coverage.
  • Tests

    • Added coverage for Japanese localization, formatting, switching, persistence, responsive layouts, and expiry-calendar interactions.

Walkthrough

The dashboard now supports Japanese localization. The change adds locale detection and persistence, Japanese translations, date and calendar formatting, translated API-key limit labels, browser coverage, documentation, and OpenSpec updates.

Changes

Japanese dashboard locale

Layer / File(s) Summary
Locale registration and translation validation
frontend/src/i18n/*, frontend/src/components/layout/language-toggle.tsx, frontend/src/i18n/locales/*
Japanese is registered as a supported locale. Language normalization, menu labels, translation parity, interpolation, and pluralization are covered.
Localized formatting and API-key limits
frontend/src/utils/*, frontend/src/features/api-keys/components/*, frontend/src/features/apis/components/*, frontend/src/__integration__/api-keys-flow.test.tsx
Japanese date and relative-time formatting is added. API-key limit windows use translated labels while quantities and technical identifiers remain unchanged.
Calendar and dashboard integration
frontend/src/features/api-keys/components/expiry-picker.tsx, frontend/screenshots/capture.spec.ts
The expiry calendar uses Japanese labels. Tests cover detection, persistence, switching, mobile layouts, validation, screenshots, calendar behavior, and login rendering.
Documentation and specifications
docs/configuration.md, openspec/specs/frontend-architecture/*, openspec/changes/archive/2026-09-06-add-japanese-dashboard-locale/*, .all-contributorsrc, README.md
Configuration documentation, OpenSpec records, and contributor records describe or record the Japanese locale change.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant LocaleResolver
  participant Dashboard
  participant APIKeySettings
  participant Calendar
  Browser->>LocaleResolver: provide query, saved, or browser language
  LocaleResolver->>Dashboard: activate Japanese translations
  Dashboard->>APIKeySettings: render localized API-key content
  APIKeySettings->>Calendar: apply Japanese calendar locale
  Calendar-->>Browser: display Japanese controls and selected date
Loading

Merge Risk: ⚪ Minimal · up to 6100f

This change adds Japanese dashboard localization, locale persistence and detection, and localized date, time, calendar, and API-key labels. No concrete merge-blocking behavior risk is identified in the supplied change context.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 13 files. (14 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the primary change: adding Japanese localization to the dashboard UI.
Description check ✅ Passed The description directly explains the Japanese localization, language detection, persistence, formatting changes, tests, documentation, and validation included in the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 13 files. (14 skipped: 14 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Merge upstream main at 15ccd90 to align release metadata with the current base and restore the beta release guard. Translate the new plaintext proxy credentials warning to keep Japanese locale coverage complete.
@Soju06

Soju06 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Triage (round 20, 2026-09-08): not merged this round — textual conflict with main, trivially recoverable.

#2092 (0e14c24f6, tool_search_output) landed this round and appended phuongdung160114-ux at the tail of the contributors array in .all-contributorsrc, right after MIlhamDedi. This branch (head d8bde5871) appends glyzinie at the same position (.all-contributorsrc:1417-1427), so git merge-tree against current main reports .all-contributorsrc as the single "changed in both" file; the PR's merge state has gone UNKNOWN pending recompute and update-branch cannot resolve it.

Recovery: merge origin/main into codex/add-japanese-dashboard-locale, keeping both entries in the array (order is irrelevant to the contributors check). Nothing else conflicts — the other 35 files are frontend/ locale/i18n additions plus the OpenSpec change folder, no app/ code, so the proxy architecture / timing-seam / cancellation guards and the Settings ratchet are N/A. All check runs on the current head are success/skipped. Once the conflict is cleared this is back in the merge queue.

Merge origin/main at fe2915d, retaining both contributor entries and all configuration spec links.

Regenerate the contributor list and synchronize Japanese translations with upstream subscription overflow, retention, and telemetry copy.

Validated 1265 frontend tests with coverage, ESLint, typecheck and Vite build, strict docs build, contributor coverage, release guards, all OpenSpec specs, and strict frontend-architecture validation.
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@glyzinie

glyzinie commented Sep 8, 2026

Copy link
Copy Markdown
Author

Thanks for the triage! Merged the latest main in 2f6bd128, keeping both contributor entries and regenerating the README contributor list.

Since main had advanced further, I also resolved the configuration docs conflict and synchronized the Japanese translations with the new upstream strings.

Local validation passed: all 1,265 frontend tests, lint, typecheck/build, contributor coverage, and the OpenSpec validation used by CI. Ready for another look once the updated CI checks pass.

Merge origin/main at bb7b33a, retaining upstream frontend requirements and consolidating locale key parity coverage with Japanese tests.

Translate 54 new report and settings strings and remove the obsolete retention hint.

Validated all 1291 frontend tests with coverage, ESLint, typecheck and Vite build, strict docs build, 64 OpenSpec specs in strict mode, contributor coverage, and beta/stable release guards.
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

Merge origin/main at 1205237 and translate the five new Codex session prewarm settings strings.

Validated all 1296 frontend tests, ESLint, typecheck and Vite build, strict docs build, all 64 OpenSpec specs in strict mode, contributor coverage, and beta/stable release guards.
@Soju06 Soju06 added the triage Awaiting triage label Sep 10, 2026
Merge origin/main at c858dcc (v1.25.0-beta.7). Translate 61 new dashboard strings, remove the retired overflow notice, and regenerate the contributor list while preserving both branches.

Validated all 1323 frontend tests, 5 Japanese locale browser tests, ESLint, the TypeScript and Vite build, all 65 OpenSpec specs in strict mode, strict docs build, contributor coverage, simplicity budgets, and the diff against main.
Merge origin/main at c62bdd8, retain all contributors, and translate the 249 new dashboard strings into Japanese.

Validation: 1,571 frontend tests; 5 Japanese browser tests; lint, typecheck, production build; 65 OpenSpec specifications in strict mode.
Merge origin/main at a096b60 and regenerate the eight English/Japanese dashboard and settings screenshots with current account-management fixtures.

Validation: 241 related backend tests, 13 Japanese browser checks, frontend lint and build, and 65 OpenSpec specifications in strict mode.
@Komzpa

Komzpa commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 11, 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-15T22:40:05.794598Z 0cf4b29 Manual request
ℹ️ 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.

@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: 0bc0ccf735

ℹ️ 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 openspec/specs/frontend-architecture/spec.md
Comment thread openspec/specs/frontend-architecture/spec.md
@Komzpa

Komzpa commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 431689d146

ℹ️ 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".

@Komzpa Komzpa added 🤖 codex: needs work [@codex review] raised an issue and removed 🤖 codex: needs work [@codex review] raised an issue labels Sep 12, 2026
@Soju06

Soju06 commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Triage (round 22, 2026-09-14): not merged this round — semantic conflict with main. The translation work itself is good; the branch is just stale again.

GitHub reports this as MERGEABLE, which is misleading here. git merge-tree --write-tree origin/main 431689d produces a conflict-free tree (71bc1f50e5), but in that merged tree the locale bundles are out of parity and the PR's own gate fails:

Consequence if merged as-is: frontend/src/i18n/index.test.ts:19 (ja defines exactly the keys that en defines) fails, and frontend/src/i18n/index.test.ts:60 throws TypeError: Cannot read properties of undefined (reading 'trim') on access.people.actions.rename. Frontend tests are a required check, so main goes red for every open PR. ko and zh-CN stay in parity in that same merged tree — ja is the only locale that breaks.

Requested:

  1. Merge origin/main into codex/add-japanese-dashboard-locale.
  2. Translate the 78 new keys (the bulk is the OIDC connection wizard and the company sign-in / pending-approval screens).
  3. Delete the 53 orphan keys — settings.routing.subscriptionOverflow.* and the dashboard overflow keys are dead; that feature was reverted on main.
  4. Re-run bun run test so frontend/src/i18n/index.test.ts is green against the new en.json.

Everything else checked out and needs no change: i18n/index.ts registration and the ja branch in normalizeSupportedLanguage, the ja-JP Intl branch in formatters.ts, the react-day-picker/locale calendar wiring, and the apiKeys.limitTypes.* / apiKeys.limitWindows.* lookups in api-key-edit-dialog.tsx and api-key-table.tsx (all five LimitType and all five LIMIT_WINDOWS values already have en keys on main, so the defaultValue-less t() calls cannot leak raw key strings). Translation quality is genuinely high — of 1,982 values only 42 contain no Japanese characters and every one of those is a proper noun, an acronym, or interpolation-only. No alembic migration, so no head-fork risk.

Two scheduling notes for whoever merges:

@Komzpa Komzpa added the 🤖 codex: needs work [@codex review] raised an issue label Sep 14, 2026
@Komzpa Komzpa removed the 🤖 codex: needs work [@codex review] raised an issue label Sep 14, 2026
@Komzpa Komzpa added the 🤖 codex: needs work [@codex review] raised an issue label Sep 15, 2026
@Komzpa

Komzpa commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@glyzinie

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 0cf4b29620

ℹ️ 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".

@Komzpa Komzpa added 🤖 codex: ok [@codex review] says no issues found. 🤖 codex: needs work [@codex review] raised an issue and removed 🤖 codex: needs work [@codex review] raised an issue 🤖 codex: ok [@codex review] says no issues found. labels Sep 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has had no activity for 7 days.

It will be closed in 23 more days unless there is new activity.

If this is still relevant, please:

  • Rebase or push an update if the branch drifted
  • Address pending review feedback if there is any
  • Leave a short comment confirming it is still being worked on

Thanks for the contribution 🙏

@github-actions github-actions Bot added the stale No response from reporter; scheduled for close label Sep 28, 2026
@Soju06

Soju06 commented Sep 28, 2026

Copy link
Copy Markdown
Owner

0cf4b29 was in exact parity with main when you pushed it (2007/2007 keys, 0 orphans), so the 09-14 items are done. It didn't get merged in that window, and that's on us. Main has since added 23 en keys in #2431 (SCIM, 09-18):

  • organisation.automaticAccounts.* (20)
  • organisation.errors.scim_token_not_found
  • organisation.group.summaryAutomatic
  • organisation.group.summaryAutomaticRestricted

Merged onto 4dcf8f7, ja.json is 2007 keys against en's 2030. frontend/src/i18n/index.test.ts:18 fails, and :60 throws on the first missing key.

Please:

  • merge origin/main
  • translate those 23 keys
  • re-run bun run test src/i18n
  • ping here.

We'll merge in the same window. Also resolve the two Codex threads on openspec/specs/frontend-architecture/spec.md. The code already addresses both (reports-page.tsx via formatDateTimeInline, api-key-edit-dialog.tsx via apiKeys.limitTypes.*). No need to add another screenshot set for this sync.

glyzinie commented Sep 28, 2026 •

Copy link
Copy Markdown
Author

@Soju06 Updated in d65bc67.

  • Merged origin/main at 4dcf8f751 and translated all 23 SCIM keys. All four locales now have exactly 2,030 keys, with no missing or obsolete Japanese entries; existing Japanese values and interpolation variables are preserved.
  • bun run test src/i18n: 13 passed. The two reported failures were reproduced before the repair.
  • Full frontend coverage suite: 181 files / 1,663 tests passed; lint, typecheck, build, and all 66 strict OpenSpec validations passed.
  • Confirmed the existing Reports/API-key fixes with 50 regression tests and resolved both Codex review threads. No additional screenshot set, as requested.

The broader local make ci also passed Python static and migration-topology checks, then stopped because cargo is unavailable locally; its remaining Rust/backend/container stages were not run.

The new-head CI, Docs, Release guards, and Simplicity budgets workflows are awaiting maintainer approval (action_required). Could you approve the runs? CI run.

Verification details.

@github-actions github-actions Bot added documentation Improvements or additions to documentation frontend Frontend code and dependency changes labels Sep 28, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation frontend Frontend code and dependency changes stale No response from reporter; scheduled for close triage Awaiting triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants