Skip to content

[Activation] Deliver a licensed demo song and measurable first-run rehearsal journey #964

Description

@seonghobae

Parent: #958
Baseline: #968

Buyer-visible gap

A buyer cannot evaluate BandScope from architecture documents, unit tests, or an empty workspace. The first launch must demonstrate the actual product value without requiring the user to locate a suitable song, understand MIR terminology, install an undocumented dependency, or guess the next action after analysis.

The live queue includes useful Storybook, empty/error, navigation, priority, first-part, loop, count-in, and cue slices (#897#905 and related T3 work), but no single protected journey proves that a new musician reaches a useful rehearsal action with licensed, reproducible input.

Product outcome

A clean installation offers an optional, clearly licensed demo rehearsal and a parallel Use my own song path:

launch
→ choose demo or local file
→ choose role and rehearsal goal
→ analyze with honest stage progress and limitations
→ open the most important cue
→ loop or mark it for rehearsal
→ save and reopen the project

The demo must exercise the same production file validation, resource admission, decoding, analysis, rehearsal-player, persistence, and recovery boundaries as user audio.

Required scope

Licensed demo package

  • Include or reproducibly acquire a redistributable song/fixture with explicit audio, stem, annotation, artwork, and attribution rights.
  • Record source, author/performer credit, exact hashes, transformation history, license text, and permitted redistribution/evaluation uses.
  • Use real decoded audio through the production boundary; do not substitute direct feature arrays or mocked browser success.
  • Include ground-truth annotations sufficient to connect the demo to [Product Gap] Add real-audio MIR accuracy acceptance benchmarks #770 accuracy evidence.
  • Keep private/commercial benchmark assets separate from the public demo.

First-run state machine

  • Present Try the demo and Use my own song immediately and state the local-first privacy boundary in one action-oriented sentence.
  • Ask only for information required to produce a useful result: intended role, optional skill level, and rehearsal goal.
  • Detect missing runtime/model/backend prerequisites before expensive work and offer a supported recovery action.
  • Show bounded, cancellable progress based on actual worker stages; never invent unsupported percentages.
  • Land on one prioritized rehearsal action rather than a dense dashboard with no next step.
  • Explain confidence, known limitations, and how the user can correct a role or section result.
  • Allow experienced/returning users to skip onboarding and reopen recent projects.

Live PR convergence

Activation evidence

  • Define local activation milestones without collecting audio, project content, paths, URLs, or identity.
  • Keep evidence local by default; optional aggregate telemetry requires explicit enablement and the privacy/diagnostics contract in [Operations] Build redacted diagnostics, crash evidence and an offline support bundle #963.
  • Measure at minimum:
    • first launch success;
    • demo/local-file choice;
    • first valid audio acceptance;
    • analysis started/completed/cancelled/failed by stage;
    • first cue opened;
    • first rehearsal action completed;
    • project saved and reopened.
  • Measure time-to-first-rehearsal before declaring a release threshold; do not invent a target from synthetic success.

Acceptance criteria

  • Clean supported Windows and macOS installations complete the demo journey without a terminal, external account, or undocumented dependency.
  • Demo audio/artwork/annotations have a checked license/provenance manifest and immutable hashes.
  • Demo and user audio use the same production intake, resource, decode, analysis, player, project, and recovery boundaries.
  • A measured time-to-first-rehearsal distribution is published before a release gate is chosen.
  • Every failure state provides a concrete next action and preserves retry, choose-another-file, demo, and support-evidence paths.
  • Keyboard-only and screen-reader users complete the entire journey.
  • Korean and English preserve the same choices, limitations, privacy statements, and actions.
  • Local activation evidence excludes audio, lyrics, project payloads, paths, URLs, and identity.
  • First-run state resumes safely after restart and never traps a returning user.
  • Repository-owned production statement/branch coverage and public API documentation remain 100%.
  • Current-head CI, security, license, accessibility, qualifying independent approval, zero unresolved actionable threads, and branch protection pass without bypass.

Real-world personas and failures

  • first-time singer unfamiliar with MIR terminology;
  • bassist selecting a role weakly represented in the mix;
  • keyboard-only and screen-reader users;
  • offline user after installation;
  • unsupported codec selected before choosing the demo;
  • low-memory device triggering resource admission/fallback;
  • analysis cancelled and resumed;
  • corrupt or missing demo asset;
  • returning user skipping onboarding and reopening a project.

Non-goals

  • No mandatory account creation or cloud upload.
  • No telemetry consent hidden in general terms.
  • No copyrighted commercial song committed without redistribution rights.
  • No synthetic or mocked result presented as production analysis success.
  • No onboarding copy that promises universal musical correctness.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: authAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainarea: dependenciesDependency or lockfile maintenancearea: securitySecurity boundary, hardening, or vulnerability preventionpriority: mediumNormal-priority or P2 workscope: product-gapCustomer-visible product gapstatus: triagedOpen issue has an organization taxonomy assignmenttype: featureNew or expanded product capability

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions