Skip to content

feat(workspace): name tonight's first harmonic function on the map - #1005

Open
seonghobae wants to merge 23 commits into
developfrom
feat/workspace-first-harmonic-function
Open

feat(workspace): name tonight's first harmonic function on the map#1005
seonghobae wants to merge 23 commits into
developfrom
feat/workspace-first-harmonic-function

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Buyer next action

The mounted rehearsal workspace names tonight's first harmonic function so the room can lock the owned part function before rehearsal starts.

Protected base: develop@749511c3ad4000090048718f685c6bee6b3d2c25.
Exact current head: 0c58e3d4f3dfa71585b0f499a8b2791dbae76ed7.

What the player sees

  • The callout names the owning part when an active graph node corroborates it, the owned harmony.functionLabel copy, a canonical labeled section, and the time.
  • Open scrolls the renderer-owned song-structure section and arms the next action: lock that function before the room starts.
  • If no part owns rehearsal-facing function copy, or the runtime section label is not one of the shared canonical section-form labels, the card stays fail-closed instead of inventing buyer-visible authority.

Authority boundary

Regression-first repair

  • f20291864f0f57e8942ba42c0af300919ddb1023 strengthened the hostile sections Proxy regression so any get("sections") execution fails and the real Open action still has to render.
  • 12572893b83e50a6ec4ea5ca258e83aa201fc9bb moved the resolver to owned descriptor snapshots for runtime collections and carries snapshotted section id/label through selection.
  • 07a02df1e84dead47375ebef8a12cd5193bf7143 removed the callout's remaining direct song.sections authority and uses snapshotted metadata for display/opened-state tracking.
  • Hosted quickcheck on 07a02df... found a TypeScript contract mismatch (sectionLabel widened to string). 267c0b271de76da45c7a6c707f2037f12211a940 restored the finite shared-label return type, but a fresh Devin current-head review correctly found that malformed runtime strings could still enter that union through an assertion.
  • Regression-first c0e2c2958d461967f50bf1bd6b9b4915a4ffdaec requires an unsupported nonblank runtime section label to resolve to null. The successor was pushed before hosted RED reached terminal completion, so this is source-order RED evidence rather than claimed hosted RED proof.
  • Current repair 0c58e3d4f3dfa71585b0f499a8b2791dbae76ed7 imports canonical SECTION_FORM_LABELS, narrows through an actual membership guard, and removes the unsafe label assertion.

Current verification

  • Exact-head frozen npm lock validation is terminal-success on 0c58e3....
  • Exact-head Rust/Tauri and full quickcheck jobs are currently running; queued/in-progress work is not counted as passing.
  • The predecessor 07a02df... quickcheck reached TypeScript compilation and exposed the earlier label-type mismatch; no predecessor check is transferred.
  • The current unsupported-label review finding has been answered and its inline thread resolved only after the regression and production repair. Fresh thread inventory has no known unresolved inline finding at this edit.
  • The current exact head still needs its own full terminal-success repository/central evidence and qualifying independent non-author approval.

Dependency / merge gate

  • fix(security): establish canonical npm, PDF.js, Nanoid, and Undici baseline #783 merged into protected develop on 2026-08-25; its JavaScript dependency-security baseline is shipped truth, not an outstanding dependency PR for this branch. Do not suppress or independently regress that integrated baseline.
  • Keep unmerged until the unchanged then-current head has every applicable repository/central CI, cross-platform build, exact owned statement+branch/function/line coverage, docstring, SAST/security/SBOM/supply-chain/package/release gate terminal-success; zero valid unresolved findings; a qualifying independent non-author approval; and ordinary branch-protection acceptance.
  • Neutral GitHub Advanced Security presentation checks, queued/pending/skipped-required/cancelled/failed/stale/predecessor/protected-base/model-only/self/author/status-only evidence are not success.
  • Never bypass protection or transfer predecessor checks/reviews.

Open in Devin Review

Surface owned harmony.functionLabel as the next rehearsal action so the
room can lock the part function before starting. Open moves to the
renderer-owned song-structure section. Do not invent that copy from
groove, cue, simplification, overlap, range, chord labels, setup notes,
confirmed overrides, harmonic explanations, or confidence notes.
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 24 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: c109eb89-2ec0-42c3-bb96-ca5e16ba1a0b

📥 Commits

Reviewing files that changed from the base of the PR and between 749511c and 0c58e3d.

📒 Files selected for processing (27)
  • .Jules/palette.md
  • .jules/palette.md
  • AGENTS.md
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CLAUDE.md
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.accessibility.test.tsx
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.particle.test.tsx
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.reduced-motion.test.tsx
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.sections-accessor.test.tsx
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.test.tsx
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.tsx
  • apps/desktop/src/features/workspace/FirstHarmonicFunctionCallout.workspace-scope.test.tsx
  • apps/desktop/src/features/workspace/Workspace.test.tsx
  • apps/desktop/src/features/workspace/Workspace.tsx
  • apps/desktop/src/features/workspace/firstHarmonicFunction.inherited-metadata.test.ts
  • apps/desktop/src/features/workspace/firstHarmonicFunction.proxy-authority.test.ts
  • apps/desktop/src/features/workspace/firstHarmonicFunction.section-label.test.ts
  • apps/desktop/src/features/workspace/firstHarmonicFunction.test.ts
  • apps/desktop/src/features/workspace/firstHarmonicFunction.time-authority.test.ts
  • apps/desktop/src/features/workspace/firstHarmonicFunction.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
  • docs/design-system/component-contract.md
  • docs/doctoring/reduced-motion-first-harmonic-function-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.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Collaborator Author

Re-review request for exact head 37fe99cc9786995e5fdc56315fe6d5ba3408b41c: 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 37fe99cc9786995e5fdc56315fe6d5ba3408b41c 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 (FirstHarmonicFunctionCallout + 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: 7ae4e45.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

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