feat(workspace): set up tonight's part before the first entrance - #910
seonghobae wants to merge 58 commits into
Conversation
Replace the inert Transcribe Bass control with a named setup action from setupNote, transposition, or simplification, then point at the first analyzed entrance on the groove map. Isolation stays fail-closed.
|
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. |
📝 WalkthroughWalkthroughWorkspace가 역할별 setup cue와 첫 transcription 진입점을 계산합니다. 사용자가 setup을 활성화하면 설정 카드로 이동하고, GrooveMap이 해당 음표를 강조합니다. 영어·한국어 안내와 관련 테스트 및 문서가 추가되었습니다. Changes역할 설정 및 진입점 안내
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🟡 Moderate · up to The change can arm setup without a valid first entrance and can describe non-Bass parts as Bass, while unavailable controls and groove-map keyboard focus do not provide reliable interaction feedback. This can misdirect tonight’s setup and weaken accessibility, so the PR is not merge-ready until these bounded issues are fixed. Sequence Diagram(s)sequenceDiagram
participant RoleSwitcher
participant Workspace
participant SetupCard
participant GrooveMap
RoleSwitcher->>Workspace: 역할 선택
Workspace->>SetupCard: setup cue와 시작 정보 표시
Workspace->>GrooveMap: entranceOnset 전달
SetupCard->>Workspace: 설정 활성화
Workspace->>GrooveMap: 첫 transcription 위치로 이동
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore 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 head61aa51f274c04d60289da7919a70d40155f2674d. -
Head SHA:
61aa51f274c04d60289da7919a70d40155f2674d -
Workflow run: 32136920512
-
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 (10 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (10 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs: component-contract.md"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: component-contract.md"]
R2 --> V2["docs review"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage evidence job did not run or did not publish coverage evidence. Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (10 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (10 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs: component-contract.md"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: component-contract.md"]
R2 --> V2["docs review"]
|
Make the canonical supply-chain Ruff formatting prerequisite actual ancestry of the Workspace/GrooveMap lane without duplicating source ownership. Preserve the buyer-visible loading/cancel truth repair unchanged. Signed-off-by: Seongho Bae <me@seonghobae.me>
Keep the concrete Workspace callback-stability candidate while removing the generated repository-wide “always use useCallback” rule and unsupported performance claims. Canonical adoption remains #910-owned and measurement-bound.
|
Fresh single-writer review of generated #1263 found one plausible owner-local performance delta and one invalid doctrine delta. I repaired #1263 to Draft, removed its Concrete causal path here: after a role is selected, Carrier/preservation: #1263 current |
|
Downstream owner-consolidation update: canonical GrooveMap performance lane #1170 now consumes this exact buyer-visible Workspace/GrooveMap contract instead of layering on stale protected behavior. #1170 current |
Consolidate #1170's unique max-offset helper, focused regression/geometry tests, and scoped performance doctoring into the canonical Workspace/GrooveMap owner while preserving #910 buyer-visible loading, cancellation, localization, role, and first-entrance semantics. Keep #1170 ancestry explicit; no force update. Signed-off-by: Seongho Bae <me@seonghobae.me>
Buyer-visible outcome
After a part is selected, the workspace turns existing
setupNote, transposition/range evidence, and the earliest real entrance into an executable setup action instead of leaving Transcribe Bass as a dead-end. Missing setup/start evidence fails closed; no transcription, stem playback, or parallel MIR authority is invented.Current buyer-truth repair
The same Workspace/GrooveMap lane repaired two misleading loading-state behaviors:
a3a6ab6442a353d04ab417f2163048758f9d780erequires no Cancel control when cancellation capability is absent and exactly one callback invocation when capability is supplied.9a5bf5dafbf821aec3f9e009bfa278dd7d142a10rejects fabricated45%progress in EN/KO loading copy.340bf2e8385b5731e1cc7b6c7ce93f1c4765e850adds optionalonCancel; the button exists only when that real capability is supplied. No cancellation backend is invented.103d2a2cbd6103e591489d4b336f82351e8837d0and48783c020231acb3672dc4ddd955fb37ed084380remove unsupported numeric progress from EN/KO resources.d49602760840e255d5893c1c23feafd58100b5a5makes the Figma/code contract explicit: no capability-less Cancel and no manufactured percentage.b5594975ae6d3087ca359cf76bcbb220491a7a0crestored full CHANGELOG history after an intermediate full-file write truncated older entries; the final net changelog delta is additive only.This repair does not add filesystem, network, subprocess, IPC, WebView, model, export, or analysis-cancellation authority. Without
onCancel, Cancel is omitted.Canonical formatter prerequisite / actual ancestry
The direct-
developgeneration exposed that this Workspace source itself was not the CI failure. Repositorycirun35731825321became terminal FAILURE only at Ubuntuci / build-and-testjob106832987895→Run quickcheck→ Ruff 0.15.5format --check, reporting exactly:services/analysis-engine/tests/test_supply_chain_policy.pyThe job had already passed documentation, Security Notes, security patterns, supply-chain verification, GitHub bootstrap, JS/TS lint, Python docstring checks and Ruff lint. #910 does not semantically own that Python file; canonical formatter owner is #1176 exact
8fe6b6d99c009527ef0bcba419e6f6debdb23c23.Accordingly #910 is now intentionally stacked on #1176 rather than copying the formatter repair:
bolt-performance-chart-export-13223013812255847379@8fe6b6d99c009527ef0bcba419e6f6debdb23c23.89de8e2ce8cba589fa9683c7c364d4c0c822e8fa.89de8e2c...has parents prior Workspace headb5594975...and repair(ci): format consolidated supply-chain policy test #1176 exact8fe6b6d...; the branch ref advanced withforce=false.test_supply_chain_policy.pyis no longer a feat(workspace): set up tonight's part before the first entrance #910-owned delta.This is an ancestry repair, not base-label bookkeeping. After #1176 normally reaches protected
develop, this lane must ordinary/non-force reconcile to that protected descendant and reacquire final exact-head/base evidence.Direct-
developexact-source evidence before stackingFor semantic head
b5594975ae6d3087ca359cf76bcbb220491a7a0c:build-baseline35731825256: SUCCESS; all Windows amd64/arm64 and macOS amd64/arm64 platform jobs completed successfully.Security Scan35731825235: SUCCESS.SAST Semgrep35731825263: SUCCESS.sbom35731825240: SUCCESS.ci35731825321: FAILURE, solely on the inherited repair(ci): format consolidated supply-chain policy test #1176 Ruff-format file described above; npm-lock validation and macOS rust-check succeeded.CodeQL PR35731825310: still queued/nonterminal at the final direct-head read.The clean CI install also again reported three moderate npm advisories; package/advisory identity and reachability remain the separate dependency-security owner, not the causal #910 failure.
The current stacked head
89de8e2c...has not yet produced repository-owned PR workflows because protected-target workflow admission does not materialize the same way on this feature-base stack. Zero runs are absence of evidence, not GREEN. No source-neutral wake commit, blind rerun, force-push, destructive rebase, self-approval or required-gate weakening is used.Security / accessibility / interaction notes
aria-live="polite".PR #905 overlaps the same Workspace/GrooveMap surface but remains a preservation lane. Its unique first-note/reduced-motion intent must be adopted through verified succession; its consumer-local timing/velocity policy must not override canonical shared admission.
Merge gate
Keep Draft until #1176 reaches protected ancestry, this branch is ordinarily reconciled without losing its Workspace/GrooveMap delta, and one unchanged final exact head has every applicable repository/central gate terminal-success, zero valid unresolved findings, material browser/a11y evidence, and a qualifying independent non-author last-push approval.
UI Delivery Gate: FAIL. The loading copy/action now matches real capability in source, but current stacked-head browser evidence is absent for pointer/touch/keyboard, focus/interaction state, responsive/400% zoom, forced colors, Narrator/VoiceOver, and KO/EN/JA/ZH/VI/ES/DE/FR rendered acceptance.
Commercial Release Gate: FAIL. The direct semantic head passed build/Security/Semgrep/SBOM and failed repository CI only on canonical #1176 formatting debt, now consumed by actual ancestry. #1176 protected integration, fresh final exact-head gates/review, real-audio MIR acceptance, crash-safe persistence, signing/notarization, provenance/reproducibility, immutable release and updater rollback remain open.