feat(activation): license a demo song and name first-run next actions - #1009
feat(activation): license a demo song and name first-run next actions#1009seonghobae wants to merge 96 commits into
Conversation
A clean launch now offers Try the demo and Use my own song. The bundled Late Night Set package is original CC0 audio with provenance hashes and enters through the same local-audio bootstrap as a user-selected file. Browser fallback fails closed. #828 still owns #770; do not mix with #811, #897, or #828. Canonical npm HIGH findings remain #783-owned.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthrough첫 실행 빈 작업공간에 CC0 Changes라이선스 데모 오디오
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🟡 Moderate · up to The new Try the demo flow currently cannot initialize because the packaged audio size conflicts with the native validation contract, making the advertised first-run action unavailable. The package validation workflow also accepts a changed license checksum as trusted metadata, so these issues should be corrected or explicitly accepted before merging. Sequence Diagram(s)sequenceDiagram
participant EmptyState
participant App
participant AnalysisBridge
participant TauriCommand
participant RustValidator
participant LocalAudioBootstrap
EmptyState->>App: Try the demo 클릭
App->>AnalysisBridge: selectDemoAudioSource 호출
AnalysisBridge->>TauriCommand: select_demo_audio_source invoke
TauriCommand->>RustValidator: 번들 WAV 검증
RustValidator-->>TauriCommand: LocalAudioSourcePayload
TauriCommand->>LocalAudioBootstrap: 프로젝트 부트스트랩 생성
LocalAudioBootstrap-->>App: ProjectBootstrapSummary
App-->>EmptyState: 분석 시작 안내 표시
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 90.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 30 functions across 15 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 |
|
@opencode-agent Repair the current-head licensed-demo WAV structural-validation defect on the existing Use TDD on this same branch. First strengthen/retain a realistic RED regression proving malformed chunk structure is rejected while the actual bundled The same exact head also has a repository
After the WAV/root-cause repair, apply only those test-contract corrections that still reproduce on the successor exact head. Run focused core/Tauri tests, desktop targeted tests, |
|
@opencode-agent Continue the existing |
|
@OpenCode Continue this canonical branch in place from exact head Use systematic debugging + TDD + verification-before-completion. Current predecessor CI
After each fix, run focused tests and the canonical quickcheck, refetch exact head/base, and resolve only addressed review threads. Do not suppress inherited |
|
Queued @opencode-agent for PR #1009 at head |
Product outcome
A musician who opens BandScope with no song loaded can start tonight's rehearsal from the empty workspace. The buyer sees Try the demo and Use my own song. The original CC0
Late Night Setpackage enters the same downstream local-audio bootstrap/analysis contract as a user-selected file after stricter immutable-resource validation.This is the licensed-demo slice of #964. It does not close first-run measurement, role/goal onboarding, or #770 MIR acceptance; #828 still owns #770.
Exact current identity
develop@749511c3ad4000090048718f685c6bee6b3d2c25.feat/licensed-demo-first-run.d25512e9a8b8eb50713398d850b7b629015e05d1.Current root-cause repairs
workspaceIntakeInFlightRefauthority. Competing handlers fail closed before awaiting native work; failed replacement preserves the prior valid selection.parseDemoProvenanceManifestpreserves the established provenance wire contract at one anti-corruption boundary while translating generic external keys to semantic runtime names.currentLicensedDemoProjectId/currentLicensedDemoJobIdfallback authority and renderer-reload continuity.apps/desktop/src/lib/job_runner.tssynthesizing successful browser analysis despite the repository fail-closed contract.c5bc6c8e060771f601bcae98db654b128efe431eadded the RED regression;11d454029c366159ed414e13dae2d851927c6892removed synthetic browser enqueue/retry/cancel success and translated touched organization-owned generic locals to semantic multiword names while preserving IPC wire keys at the bridge;f1013db6581a028cca9229d6e99027ab70e78815recorded the behavior inCHANGELOG.md.late-night-set.wav, while the engine builds the ready progress label from that validated source label.d9d2614cb7eab063bb1e3ab08ca53cf0dd318a0cadds the RED native-bridge regression requiring both the start response and later polling to displayAnalysis ready for Late Night Set;61dd36a11a50c1dc92526d7af709cafc07469d5cnormalizes only an authenticated licensed-demo job's ready-state progress label/result title in the renderer, preserving ordinary local-audio authority and native IPC compatibility;d25512e9a8b8eb50713398d850b7b629015e05d1records the buyer-visible correction inCHANGELOG.md.docs/product-technical-gap-baseline.md; its live PR metadata was refreshed with the 74-repository / 2,915-open-PR census and this feat(activation): license a demo song and name first-run next actions #1009 repair evidence. No checks or approvals transfer between PRs.Security Notes
Bundled resources, file paths, URLs, IPC payloads, and provenance are treated as untrusted at their owning boundaries. Browser-only execution must not manufacture production analysis success. The demo resource is fixed-size and structure validated; provenance is not filesystem authority. Renderer title normalization is restricted to the previously authenticated licensed-demo job identity and never permits arbitrary renderer-provided labels to override normal local-source metadata. No telemetry, demo download, generic exec capability, vulnerability suppression,
pull_request_target, administrative bypass, or force-push is introduced.Verification boundary
Fresh repository and central checks must be evaluated only on unchanged exact head
d25512e9a8b8eb50713398d850b7b629015e05d1. Queued/pending checks are non-passing. HistoricalCOMMENTEDreviews and predecessor successes do not qualify as last-push approval.Merge gate
Keep unmerged until the unchanged exact head has every applicable required CI/security/SAST/SBOM/coverage/review gate terminal-success, zero valid unresolved findings/review threads, a qualifying independent non-author approval current for the last push, and ordinary branch protection accepts the merge. Never self-approve, bypass protection, weaken a gate, suppress findings, manufacture status, or transfer predecessor evidence.