Skip to content

feat(workspace): name tonight's first assignment on the map - #996

Open
seonghobae wants to merge 3 commits into
developfrom
feat/workspace-first-assignment
Open

feat(workspace): name tonight's first assignment on the map#996
seonghobae wants to merge 3 commits into
developfrom
feat/workspace-first-assignment

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Product outcome

Name tonight's first assignment so the room can keep the job already in motion. The Open action moves to the matching rendered map section.

Design authority: workspace next-action pattern plus docs/design-system/component-contract.md. Distinct from first-count (#995), first-lyric (#913), first-transition (#994), parts-to-lock (#874), export-and-priority (#900), and first-part-from-ready-board (#901). This does not invent a parallel MIR product; #828 remains the owner of #770.

Current exact scope

  • Protected target: develop@acdbea6344fe1231c39535b575f4de35e4c607c9.
  • Branch: feat/workspace-first-assignment.
  • Exact head: 54b75a265ef3b7265461abf0601b6daf52d67b5f.
  • FirstAssignmentCallout names the assignee, the entering part when an active graph node corroborates the owned roleId, the owned assignment summary, the labeled section, and the time.
  • Prefer an in_progress job over todo. Ready and blocked jobs stay out of tonight's next action.
  • Open scrolls the renderer-owned song-structure section. Missing targets stay guidance-only and do not claim navigation completed.
  • Do not invent a job from comments, approvals, rehearsal priority, setup, cue, groove, simplification, overlap, range copy, or empty/whitespace summaries.
  • Owned assignment summary is rendered as a text node and is never rescanned as template syntax.
  • Korean copy keeps particle-safe role phrasing (파트가 / 파트 과제 / 담당은 {assignee}입니다) and localizes the section form label.

Demo song: Rhythm Section holds Bass Guitar in the verse at 0:10, summary "Lock the bass entrance against the pickup so the chorus lift lands together."

Trust boundary

  • Untrusted runtime song, collaboration, assignment identity/assignee/summary/status/section/role pointers, section, time-range, role, and part-graph metadata are accepted only as own data properties.
  • Inherited properties, accessors, sparse arrays, and arrays masquerading as records cannot establish a job or a holding part.
  • Analysis section.id is never DOM-ID authority. Navigation uses renderer child index under the song-structure region.
  • The assignment summary is bounded to 180 Unicode code points without splitting a surrogate pair.
  • Reduced-motion map navigation uses behavior: "auto" when the OS requests it.

Dependency ownership

Canonical #783 owns the protected-base JavaScript HIGH findings (pdfjs-dist / nanoid / undici). This branch has no JavaScript dependency, lockfile, or vulnerability-suppression delta. Inherited npm HIGH must not be suppressed here.

Merge gate

Queued, pending, skipped-required, failed, predecessor-head, protected-base, author-only, model-only, status-only, or synthetic evidence is non-passing.

Name the in-progress rehearsal job so the room can keep the bass
entrance moving instead of rediscovering the collaboration list.
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 43 minutes.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c60d8858-5865-4f04-a207-0ec37355e295

📥 Commits

Reviewing files that changed from the base of the PR and between 749511c and 9706ce6.

📒 Files selected for processing (20)
  • AGENTS.md
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CLAUDE.md
  • apps/desktop/src/features/workspace/FirstAssignmentCallout.particle.test.tsx
  • apps/desktop/src/features/workspace/FirstAssignmentCallout.reduced-motion.test.tsx
  • apps/desktop/src/features/workspace/FirstAssignmentCallout.test.tsx
  • apps/desktop/src/features/workspace/FirstAssignmentCallout.tsx
  • apps/desktop/src/features/workspace/Workspace.test.tsx
  • apps/desktop/src/features/workspace/Workspace.tsx
  • apps/desktop/src/features/workspace/firstAssignment.inherited-metadata.test.ts
  • apps/desktop/src/features/workspace/firstAssignment.test.ts
  • apps/desktop/src/features/workspace/firstAssignment.ts
  • apps/desktop/src/i18n/index.test.ts
  • apps/desktop/src/i18n/index.ts
  • apps/desktop/src/locales/en/common.json
  • apps/desktop/src/locales/ko/common.json
  • apps/desktop/vite.config.ts
  • docs/design-system/component-contract.md
  • docs/doctoring/reduced-motion-first-assignment-navigation.md

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.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Collaborator Author

Re-review request for exact head dba228738401be07a21a7023d81f9777b6aba47d: all required status contexts are green on this head (including coverage-evidence and security scans) and all review threads are resolved. @opencode-agent please review current head dba228738401be07a21a7023d81f9777b6aba47d and update the review decision.

# 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
@seonghobae

Copy link
Copy Markdown
Collaborator Author

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 (FirstAssignmentCallout + firstRangeSqueeze; render paths intact), unioned en/ko locale tails (JSON valid, en/ko symmetric). No conflict markers remain. Merge head: 9706ce6.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread apps/desktop/src/features/workspace/FirstAssignmentCallout.tsx
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.

1 participant