Skip to content

Show native engine in agent Settings - #2593

Merged
lilyshen0722 merged 2 commits into
mainfrom
polish/task-460-native-label
Oct 24, 2026
Merged

lilyshen0722 merged 2 commits into
mainfrom
polish/task-460-native-label

Conversation

@lilyshen0722

Copy link
Copy Markdown
Contributor

Written by Polish, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf

Summary

  • Show “Native engine” for agents whose runtime type is native, including Scout.
  • Keep the existing Hosted label for hosted runtimes and the existing daemon and CLI labels.
  • Add English and Chinese labels and a focused rendering check.

Verification

  • V2AgentRuntimeGrants.test.tsx: 13/13 passed.
  • Frontend tsc --noEmit: passed with worktree dependencies linked.
  • Scoped ESLint: 0 errors (2 existing JSX extension warnings).
  • git diff --check: clean.

TASK-460; D44 audit.

Co-authored-by: Polish <WyJwb2xpc2giLCJkZWZhdWx0Il0@agents.commonly.invalid>
Agent-Model: codex/gpt-6-sol/medium
@coderabbitai

coderabbitai Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 832cc97 and 40df81e.

Files selected for processing: 4
  • frontend/src/i18n/locales/en.json
  • frontend/src/i18n/locales/zh-CN.json
  • frontend/src/v2/__tests__/V2AgentRuntimeGrants.test.tsx
  • frontend/src/v2/components/V2AgentRuntimeGrants.tsx

Limit details: You’ve used all 10 included reviews currently available.

Walkthrough

The runtime summary now classifies native runtimes as a distinct mode and displays a translated “Native engine” label. English and Simplified Chinese translations and tests for classification and rendering were added.

Changes: Native Runtime Labeling

Layer / File(s) Summary
Native runtime classification and label
frontend/src/v2/components/V2AgentRuntimeGrants.tsx, frontend/src/i18n/locales/en.json, frontend/src/i18n/locales/zh-CN.json, frontend/src/v2/__tests__/V2AgentRuntimeGrants.test.tsx
describeRuntime returns native for native runtimes. The runtime label map and locale files provide the translated label. Tests check classification and rendered text.

Priority: Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Possibly related issues

Possibly related PRs

Merge Risk: Minimal · up to 40df8

Native runtimes now display the translated native label while existing runtime labels and controls remain supported.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: displaying the native engine label in agent Settings.
Description check Passed The description directly explains the native runtime label change, related translations, tests, and verification results.
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.
Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Usage-based review receipt

  • Mode: Continue automatically
  • Reviewed files: 4
  • Waived: $1.00 (charged $0.00)
  • View usage details

Note

This review exceeded your plan’s limits and used usage-based reviews—free during trial, billed after paid activation unless disabled. Manage usage-based reviews.

Comment @coderabbitai help to get the list of available commands.

@lilyshen0722 lilyshen0722 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#2593 TASK-460 at 832cc97 — CODE PASS

Settings reads installation.runtime.runtimeType into V2AgentRuntimeGrants. The new native branch precedes the host: cloud fallback, so native agents, including Scout, display “Native engine”; hosted, internal, daemon and CLI classification retain their prior paths. Both locale keys are present, and the focused render test checks the native label and absence of “Hosted”. I found no code blocker in this delta. The author reports 13/13 focused tests, frontend typecheck and scoped lint green; CI is still running and is a separate gate.

Written by Sable

Written by Sable, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf

GATE: PASS

@lilyshen0722
lilyshen0722 added this pull request to the merge queue Oct 24, 2026

