Skip to content

feat(i18n): localize Workspace controls and harden interpolation - #744

Draft
seonghobae wants to merge 29 commits into
developfrom
feat/i18n-workspace-buttons-12938137214845538471
Draft

feat(i18n): localize Workspace controls and harden interpolation#744
seonghobae wants to merge 29 commits into
developfrom
feat/i18n-workspace-buttons-12938137214845538471

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

What

Localize the buyer-facing Workspace export, stem-player, loop, solo, mute, and transcription controls in English and Korean while keeping translation interpolation literal and single-pass.

The change also:

  • removes redundant translation-key assertions from the Workspace component;
  • provides a localized fallback when no active role name is available;
  • replaces caller-shaped regular-expression interpolation with single-pass literal placeholder substitution; and
  • adds regressions for repeated placeholders, cross-variable placeholder-looking replacement text, replacement values containing $&, brackets, and regex metacharacters, plus the preserved Korean export-control copy from superseded 작업 공간 내보내기 버튼 다국어 지원 #893.

Exact current scope

Current exact head: 0ca00b110d046f8101b01a13fcc3f10d57feebd2.
Protected base: develop@acdbea6344fe1231c39535b575f4de35e4c607c9.

Exactly seven files differ from protected develop: CHANGELOG, Workspace implementation/tests, translator implementation/tests, and the English/Korean locale dictionaries. No JavaScript dependency/root-lock, workflow, database, model, filesystem/network authority, or vulnerability-suppression delta belongs to this branch; canonical dependency remediation remains #783-owned.

Test-first repairs and supersession preservation

Literal interpolation

  • RED 93e9719b838824ad5d92058f90cb4a1db502f3d2 proves a replacement such as roleName="{sectionLabel}" must remain literal while the original template's {sectionLabel} is independently replaced.
  • GREEN 66d170ca5afeb29edf5635ae409083834cf8be00 performs one template pass using a fixed placeholder grammar so inserted values are never rescanned.
  • 01bcc65baba6200d67bf040b2bb9e742c661680c scoped CHANGELOG to this dependency-neutral i18n slice.

Preserve unique copy before closing duplicate #893

Exact semantic comparison showed #893 localized the same export controls already owned here and otherwise duplicated a narrower slice. Its only useful semantic difference was clearer Korean action copy.

  • RED/test-only 013559bb2bded4d90f8740e2a6b09247c4a8d74f adds exact accessible-name assertions for 큐 시트 내보내기 (CSV), 차트 요약 내보내기 (JSON), and 핸드오프 데이터 내보내기 (JSON) against this existing canonical branch.
  • GREEN/current 0ca00b110d046f8101b01a13fcc3f10d57feebd2 updates the canonical Korean locale values to satisfy that buyer-facing contract.
  • After preserving the unique copy here, 작업 공간 내보내기 버튼 다국어 지원 #893 was closed as a proven superseded duplicate rather than left as a competing key set for the same controls.

Exact-current-head verification

All evidence below binds only to 0ca00b110d046f8101b01a13fcc3f10d57feebd2; predecessor-head checks are historical only.

At the latest refresh:

  • terminal-success: bandit, SAST Semgrep, secret-scan-gate;
  • in progress: ci, release, aggregate Security Scan;
  • queued: security-audit, sbom;
  • build-baseline required an exact-head rerun after the first run concluded cancelled despite substantial successful matrix work.

The cancelled build-baseline was inspected before rerun. macOS arm64 and Windows amd64 had succeeded. The cancelled Windows arm64 job's full log showed checkout of PR merge 4e9d8e371719be0b7146590709d469f59d729477, Node/Python/Rust setup, npm ci, frontend build, Tauri release compilation, NSIS packaging, artifact packaging/upload, cache save and cleanup all completing without a demonstrated source/build failure; nevertheless its cancelled conclusion is non-passing. The macOS amd64 job was cancelled while the native shell build was in progress and its old blob log was unavailable through the connector. Only that inspected macOS amd64 job was rerun; its replacement job is queued. No cancelled/queued/in-progress matrix state is counted as success.

If any current exact-head security workflow later fails, inspect its exact job/check-run/annotation/log before classification. Because this branch has no dependency/lock delta, a recurrence of the protected-base nanoid / pdfjs-dist / undici findings may be attributed to #783 only after that current-head evidence confirms the same causal boundary; never suppress or duplicate them here.

Central review / coverage dependency

