feat(workspace): name tonight's first groove change on the map - #1122
feat(workspace): name tonight's first groove change on the map#1122seonghobae wants to merge 28 commits into
Conversation
Name the first consecutive feel change on the ready rehearsal map and tell the player to count the new groove in before that section. When the form holds one feel, keep the same count-in instead of inventing a reset.
📝 WalkthroughWalkthrough첫 named groove 변경을 계산하는 유틸리티를 추가했습니다. Workspace에는 첫 그루브 상태 요약을 추가했습니다. SectionRoadmap에는 도착 섹션의 다음 카운트인 안내를 추가했습니다. 영어와 한국어 번역 및 관련 테스트와 문서를 갱신했습니다. Changes그루브 안내
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🟡 Moderate · up to Repeated section labels can cause the next count-in guidance to appear on multiple roadmap cards instead of only the actual destination section. The PR is not merge-ready until destination matching uses a stable section identity or the behavior is explicitly accepted. Sequence Diagram(s)sequenceDiagram
participant Player
participant Workspace
participant firstGrooveChange
participant SectionRoadmap
Player->>Workspace: 리허설 곡 열기
Workspace->>firstGrooveChange: 곡의 sections 분석
firstGrooveChange-->>Workspace: 첫 그루브 상태 반환
Workspace-->>Player: 그루브 요약 카드 표시
Workspace->>SectionRoadmap: 곡과 그루브 상태 전달
SectionRoadmap-->>Player: 도착 섹션의 다음 카운트인 표시
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 6 files. (6 skipped: 6 unsupported.)
✨ Finishing Touches 💡 1📝 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 |
|
Noema 실패 원인을 중앙 리뷰 어댑터에서 재현했습니다. 문제는 최초 요청과 repair retry가 모델에 허용된 수정은 정확한 변경 좌표를 파일·LEFT/RIGHT별 범위 JSON manifest로 제공하되, 후단 검증을 느슨하게 하거나 잘못된 좌표를 보정·삭제하지 않습니다. 선행 커버리지 기준선 복구 PR ContextualWisdomLab/.github#1610 병합 후 #1612를 병합하고, 이 PR의 동일 head에서 Noema를 다시 실행해 실제 canary를 확인하겠습니다. |
|
Exact-head RCA/fix: hosted release-preflight run |
Canonical rehearsal-map change owner
This PR is the single current writer for the overlapping first-change rehearsal-map boundary previously split across #1122, #1124, and #1127. It owns one buyer-visible change surface and one roadmap next-action model rather than three sibling micro-PRs editing the same Workspace, SectionRoadmap, locales, and product docs.
Exact current identity
develop@749511c3ad4000090048718f685c6bee6b3d2c25.feat/workspace-first-groove-change.21f38bfcaf92c59c56675fb9d4f54197fcf817db.Mounted product outcome
The ready workspace keeps the existing playable-range decision separate, then presents groove, section length, and confidence under one
Tonight's first changes/오늘 먼저 확인할 변화surface. Each row preserves its own accessible label and exact next-action semantics. Section Roadmap likewise renders one compact next-action area per destination card while preserving stable-ID targeting for groove, duration, and confidence.The duration path includes the transferred #1124 review repair: legacy migration compatibility placeholders are marked inside the project-load adapter and rejected as measured timing authority. An explicit measured one-second section remains valid, while a synthesized
{0,1}legacy placeholder cannot become rehearsal guidance. Named missing/invalid timing fails closed instead of bridging measured sections.Verified succession
The former sibling writers are already closed unmerged after their valid behavior/test requirements were transferred here:
8f468438825838ad43b6bc57040e0c91e55769ba: bounded integer time-range validation, duplicate-ID rejection, first change/hold semantics, literal interpolation, stable destination identity, synthetic timing provenance, and nativeload_projectpreservation are retained by this canonical branch.bf4edf83f24a69818df92f076d879b9b3c5c7c13: named low/medium/high validation, duplicate-ID rejection, first change/hold semantics, literal interpolation, stable destination identity, and localized confidence words are retained by this canonical branch.firstChangesIntegration.test.tsxpreserves the buyer-visible integration contract for held/change/missing duration and confidence behavior, EN/KO labels, coexistence with groove, and destination-only roadmap actions for repeated labels.No #1124/#1127 check, review, approval, or predecessor evidence transfers to this head. Those PRs being closed does not make #1122 merge-ready.
Current verification boundary
Fresh exact-head check inventory currently contains 31 check-runs for
21f38bfcaf92c59c56675fb9d4f54197fcf817db. Required lanes including Windows/macOS build and OSV were still queued at the latest refetch;publish-manual-pr-evidence-statusis skipped. Queued/skipped evidence is non-passing.Historical automated reviews on predecessor heads remain historical. No self-approval or protection bypass is used. Merge requires a qualifying independent non-author approval covering the last push plus every applicable required exact-head gate at terminal success and zero valid unresolved current-head findings.
Ownership boundary
This consolidation does not replace #991 first-groove guidance, #828/#770 MIR accuracy, #811 CLI authority, #897 Storybook/design-token ownership, or #971/#961 active-player transport. It adds no new filesystem, network, subprocess, model, persistence, or playback authority.
Merge gate
Keep unmerged until this unchanged exact head has all applicable repository and central CI/build/release/security/SAST/SBOM/supply-chain/coverage/review gates terminal-success, zero valid unresolved actionable findings, exact required owned coverage/docstring evidence, and a qualifying independent non-author last-push approval under ordinary branch protection. Queued, pending, skipped-required, cancelled, failed, neutral, predecessor-head, protected-base, model-only, self/author, status-only, or administrative-bypass evidence is non-passing.