@lilyshen0722 lilyshen0722 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UX-GATE: PASS @ 832cc97
ux-lead render gate (Signal), on behalf of lily-shen's pod. I built the head and main locally (bf0bd59) and rendered the Settings Runtime section on a fixture with zero network: 0 aborted requests, 0 page errors, and the one harness miss is the same on both builds. The head bundle carries 原生引擎.

  • A native seat (Scout's shape) shows "How it runs · Native engine" in en and "运行方式 · 原生引擎" in zh. Main showed "Hosted" / "托管运行". Section geometry matches main exactly: 912×144 at 1440 and 290×188 at 390. Nothing overflows, and scrollWidth equals clientWidth.
  • A wrapper seat is byte-for-byte unchanged in text ("On a computer, via the daemon · Codex"). Per the code and the D44 audit's walk table, a Run it here agent (runtimeType: hosted, engine native) still reads "Hosted".

Non-blocking copy note: "engine" appears nowhere else in user-facing copy, so this row adds an internal word for what is really "Commonly runs this one itself". "Built into Commonly" / "Commonly 内置" says the same thing in the words the BYO chooser already uses ("on Commonly"). If you take it, it's a copy-only delta and I'll restamp quickly.

Written by Ux Lead, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf

GATE: PASS

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 24, 2026
…e-label

Co-authored-by: Polish <WyJwb2xpc2giLCJkZWZhdWx0Il0@agents.commonly.invalid>
Agent-Model: codex/gpt-6-sol/medium

# Conflicts:
#	frontend/src/v2/components/V2AgentRuntimeGrants.tsx

@lilyshen0722 lilyshen0722 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CODE PASS at 40df81e

Re-gated the checked-out merge head. The conflict resolution preserves main's managed === false wrapper classification as Single CLI, retains managed/default wrappers as daemon, and adds the previously reviewed native branch before the cloud-host fallback. Hosted/internal behavior is unchanged. Settings passes runtimeManaged into the component, so the preserved branch has its consumer data. Both English and Chinese native labels match the earlier reviewed head.

Compared with main parent 5d1a67d, the component is exactly main plus the native mode type, native classification branch and label-map entry. Compared with earlier PASS head 832cc97, its component/test changes are the inherited managed flag and unmanaged-wrapper assertion. No CSS or token files changed. No inline CodeRabbit threads were present at the final check.

Commands/checks run with Node 22:

  • git fetch origin +pull/2593/head:refs/sable-review/2593
  • git worktree add --detach /tmp/commonly-gate-2593-40df81e6 refs/sable-review/2593
  • git fetch origin 832cc97
  • git diff 5d1a67d...HEAD -- frontend/src/v2/components/V2AgentRuntimeGrants.tsx frontend/src/v2/tests/V2AgentRuntimeGrants.test.tsx frontend/src/i18n/locales/en.json frontend/src/i18n/locales/zh-CN.json
  • git diff 832cc97 HEAD -- frontend/src/v2/components/V2AgentRuntimeGrants.tsx frontend/src/v2/tests/V2AgentRuntimeGrants.test.tsx
  • Read the complete component, focused tests and Settings runtime consumer.
  • Python assertions comparing the merged component to main plus the three native-label additions, and checking both locale values against the earlier head (pass).
  • cd frontend && CI=true ./node_modules/.bin/jest --watchAll=false --runInBand src/v2/tests/V2AgentRuntimeGrants.test.tsx (13/13)
  • cd frontend && ./node_modules/.bin/tsc --noEmit (pass)
  • cd frontend && ./node_modules/.bin/eslint src/v2/components/V2AgentRuntimeGrants.tsx src/v2/tests/V2AgentRuntimeGrants.test.tsx (zero errors; two existing JSX extension warnings)
  • git diff --check (clean)
  • gh pr view 2593 --repo Team-Commonly/commonly --json headRefOid (matches reviewed SHA)

The initial npm test wrapper started a broad suite instead of forwarding the focused Jest arguments; it was interrupted and replaced by the direct focused Jest command above. This verdict does not claim a completed full-suite run or a browser render.

Credit: Polish conflict resolution and implementation; Sable code re-gate.

Written by Sable, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf

GATE: PASS

@lilyshen0722 lilyshen0722 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UX-GATE: PASS @ 40df81e
ux-lead render gate (Signal), on behalf of lily-shen's pod. This is a re-gate with renders. The head moved from 832cc97 by a merge of main, and that merge resolved a conflict in V2AgentRuntimeGrants.tsx, so I did not carry the old stamp.

Code. en.json, zh-CN.json and the test have patch-ids identical to 832cc97 (7b7bbeee / a8eaa1be / 639b9ef8). The component's patch-id moved (8fdefb42 → 984d3f72), but the PR's added and removed lines are unchanged. The only difference is the context line from #2573 (type === 'wrapper' ? (runtime.managed === false ? 'cli' : 'daemon')), which now sits inside the hunk. The resolution keeps #2573's wrapper branch first and this PR's native branch second, so the unmanaged-wrapper case still reaches cli.

Renders. I built the head and its merge base 5d1a67d locally and rendered the Settings Runtime section on a zero-network fixture: 0 aborted requests, 0 page errors, and the same single harness miss on both builds. Only the head bundle contains 原生引擎.

  • A native seat reads "How it runs · Native engine" (en) and "运行方式 · 原生引擎" (zh) at 1440 and at 390 zh. Base reads "Hosted" / "托管运行". Section geometry equals base and my earlier gate: 912×144 at 1440 and 290×188 at 390. Nothing overflows, and scrollWidth equals clientWidth.
  • The wrapper seat (Codex) is unchanged: "On a computer, via the daemon · Codex", 912×266. Its PNG is byte-identical to a second render of the base build. The only head-vs-base pixel delta is in the native <select> text, and the same delta appears between two runs of the base build itself.

The non-blocking "engine" copy note from my 832cc97 review stands.

Written by Ux Lead, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf

GATE: PASS

@lilyshen0722
lilyshen0722 added this pull request to the merge queue Oct 24, 2026
Merged via the queue into main with commit f7aa4bf Oct 24, 2026
21 checks passed
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.

1 participant