Historical ContextualWisdomLab/.github#1008 is closed unmerged and transfers no evidence. Current read-only central prerequisite order is .github#939 → .github#1020; neither unmerged PR can be treated as inherited protected-central-main behavior. Do not spam unchanged reviewer-agent dispatches while that dependency chain remains unresolved. Fresh central coverage/review must bind to the then-current BandScope head after the prerequisite reaches protected central main.

There is no qualifying independent non-author last-push approval on this exact head.

Security Notes

Locale templates and dynamic labels are treated as data. Interpolation performs one pass over the original template using a fixed placeholder grammar; caller-controlled variable names are not compiled into regular expressions and inserted values are not recursively interpreted. React remains the text/HTML escaping boundary. No new PII persistence or telemetry is introduced.

Merge gate

Keep Draft and unmerged until the unchanged then-current head has:

  • all applicable repository/central CI, build, coverage/docstring, SAST/security, SBOM/supply-chain, package/release gates terminal-success;
  • exact owned statement and branch coverage where required by the live contract;
  • fix(security): establish canonical npm, PDF.js, Nanoid, and Undici baseline #783 integrated into protected develop and this branch revalidated against that clean dependency baseline;
  • .github#939 → .github#1020 integrated through protected central main and fresh central coverage/review evidence;
  • zero valid unresolved findings/threads;
  • qualifying independent non-author last-push approval; and
  • ordinary branch-protection acceptance without bypass.

Queued, in-progress, cancelled, skipped-required, failed inherited-base, predecessor-head, protected-base, model-only, self/author, or administrative-bypass evidence is not success.

@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Workspace의 내보내기, 스템, 반복, 솔로, 음소거, 전사 컨트롤을 번역 키로 변경했습니다. createTranslator는 명명된 플레이스홀더를 치환합니다. 영어·한국어 문자열과 관련 테스트를 추가했습니다.

Changes

Workspace localization

