feat(workspace): name tonight's first riff plan on the map - #1018
feat(workspace): name tonight's first riff plan on the map#1018seonghobae wants to merge 9 commits into
Conversation
Name the corroborated part, owned riffPlan copy, labeled section, and time so the next rehearsal action is obvious. Open moves to the matching rendered map section. Do not invent riff copy from groove, cue, simplification, overlap, range, chords, function labels, setup notes, transposition, fill, tuning, dynamics, articulation, voicing, hook, or capo plans.
|
Warning Review limit reachedNext included review available in 14 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (32)
✨ Finishing Touches📝 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 |
|
Re-review request for exact head |
# Conflicts: # AGENTS.md # CHANGELOG.md # CLAUDE.md # apps/desktop/src/features/workspace/Workspace.tsx # apps/desktop/src/locales/en/common.json # apps/desktop/src/locales/ko/common.json
|
Resolved merge conflicts against origin/develop (749511c): union-merged AGENTS.md/CHANGELOG.md bullets, sentence-merged CLAUDE.md, kept both import sets in Workspace.tsx (FirstRiffPlanCallout + firstRangeSqueeze), unioned en/ko locale tails (JSON valid, en/ko symmetric). Merged legacy .Jules/palette.md into canonical .jules/palette.md, dropped alias. No conflict markers remain. Merge head: 96643cf. |
Product outcome
The mounted rehearsal workspace names tonight's first riff so a part can lock the figure before the room starts. Open moves to the matching rendered map section.
Customer-facing next action: Open Bass Guitar riff at 0:10 (demo). If no corroborated riff exists, stay on tonight's map for the next rehearsal cue.
Exact current identity
develop@acdbea6344fe1231c39535b575f4de35e4c607c9.45176f181a2ca78161a9c00a85469b752bffd58e.feat/workspace-first-riff-plan.Scope and trust boundary
riffPlancopy on an active, corroborated part plus labeled section and time.gettrap cannot substitute buyer-visible riff copy after the own-data check.timeRangedescriptor and itsstart/enddescriptor values are read once, validated as bounded positive-duration integers, and the validated snapshot suppliesatSeconds. A Proxygettrap cannot substitute a different displayed/navigation time after validation.behavior: auto.리프).Current review repair
Fresh current-head review found that predecessor code validated
timeRangeas an own data property but later read it through normal property access, so a Proxy could report a trusted descriptor while returning differentstart/endvalues throughgettraps.d912bceaafa632b2f1f0b48324e0f2f1ed6d6e3cadds a regression requiring a descriptor-backedstart=10to remain authoritative even when a Proxyget("start")returns20. No hosted RED run completed before the successor push, so that commit is regression-first source evidence, not terminal hosted RED evidence.ac85cef05f6d6844caaba2a024ad08f396775a86snapshots and validates the own descriptor values fortimeRange,start, andendand uses the validated snapshot foratSeconds.45176f181a2ca78161a9c00a85469b752bffd58etightens TypeScript narrowing without changing the runtime contract.Exact-head verification state
Fresh repository workflow inventory for exact unchanged head
45176f181a2ca78161a9c00a85469b752bffd58eis terminal:ci,release,sbom,build-baseline,bandit,SAST Semgrep,secret-scan-gate;security-audit,Security Scan.The two failures are inherited protected-base dependency findings, not a leaf-specific runtime regression.
security-auditreports the canonical npm HIGH set innanoid <3.3.18,pdfjs-dist <6.2.108, andundici <7.29.0; Security Scan's failing Trivy filesystem job reports the corresponding protected-basepdfjs-distvulnerability. Dependency Review, OSV, and Scorecard inside Security Scan succeed.No predecessor-head success is transferred, and wrapper success does not replace a failed underlying security job.
Design authority boundary
The repository continues to name Figma file
zthWmqfNKUgJBECvv002Qkas the BandScope design authority and Storybook remains the executable component-side authority. A fresh live Figma inventory currently exposes only16:2 — 00 Cover; the repository-documented implementation-contract / component-catalog / screen-blueprint / workspace-state pages are not discoverable. Existing issue #959 owns that Figma↔repository handoff drift.Therefore this PR's source/runtime behavior may be reviewed, but stale repository prose must not be promoted as current Figma evidence. Do not create a Figma-only duplicate of an existing runtime/Storybook component and do not mutate this product branch to work around #959.
Dependency / merge gate
pdfjs-dist/nanoid/undicifindings. Do not copy, suppress, or independently upgrade those dependencies here.Security Notes