Skip to content

feat(workspace): name tonight's first tacet on the map - #1097

Open
seonghobae wants to merge 4 commits into
developfrom
feat/workspace-first-tacet
Open

feat(workspace): name tonight's first tacet on the map#1097
seonghobae wants to merge 4 commits into
developfrom
feat/workspace-first-tacet

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Product outcome

The ready rehearsal map names tonight's first explicit sit-out from existing partGraph is_active: false evidence so the band does not fill a rest. Stay out of the named section until the next named section. The helper does not infer additional rehearsal semantics from labels, handoff fields, or neighboring sections.

Exact current identity

  • Protected target: develop@749511c3ad4000090048718f685c6bee6b3d2c25.
  • Exact current head: 8b99511c728d07919e5220052d3fd6e138ab37fc.
  • Branch: feat/workspace-first-tacet.

Current exact scope

  • firstTacet admits only own-property is_active: false on a named section.
  • Production analysis keeps inactive parts in partGraph while omitting them from that section's active-only roles list, so the display name is resolved from trustworthy own roles metadata across the song.
  • Inherited activity flags or role arrays, missing activity flags, blank labels, missing/contradictory role names, and malformed roots fail closed or are excluded from authority.
  • When a role is selected, only that part's own-property sit-out is named and chronological selection is preserved.
  • TDD coverage includes production-shaped inactive-role omission, inherited role metadata, and a corrected missing-is_active sentinel regression.
  • Ready workspace copy names the next action: stay out until the next named section, or confirm who sits before the first section when the sit-out is missing.
  • Doctoring: docs/doctoring/first-tacet.md.

Verification and review state

  • Current exact-head CI/security/release/review evidence must be evaluated only on the unchanged head above; predecessor-head success does not transfer.
  • Resolve review threads only when their underlying finding is addressed. An independent non-author last-push formal approval remains mandatory after the final push.

Merge gate

Surface the first explicit partGraph sit-out on the ready rehearsal
map so the band does not fill a rest. Missing evidence asks the
player to confirm who sits before the first section.

Copy link
Copy Markdown
Collaborator Author

Exact current head is 17db34719190cb47725e871d4df646cf2219d2c1 on feat/workspace-first-tacet targeting protected develop@749511c3ad4000090048718f685c6bee6b3d2c25.

Product next action: stay out of the named section until the next named section, or confirm who sits before the first section when the sit-out is missing.

Needs an independent non-author last-push APPROVE plus exact-head required-gate terminal-success. Do not mix with #811, #828, or #897. Do not self-approve. Queue/pending/skipped/cancelled is non-passing. Inherited #783 npm HIGH must not be suppressed.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Ready Workspace에 첫 tacet 계산 기능이 추가되었습니다. 선택된 파트의 첫 명시적 sit-out을 찾아 섹션과 역할을 표시합니다. 정보가 없으면 대체 안내를 표시합니다. 영어와 한국어 번역, 테스트, 관련 문서도 추가되었습니다.

Changes

첫 tacet 안내

Layer / File(s) Summary
첫 tacet 계산과 검증
apps/desktop/src/features/workspace/firstTacet.ts, apps/desktop/src/features/workspace/firstTacet.test.ts
firstTacet가 선택된 역할의 첫 명시적 is_active: false 노드를 찾아 섹션 라벨과 역할 이름을 반환합니다. 잘못된 입력, 빈 라벨, 상속된 플래그, 누락된 역할 이름은 건너뛰거나 null로 처리합니다.
Workspace 표시와 번역
apps/desktop/src/features/workspace/Workspace.tsx, apps/desktop/src/features/workspace/Workspace.test.tsx, apps/desktop/src/locales/en/common.json, apps/desktop/src/locales/ko/common.json, apps/desktop/src/i18n/index.test.ts
Workspace가 첫 tacet 콜아웃을 렌더링합니다. 선택된 역할과 누락 상태를 영어와 한국어로 표시합니다. 관련 렌더링과 번역 테스트를 추가했습니다.
계약과 기능 문서
docs/design-system/component-contract.md, docs/doctoring/first-tacet.md, AGENTS.md, ARCHITECTURE.md, CLAUDE.md, CHANGELOG.md
Ready Workspace 계약, 첫 tacet 동작, 안전한 실패 처리, 프로젝트 설명과 변경 로그를 갱신했습니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: 🟡 Moderate · up to 17db3

The change can display incorrect first-tacet guidance: a required regression case currently returns a sit-out instruction when it should not, and inherited role data may also be treated as valid evidence. These issues should be corrected before merging.

Sequence Diagram(s)

sequenceDiagram
  participant Workspace
  participant firstTacet
  participant Localization
  participant ReadyWorkspace
  Workspace->>firstTacet: song과 activeRole 전달
  firstTacet-->>Workspace: 첫 tacet 또는 null 반환
  Workspace->>Localization: 제목과 안내 문구 조회
  Localization-->>Workspace: 번역 문자열 반환
  Workspace->>ReadyWorkspace: first-tacet 콜아웃 렌더링
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 83.33% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 5 files. (8 skipped: 8 u…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 ready rehearsal map에서 오늘 밤의 첫 tacet을 명명하는 핵심 변경을 정확하고 간결하게 설명합니다.
Full details: Docstring Coverage

Explanation

Docstring coverage is 83.33% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 5 files. (8 skipped: 8 unsupported.)

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/workspace-first-tacet

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 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 4 potential issues.

Devin Review

Comment thread apps/desktop/src/features/workspace/firstTacet.ts Outdated
Comment thread apps/desktop/src/features/workspace/firstTacet.ts
Comment thread apps/desktop/src/features/workspace/firstTacet.ts
Comment thread apps/desktop/src/features/workspace/Workspace.tsx
coderabbitai[bot]

This comment was marked as resolved.

Copy link
Copy Markdown
Collaborator Author

@opencode-agent Please perform the required independent formal review for exact current head 8b99511c728d07919e5220052d3fd6e138ab37fc against protected base develop@749511c3ad4000090048718f685c6bee6b3d2c25, and submit an authenticated GitHub formal APPROVED or CHANGES_REQUESTED verdict anchored to that unchanged head. Verify the repaired production-shaped tacet contract: inactive parts may be absent from a section’s active-only roles, trustworthy role names are resolved from song-wide own-property role metadata, inherited/malformed role evidence fails closed, missing is_active is not treated as a sit-out, and selected-role chronology remains stable. Current inline findings are resolved; exact-head repository CI/coverage/build/release/security evidence is terminal-success where completed, while Strix is still independently in progress and must not be treated as approval. Do not mutate the contributor branch and do not inherit predecessor-head review evidence.

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