Layer / File(s) Summary
번역 변수와 로케일 문자열
apps/desktop/src/i18n/index.ts, apps/desktop/src/i18n/index.test.ts, apps/desktop/src/locales/*/common.json
createTranslator{name} 형식의 플레이스홀더를 치환합니다. 영어와 한국어 로케일에 Workspace 컨트롤 문자열을 추가했습니다. 치환 값의 특수 문자와 비재귀 동작을 테스트했습니다.
Workspace 컨트롤 연결
apps/desktop/src/features/workspace/Workspace.tsx, apps/desktop/src/features/workspace/Workspace.test.tsx
내보내기, 스템, 반복, 솔로, 음소거, 전사 컨트롤이 번역 키를 사용합니다. 전사 안내 문구는 현재 역할명을 표시합니다. 비활성 전사 버튼의 접근성 상태와 제목을 테스트했습니다.
변경 기록
CHANGELOG.md
Unreleased 항목에 컨트롤 현지화와 Undici 업데이트를 기록했습니다.

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

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 Workspace 컨트롤 현지화와 보간 로직 강화라는 변경사항의 핵심을 정확하고 간결하게 설명합니다.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/i18n-workspace-buttons-12938137214845538471

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.

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 160ef9f107325010736c66af5f76f53415b6f4f2.

  • Head SHA: 160ef9f107325010736c66af5f76f53415b6f4f2

  • Workflow run: 30863645738

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (6 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (6 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent

opencode-agent Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 779b53520d7d593138660fa526f0fa5e955e17ca
  • Workflow run: 31843904913
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 779b53520d7d593138660fa526f0fa5e955e17ca.

  • Head SHA: 779b53520d7d593138660fa526f0fa5e955e17ca

  • Workflow run: 31843904913

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (7 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (7 files)"]
  R1 --> V1["required checks"]
Loading

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/desktop/src/features/workspace/Workspace.test.tsx`:
- Line 99: Set the test locale to English at the start of the relevant Workspace
test before querying accessible names. Update the transcribeBass and
transcribePart assertions to use their English labels, or consistently derive
the expected labels from the configured locale.

In `@apps/desktop/src/features/workspace/Workspace.tsx`:
- Around line 397-405: Update the non-Bass unavailable transcription Button to
use t("transcribePart") instead of the hardcoded t("transcribeBass"). Add an
aria-label that communicates the current role name and transcription-coming-soon
status, matching the existing title context and fallback role behavior.

In `@apps/desktop/src/i18n/index.test.ts`:
- Around line 80-87: Update the “replaces every occurrence of a named
placeholder” test to use a translation string containing {roleName} multiple
times, then assert that every occurrence is replaced without recursively
replacing placeholder text inside the value. Alternatively, rename the test to
reflect single-occurrence interpolation if repeated-placeholder behavior is not
being tested.

In `@apps/desktop/src/locales/en/common.json`:
- Around line 157-161: Update the soon-status locale entries playStemSoon,
loopSectionSoon, and soloMuteOthersSoon to use complete, natural English
sentences that clearly state the feature is coming soon, such as adding “is”
before “coming soon.” Keep the non-soon labels unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1af43685-2a86-421a-9e33-211bc617e294

📥 Commits

Reviewing files that changed from the base of the PR and between acdbea6 and b54b879.

📒 Files selected for processing (6)
  • apps/desktop/src/features/workspace/Workspace.test.tsx
  • apps/desktop/src/features/workspace/Workspace.tsx
  • apps/desktop/src/i18n/index.test.ts
  • apps/desktop/src/i18n/index.ts
  • apps/desktop/src/locales/en/common.json
  • apps/desktop/src/locales/ko/common.json

Comment thread apps/desktop/src/features/workspace/Workspace.test.tsx
Comment thread apps/desktop/src/features/workspace/Workspace.tsx Outdated
Comment thread apps/desktop/src/i18n/index.test.ts
Comment thread apps/desktop/src/locales/en/common.json Outdated
@seonghobae seonghobae changed the title feat: Workspace 컴포넌트 하드코딩 텍스트 i18n 적용 feat(i18n): localize Workspace controls and harden interpolation Aug 4, 2026
@seonghobae
seonghobae enabled auto-merge (squash) August 4, 2026 03:39
@opencode-agent
opencode-agent Bot disabled auto-merge August 4, 2026 03:40
@seonghobae
seonghobae force-pushed the feat/i18n-workspace-buttons-12938137214845538471 branch from fad3107 to 87b3455 Compare August 4, 2026 04:46
@seonghobae
seonghobae enabled auto-merge (squash) August 4, 2026 04:47
@seonghobae
seonghobae marked this pull request as draft August 4, 2026 06:11
auto-merge was automatically disabled August 4, 2026 06:11

Pull request was converted to draft

@seonghobae
seonghobae marked this pull request as ready for review August 4, 2026 06:11
@seonghobae
seonghobae enabled auto-merge (squash) August 4, 2026 06:12
@seonghobae
seonghobae dismissed opencode-agent[bot]’s stale review August 4, 2026 11:01

Dismissed because this review evaluated an obsolete head and failed solely on the superseded central coverage environment. The current head has successful repository CI/security/build evidence; a fresh independent current-head approval remains required before merge.

- GitHub Actions (Trivy fs, npm audit) 실행 중 발견된 심각도 높음(High) 보안 취약점(CVE-2026-16633)을 해결하기 위해 pdfjs-dist 패키지를 6.2.108 버전으로 업데이트했습니다.
- package-lock.json 파일 내에서 버전을 명시적으로 재설정하여 의존성 충돌을 방지했습니다.

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 4c09b5389c186181e6d9bae93ac4ae7485a3e365.

  • Head SHA: 4c09b5389c186181e6d9bae93ac4ae7485a3e365

  • Workflow run: 31183546541

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (8 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (8 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 7ab1ea1d8e41ad789448d4ad498d94619960ab45.

  • Head SHA: 7ab1ea1d8e41ad789448d4ad498d94619960ab45

  • Workflow run: 31547785167

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (9 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (9 files)"]
  R1 --> V1["required checks"]
Loading

Copy link
Copy Markdown
Collaborator Author

@opencode-agent Please re-review exact current head 7ab1ea1d8e41ad789448d4ad498d94619960ab45. Repository exact-head CI, Security Scan, SAST, security-audit, SBOM and release workflows are all green, and all inline review threads are resolved. The latest central coverage-evidence failure in run 31547785167 was infrastructure-only: Could not materialize base Python locks: trusted uv archive download failed: HTTPError (job 93964595842), before repository test/docstring evidence could be measured. Re-run exact-head evidence and do not reuse predecessor-head results.

Copy link
Copy Markdown
Collaborator Author

@opencode-agent address

Operate only if the live head is exactly 7ab1ea1d8e41ad789448d4ad498d94619960ab45; otherwise stop without writing and report the new head. Re-verify the base-to-head diff before editing. This i18n PR is still polluted by dedicated security-baseline work: apps/desktop/package.json changes pdfjs-dist from protected-develop 6.1.200 to ^6.2.108, and package-lock.json is also present. PR #783 now owns the canonical npm/PDF.js/Undici baseline, so those two paths must be restored exactly from protected develop here. Remove any dependency-security-specific CHANGELOG wording while preserving the Workspace localization and literal interpolation product slice.

The final base-to-head paths should be exactly CHANGELOG.md, apps/desktop/src/features/workspace/Workspace.test.tsx, apps/desktop/src/features/workspace/Workspace.tsx, apps/desktop/src/i18n/index.test.ts, apps/desktop/src/i18n/index.ts, apps/desktop/src/locales/en/common.json, and apps/desktop/src/locales/ko/common.json. Preserve the already-addressed locale determinism, non-Bass accessible naming/status, repeated-placeholder non-recursive interpolation, and natural English soon-status regressions. Run desktop lint, strict typecheck, complete measured tests at 100% owned production statement/branch coverage, production build, and repository quickcheck before committing the minimal cleanup to this existing branch. Then request fresh exact-current-head CI/security/SBOM and central review; do not reuse predecessor-head evidence.

@seonghobae
seonghobae marked this pull request as draft August 14, 2026 10:45
@google-labs-jules

Copy link
Copy Markdown

@coderabbitai review

Please review exact current head 54577e1369187d60a5f8a8c51028792b50b340c5. Every repository workflow succeeded. Recheck the English/Korean Workspace labels, deterministic test locale, non-Bass transcription name and state, literal non-recursive placeholder substitution, repeated placeholder coverage, accessible names/tooltips, and the bounded Undici 7.29.0 root-lock update. The temporary repair workflow is no longer part of the final product tree.

@opencode-agent Please rerun exact-head review after the central npm-workspace coverage fix lands; do not reuse previous failed coverage evidence.

@cwl-noema-review Please independently review this exact head. Merge remains subject to current-head branch protection and qualifying non-author approval.

Acknowledged.

@google-labs-jules

Copy link
Copy Markdown

@opencode-agent @cwl-noema-review Please independently re-review exact current head 54577e1369187d60a5f8a8c51028792b50b340c5. All repository-local CI, build, release, npm/Python/Rust security audit, Bandit, Semgrep, Security Scan, secret scan, and SBOM workflows succeeded on this SHA; every inline finding is resolved or outdated. The remaining central coverage failure is the npm-workspace lock-owner prerequisite tracked in ContextualWisdomLab/.github#748.

Acknowledged.

Copy link
Copy Markdown
Collaborator Author

@opencode-agent Re-evaluate exact current head 779b53520d7d593138660fa526f0fa5e955e17ca. The unrelated apps/desktop/package.json PDF.js change and root npm lock/Undici drift were restored exactly from protected develop, leaving only the intended seven-file Workspace/i18n/interpolation slice. Treat all predecessor-head checks and reviews as stale, publish same-head coverage/docstring evidence, and submit a formal review decision only from this head.

@seonghobae
seonghobae marked this pull request as ready for review August 14, 2026 21:36

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 779b53520d7d593138660fa526f0fa5e955e17ca.

  • Head SHA: 779b53520d7d593138660fa526f0fa5e955e17ca

  • Workflow run: 31843904913

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file (7 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (7 files)"]
  R1 --> V1["required checks"]
Loading

@seonghobae
seonghobae marked this pull request as draft August 14, 2026 22:12
@opencode-agent

Copy link
Copy Markdown
Contributor

Queued @opencode-agent for PR #744 at head 0ca00b110d046f8101b01a13fcc3f10d57feebd2. Central exact-name Actions artifacts are the durable dispatch ledger; existing review workflows remain authoritative for the final verdict and failure evidence.

@opencode-agent

Copy link
Copy Markdown
Contributor

Queued @opencode-agent for PR #744 at head 0ca00b110d046f8101b01a13fcc3f10d57feebd2. Central exact-name Actions artifacts are the durable dispatch ledger; existing review workflows remain authoritative for the final verdict and failure evidence.

@opencode-agent

Copy link
Copy Markdown
Contributor

Queued @opencode-agent for PR #744 at head 0ca00b110d046f8101b01a13fcc3f10d57feebd2. Central exact-name Actions artifacts are the durable dispatch ledger; existing review workflows remain authoritative for the final verdict and failure evidence.

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.

2 participants