fix(desktop): remove synthetic browser analysis success - #827
fix(desktop): remove synthetic browser analysis success#827seonghobae wants to merge 28 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
@coderabbitai review |
|
|
@opencode-agent Please run a fresh review and coverage pass on exact current head |
|
Current-head gate evidence on |
|
Queued @opencode-agent for PR #827 at head |
|
Already queued @opencode-agent on this exact request for PR #827 at head |
4 similar comments
|
Already queued @opencode-agent on this exact request for PR #827 at head |
|
Already queued @opencode-agent on this exact request for PR #827 at head |
|
Already queued @opencode-agent on this exact request for PR #827 at head |
|
Already queued @opencode-agent on this exact request for PR #827 at head |
|
Already queued @opencode-agent on this exact request for PR #827 at head |
1 similar comment
|
Already queued @opencode-agent on this exact request for PR #827 at head |
Reconcile the fail-closed browser/native analysis lane with current protected develop as an ordinary two-parent descendant. Preserve the canonical desktop bridge/privacy/demo contracts while adopting #783 dependency remediation, #1165 workflow consolidation, current rehearsal UI, and current supply-chain evidence without copying or reverting those owners.
|
@coderabbitai review Please review exact head |
|
Oops, something went wrong! Please try again later. 🐰 💔 |
Canonical production gap
BandScope must not manufacture successful rehearsal state when the native runtime or licensed audio authority is absent. This lane owns the desktop bridge/browser-fallback boundary only: browser-only analysis cannot fabricate jobs/results or successful saves; buyer-visible/import and routine console errors are redacted; and native
demorequests fail closed before bridge invocation until a licensed demo recording is installed.Exact current identity
develop@314ddeae7b775a4957594b599358c8255617eb2e.94612e38994bc2fe442edcbf4bbf2e458540ec51.ahead 28 / behind 0, merge base exactly current protecteddevelop.CHANGELOG.md,CLAUDE.md,apps/desktop/src/App.test.tsx, theanalysis*implementation/regression surfaces, and thejob_runner*implementation/regression surfaces. No workflow, dependency, lockfile, supply-chain policy, model, database, widened filesystem/network authority, or vulnerability suppression is a live delta.Protected-base adoption
The prior live head
a2e5d260e68a0fe36a4d0551af202b73f257dd70still forked from historicaldevelop@acdbea6344fe1231c39535b575f4de35e4c607c9. Ordinary two-parent non-force descendant94612e38994bc2fe442edcbf4bbf2e458540ec51adopts current protecteddevelopwhile preserving only this lane's validated desktop bridge/privacy/demo contracts. The already-merged #783 dependency baseline and #1165 workflow consolidation remain protected ancestry; their deltas are not copied or reverted here.Test-first product contracts retained
analysis.tsremoves staged browser success and retained fake job state.save_projectrejects instead of claiming persistence that never happened.nullrecovery result but logs only stable operation-level text.e42049ae861f9f995e000f490605e47404eba1e7proves a nativedemorequest must not reach the invocation bridge even if a synthetic downstream success could be returned.b0971e4daf8f0f4ad377b4b67ba96de6a0de285dreturnsengine_unavailablewithDemo analysis is unavailable until a licensed demo track is installed. Choose a local audio file.and no result;a2e5d260...records that boundary in the changelog.The demo restriction is buyer/scientific truth: the arrangement-only fixture is test data, not rights-cleared decoded production audio. A future licensed demo source must enter through Audio Ingestion/Resource Admission rather than re-enabling a synthetic success shortcut.
Security Notes
Attack surface is URL/source selection, Tauri invocation errors, workspace diagnostics, and the browser/native execution boundary. Dependency/native exception strings are untrusted diagnostic input and may contain full URLs, local usernames/paths, cookies/tokens, stderr, or tool details. This lane keeps schema/allowlist validation, replaces post-invocation payloads with BandScope-owned messages, and adds no telemetry/storage/network authority.
Exact-head hosted evidence
Fresh
cirun34083740826on exact94612e38994bc2fe442edcbf4bbf2e458540ec51proves npm-lock validation and Rust/Tauri check success.ci / build-and-testreaches quickcheck and fails only atruff format --checkbecause protected-baseservices/analysis-engine/tests/test_supply_chain_policy.pywould be reformatted. This PR does not change that file. The failure is the canonical #1176 protected-base formatter prerequisite, not a desktop/browser-fallback regression; #827 must not duplicate its one-file repair.Exact-head
build-baselinerun34083740833andsbomrun34083740846are now terminal success. Security Scan, SAST Semgrep, and central CodeQL remain queued/non-terminal at the latest fresh sweep. Repository GREEN is not claimed. After #1176 becomes protected ancestry by normal merge, #827 must ordinarily reconcile onto the new protecteddevelopand reacquire all evidence; do not stack the mutable Draft prerequisite merely to make quickcheck green.Merge gate
All predecessor workflow/review evidence is historical after protected-base adoption. Central CodeQL verdict recovery remains separately owned by
ContextualWisdomLab/.github#1902; BandScope #1172/#1183 own stale protected required-context-name migration. This lane must not recreate removed repository scanners or synthesize compatibility statuses.Keep Draft and unmerged until #1176 is protected ancestry and one unchanged exact head has desktop lint/typecheck/tests/coverage/build, repository and central security/SAST/SBOM/supply-chain/package evidence terminal-success, zero valid unresolved findings, a qualifying independent non-author last-push approval, and ordinary branch-protection acceptance. No force-push, destructive rebase, self-approval, bypass, gate weakening, or predecessor-evidence transfer.