Skip to content

feat(chords): surface actionable rehearsal guidance - #776

Open
seonghobae wants to merge 11 commits into
developfrom
feat/chords-rehearsal-guidance-clean
Open

feat(chords): surface actionable rehearsal guidance#776
seonghobae wants to merge 11 commits into
developfrom
feat/chords-rehearsal-guidance-clean

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Buyer-visible gap

The current three-file implementation adds setup, simplification, and overlap-warning copy only to ChordsFeature, but that component has no production import or route in the current desktop application. The buyer therefore cannot reach the claimed guidance. It also hard-codes English labels despite the active Workspace using synchronized English/Korean locale dictionaries, and the active Workspace currently conflates a missing transpositionPlan with simplification.

Test-first reachability repair in progress

Exact temporary head: 899087bca3fa5d3268b3f22da1b6880900e60655.
Protected base: develop@acdbea6344fe1231c39535b575f4de35e4c607c9.

Temporary branch-only files:

  • .github/workflows/repair-pr-776-reachable-guidance.yml;
  • .github/scripts/repair_pr_776.py.

The bounded repair run 31883722100 is queued. It is designed to:

  1. restore ChordsFeature and its isolated test to protected develop, removing dead-view-only product claims;
  2. commit RED regressions against the production-reachable Workspace before changing implementation;
  3. require normalized setup, simplification, ordered overlap warnings, suppression of blank/case-insensitive none sentinels, and Korean labels;
  4. separate explicit transposition evidence from simplification evidence;
  5. render guidance only in the selected role's active Workspace and provide a named guidance region/list for assistive technology;
  6. update English/Korean locale dictionaries and CHANGELOG.md;
  7. run focused/full desktop tests, lint, strict typecheck, build, and repository quickcheck;
  8. delete both temporary repair files, commit GREEN, and push a new exact head.

Queued is not success. The earlier large inline-workflow attempt failed at workflow startup before creating a job; it made no product/test commit and was replaced by the minimal launcher above.

Intended product contract

  • guidance must be reachable from the production application, not only from an unmounted component;
  • missing evidence must not become an instruction, warning, or transposition claim;
  • source order for meaningful warnings is preserved without mutating the analysis payload;
  • labels tell English/Korean users the next rehearsal action;
  • dependency, lockfile, database, network, filesystem, model, and IPC authority remain unchanged.

Merge gate

Keep unmerged until the temporary repair self-deletes, the resulting exact head passes every repository and central required check, #783 establishes the protected-base dependency baseline, .github#1008 clears the central trusted-uv prerequisite, zero actionable current-head threads remain, a qualifying independent non-author last-push approval exists, and branch protection permits merge without bypass. Queued, failed-startup, predecessor-head, skipped-required, protected-base, self/author, or administrative-bypass evidence is not success.

Supersedes #773 only after protected merge.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 18 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c94e9889-8c99-4f16-afca-7b6e4d5d7ae9

📥 Commits

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

📒 Files selected for processing (5)
  • .github/scripts/repair_pr_776.py
  • .github/workflows/repair-pr-776-reachable-guidance.yml
  • CHANGELOG.md
  • apps/desktop/src/features/chords/index.test.tsx
  • apps/desktop/src/features/chords/index.tsx

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.

Copy link
Copy Markdown
Collaborator Author

@opencode-agent address

This feature is now Draft because exact head 63d7c10f8e5277939e846cb3e67d5d509ed3fb19 still has a failing required security-audit check and the new buyer-facing labels are hard-coded English. Keep the three-file product scope and preserve the normalization logic, but route Setup, Simplification, Overlap warnings, and any related accessible labels through the existing Korean/English translator contract. Add both-locale rendered tests, including empty/whitespace/case-insensitive none suppression and warning-order preservation.

Do not absorb the Undici update into this feature branch. After #751 merges, rebase onto the security-fixed develop, rerun the current head, and keep the diff free of package/lock/workflow changes. Replace generic style-only evidence with user-observable accessibility checks where possible. Require lint, strict typecheck, complete 100% measured tests, production build, npm audit, SBOM, SAST, Security Scan, current-head central coverage/reviews, and zero unresolved threads before marking Ready. No temporary writer workflow, permission/credential/model-routing change, merge, release, or protection change. Stop without mutation if the live head differs before writing.

