fix(workspace): keep unmatched focus labels from selling a no-op - #880
fix(workspace): keep unmatched focus labels from selling a no-op#880cursor[bot] wants to merge 8 commits into
Conversation
Replace the stub rehearsal-priorities card with role-and-section pairs so a player can see what to lock in before the room starts. Prefer high priority, then medium, then focus sections, and never turn blank or none sentinels into instructions. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Repeated verse labels no longer consume the third rehearsal-priority slot, and empty copy now points at the section roadmap instead of a no-op role click. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Clicking a named role-and-section pair selects that role and focuses the matching section so players can jump from the priority card into the part they need to lock. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Fallback focus labels now jump to the first matching section so players can still act when analysis only names a section, not a role pair. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Omit focus labels that do not match a roadmap card so a missing bridge cannot clear verse focus. Scroll the named section into view when a lock-in pair or fallback label is opened. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
There was a problem hiding this comment.
Stale comment
Base-branch correction needed
open_git_propened this againstmain. Gitflow requiresdevelop(acdbea63). Retarget the base todevelopbefore treating this as the lock-in landing vehicle.This head (
a0c2e612) includes #877 plus unmatched-focus honesty and roadmapscrollIntoView. Prefer it over #877 and #874 once the base isdevelop.Do not treat this comment as approval. Exact-head CI and an independent non-author last-push review are still required. Do not mix stem-lane work here.
Sent by Cursor Automation: Fix Issues
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
Stale comment
Review (head
a0c2e612, base nowdevelop)This PR was opened against
main, which produced a 230-file false tree. It is now retargeted todevelop@acdbea63. The real diff is 10 files (+764/-10) and matches the lock-in residual that #877 left open.Verified on the develop diff:
- Unmatched focus labels are omitted, so a missing
bridgecannot be sold as a roadmap action.handleFocusSectionActivateonly writes a section id when a card matches; it no longer assignsnulland wipe verse focus.- Blank/
nonefirst-section sentinels fall through to a real entrance.- Lock-in pair and focus-label clicks mark
aria-currentand callscrollIntoView.- Late Night Set high-priority pairs, repeated-verse third slot, and ko+en empty copy stay honest.
- Storybook inventory is
Workspace/Rehearsal Priorities.No Critical findings on this head. GitHub blocks same-actor approval, so this is COMMENT only. Prefer this over #874. #877 is closed. Do not mix stem-lane placeholder work onto this head. Merge only after exact-head CI on
a0c2e612and an independent non-author approval.Sent by Cursor Automation: Fix Issues
There was a problem hiding this comment.
Stale comment
Review at
a0c2e612The residual fix itself is the right slice: omit unmatched focus labels, skip
nonefirst-section sentinels, and scroll the named roadmap card into view.Do not merge #880. The Gitflow base is
main, so the published diff is not the lock-in residual. Landing vehicle is #88243cb9438vsdevelop@acdbea63(same residual on the protected develop tip). Prefer #882 over #880 and #874.Do not open a third residual-fix PR. Do not mix stem-lane work onto this slice. Do not self-approve.
Sent by Cursor Automation: Fix Issues
There was a problem hiding this comment.
Review at a0c2e612 vs develop@acdbea63
Base is develop. Earlier notes that preferred #882 because this PR targeted main are stale. #880 is the lock-in landing vehicle. Prefer it over draft #882 (43cb9438) and draft #874 (c646037d). #877 is closed. Do not open a third residual-fix PR. Do not mix stem-lane or #776 work onto this head.
Verified on the develop diff (10 files, +764/−10):
collectFocusSectionLabelsomits a label unlessfindSectionIdForFocusLabelreturns an id, sofocusSections: ["verse", "bridge"]shows only verse.handleFocusSectionActivatewrites only insideif (sectionId)and cannot assignnullor wipe verse focus.- Blank/
none/NONEsentinels are skipped for lock-in names, focus labels, and the first-section fallback. - Lock-in pairs de-dupe by display text and
role.id:section.id. Late Night Set staysBass Guitar · verseandKeyboard 1 Right Hand · verse; a repeated verse leaves the third slot asLead Vocal · chorus. - Named roadmap cards get
aria-current="true"andscrollIntoView. - ko+en empty copy points at the section roadmap. Untrusted strings render as React text nodes only. No new file, URL, subprocess, IPC, WebView, model, database, or dependency path.
No Critical or Important findings on this head.
Follow-ups after merge, not this slice: assert queryByText("bridge") in the omit test; honor prefers-reduced-motion on roadmap scroll; replace sequential .replace in aria-labels with the single-pass interpolator #744 already owns.
This comment is not approval. GitHub blocks same-actor approval. Merge only after exact-head CI on a0c2e612 and a qualifying independent non-author last-push review.
Sent by Cursor Automation: Fix Issues


Closed as proven duplicate of canonical #874
Exact evidence before closure:
a0c2e61239aa1a24d33b5d2a3529ee4c73daecd9and the incorporated fix(workspace): keep unmatched focus labels from selling a no-op #882/feat(workspace): name the parts to lock in first #874 head43cb9438d6338890a218f2d3b7c4ba74199adb00are sibling commits with the same parentc646037d390ed92dfe12c4416e8eb9874cc03b6b.1e75a42393589644ebcf97cab7e0b193c82c9ad4; the different commit SHAs reflect commit metadata, not a semantic/file delta.43cb9438…, therefore it now owns the exact same tree and all fix(workspace): keep unmatched focus labels from selling a no-op #880 behavior.mainis also superseded by live metadata: the PR actually targets protecteddevelop.No checks/reviews transfer from this duplicate. Canonical #874 must use fresh exact-head evidence only.