@seonghobae
seonghobae marked this pull request as ready for review August 7, 2026 11:03

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

Please review exact current head 63d7c10f8e5277939e846cb3e67d5d509ed3fb19. Focus on role-scoped setup, simplification, and overlap guidance; whitespace and case-insensitive none suppression; accessible named articles; preservation of warning order; removal of dead chord collection; and the strict three-file scope with no authority or dependency expansion.

@opencode-agent Please review the same exact head after current-head checks complete. This is review-only: do not update branches, merge, release, or modify protection.

@cwl-noema-review Please independently review this exact head after required checks complete; do not reuse predecessor evidence.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@seonghobae I will review pull request #776 at the requested head. I will verify the specified behavior and scope constraints.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@seonghobae
seonghobae enabled auto-merge (squash) August 7, 2026 11:04

@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 63d7c10f8e5277939e846cb3e67d5d509ed3fb19.

  • Head SHA: 63d7c10f8e5277939e846cb3e67d5d509ed3fb19

  • Workflow run: 31198228227

  • 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 (3 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (3 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent

opencode-agent Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 0fb84177a7aed20372de0f50dfc8151045dcbe4b
  • Workflow run: 31586141897
  • 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 0fb84177a7aed20372de0f50dfc8151045dcbe4b.

  • Head SHA: 0fb84177a7aed20372de0f50dfc8151045dcbe4b

  • Workflow run: 31586141897

  • 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 (5 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (5 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent
opencode-agent Bot disabled auto-merge August 7, 2026 17:33

@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 0fb84177a7aed20372de0f50dfc8151045dcbe4b.

  • Head SHA: 0fb84177a7aed20372de0f50dfc8151045dcbe4b

  • Workflow run: 31586141897

  • 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 (5 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (5 files)"]
  R1 --> V1["required checks"]
Loading

Copy link
Copy Markdown
Collaborator Author

Scope cleanup is now exact at head 61438c94f4e2e5bfe998a226ddecde9619cdf372: the unrelated pdfjs-dist manifest bump and root lockfile drift were restored to protected-base content, so this PR now differs from develop only in CHANGELOG.md and the two Chords implementation/test files as its body states. Exact-new-head CI/security/review evidence is now running; predecessor-head approvals/checks are stale. Because current develop still carries the npm security findings being remediated by #783, do not reintroduce that dependency work here. Refresh this product branch after #783 lands, then require exact-refreshed-head checks plus a qualifying independent non-author last-push approval before merge.

Copy link
Copy Markdown
Collaborator Author

@opencode-agent Please run a fresh exact-head review and coverage pass on 61438c94f4e2e5bfe998a226ddecde9619cdf372. Do not reuse predecessor-head evidence. This branch is the bounded three-file Chords rehearsal-guidance slice; repository ci, release, SBOM, build-baseline, Bandit, Semgrep, and secret scan are successful on this head, while security-audit and Security Scan remain failed only because protected develop still carries the JavaScript dependency baseline being remediated in #783. Verify the role-scoped setup/simplification/overlap rendering, none suppression, stable warning order, accessible named articles, deletion of unused collection work, complete desktop tests/coverage, and current docstring/policy gates. Treat inherited base-security failures as blocking until #783 lands rather than copying dependency changes into this PR. Publish only exact-head evidence and do not approve unless your review contract is independently satisfied.

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@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 61438c94f4e2e5bfe998a226ddecde9619cdf372.

  • Head SHA: 61438c94f4e2e5bfe998a226ddecde9619cdf372

  • Workflow run: 31848217930

  • 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 (3 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (3 files)"]
  R1 --> V1["required checks"]
Loading

@seonghobae
seonghobae enabled auto-merge (squash) August 15, 2026 09:54
@opencode-agent
opencode-agent Bot disabled auto-merge August 15, 2026 10:54
- .github/workflows/repair-pr-776-reachable-guidance.yml

permissions:
contents: write
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