Skip to content

Update Playback engine dependencies - #625

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/playback-engine-dependencies
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/playback-engine-dependencies

Conversation

@renovate

@renovate renovate Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change Pending
librespot-connect dev-dependencies digest 939dc5e → 15e02e8
librespot-connect dependencies digest 939dc5e → 15e02e8
librespot-core dependencies digest 939dc5e → 15e02e8
librespot-playback dependencies digest 939dc5e → 15e02e8
librespot-protocol dependencies digest 939dc5e → 15e02e8
log dependencies patch 0.4.34 → 0.4.35
rust (source, changelog) toolchain minor 1.98.1 → 1.99.1 1.100.0
serde_json dependencies patch 1.0.151 → 1.0.154
tokio (source) dev-dependencies minor 1.53.1 → 1.54.1
tokio (source) dependencies minor 1.53.1 → 1.54.1

Release Notes

rust-lang/log (log)

v0.4.35

Compare Source

This release doesn't include source changes. It verifies log's new CI/CD processes.

Other
  • rework CI/CD to align with Rust project standards
rust-lang/rust (rust)

v1.99.1

Compare Source

===========================

v1.99.0

Compare Source

==========================

Language

Compiler

Platform Support

Refer to Rust's platform support page
for more information on Rust's tiered platform support.

Libraries

Stabilized APIs

Cargo

  • Add a new built-in profile debug. This is a preparation for transitioning the dev profile away from debugging to give a saner default for faster development iterations. Currently there is no difference between dev and debug profiles. docs #​17214
  • Workspace members on edition 2024 or later can now override an inherited workspace dependency's default-features field. For example, serde = { workspace = true, default-features = false } now turns off default features even when the workspace definition enables them. On earlier editions, default-features = false is ignored with a warning. (RFC 3945) #​17126

See also the full Cargo changelog

Rustdoc

Compatibility Notes

Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

serde-rs/json (serde_json)

v1.0.154

Compare Source

v1.0.153

Compare Source

v1.0.152

Compare Source

tokio-rs/tokio (tokio)

v1.54.1: Tokio v1.54.1

Compare Source

1.54.1 (October 21st, 2026)
Fixed
  • time: revert "remove the runtime handle from timers" (#​8692)

v1.54.0: Tokio v1.54.0

Compare Source

1.54.0 (October 19th, 2026)

The 1.54.0 release includes all changes up to 1.53.3.

The MSRV is increased to 1.85. (#​8514)

Added
  • fs: add File::set_times, File::set_modified, and fs::FileTimes (#​8504)
  • net: implement Default for named_pipe::{ClientOptions, ServerOptions} (#​8378)
  • runtime: add Builder::max_io_events_per_busy_tick (#​8410)
  • runtime: stabilize tokio::runtime::worker_index() (#​8431)
  • sync: add SemaphorePermit::semaphore() (#​8482)
  • sync: add blocking_acquire methods to Semaphore (#​8269)
  • sync: add watch::Receiver::is_closed (#​8481)
  • wasm: support JSPI for Emscripten target (#​8285, #​8627)
  • wasm: support the wasm32-unknown-emscripten target (#​8281, #​8422, #​8528, #​8628)
Changed
  • fs: reject zero in File::set_max_buf_size (#​8449)
  • io: make copy_buf cooperative (#​8459)
  • io: panic when BufReader or BufStream is created with zero capacity (#​8494)
  • io: panic when in-memory pipe is created with zero capacity (#​8397)
  • io: reject zero buffer size in copy_bidirectional_with_sizes (#​8454)
  • io: support vectored writes in Sink (#​8663)
  • net: start UnixStream::pair and UnixDatagram::pair sockets as writable (#​8444)
  • net: start accepted sockets as readable and writable (#​8435)
  • net: support UCred on Fuchsia (#​8257)
  • process: use mio::unix::pipe for Unix child stdio (#​8603)
  • runtime: cache-pad the shared injection queue and idle state (#​8622)
  • runtime: decide auto-boxing of spawned futures at monomorphization time (#​8414)
  • runtime: make enable_io available whenever rt is enabled (#​8387)
  • runtime: move block_in_place setup into a non-generic function (#​8315)
  • runtime: move the multi-thread inject queue to its own mutex (#​8382)
  • runtime: panic when max_io_events_per_tick is zero (#​8476)
  • runtime: suggest .await in nested block_on panic message (#​8501)
  • sync: avoid atomic reader count in broadcast slots (#​8357)
  • sync: use acquire/release orderings in Notify (#​8325)
  • time: remove the runtime handle from timers (#​8458)
Fixed
  • fs: restore File internal state when op fails (#​8291)
  • io: complete zero-length memory stream operations immediately (#​8323)
  • io: flush the writer when the reader stalls in copy_buf (#​8424)
  • io: keep the shutdown bit when clearing readiness (#​8435)
  • io: preserve the full ScheduledIo tick in readiness events (#​8331)
  • io: read lines as bytes so a partial line survives an I/O error (#​8400)
  • io: retry on ErrorKind::Interrupted in more I/O operations (#​8417, #​8432, #​8448, #​8453, #​8455, #​8460)
  • io: use spawn_mandatory_blocking for stdout and stderr (#​8506)
  • io: wait for pending operations before BufReader seeks (#​8599)
  • net: close CreateFileW handle on SetNamedPipeHandleState failure (#​8418)
  • net: fix peer credentials on NetBSD (#​8589)
  • net: saturate TcpSocket and UnixSocket listen backlog (#​8511)
  • net: treat ENOTCONN as success in UnixStream::shutdown (#​8526)
  • runtime: allow building with --all-features without tokio_unstable (#​8401)
  • runtime: avoid overflow in shutdown_timeout() (#​8497)
  • runtime: fix spawn_blocking hang when only scheduler workers exist (#​8408)
  • runtime: fix misleading signal driver panic message (#​8419)
  • sync: preserve FIFO lock order when coop budget is exhausted (#​8371)
  • sync: use usize for permit count in SemaphorePermit (#​8405)
  • time: avoid interval deadline overflow (#​8385)
  • time: handle wrapped top-level timer-wheel slots (#​8334)
Unstable
  • fs: fall back when io_uring has no IO driver (#​8165)
  • metrics: cap log histogram precision (#​8496)
  • runtime: add an opt-in sharded spawn_blocking queue (#​8337)
  • runtime: expose schedule latency in task hooks (#​8282)
  • taskdump: fix idle bookkeeping when a task dump wakes parked workers (#​8372)
  • taskdump: skip non-idle tasks during taskdumps (#​8568)
Documented
  • docs: fix stray braces and broken links in rustdoc (#​8605)
  • fs: document cancellation behavior of tokio::fs (#​8265)
  • net: add Safety docs for named pipe from_raw_handle (#​8378)
  • net: document that TcpStream::connect returns only the last error (#​8421)
  • runtime: add error documentation for runtime::Builder (#​8297)
  • runtime: link available_parallelism in worker count docs (#​8625)
  • sync: clarify panic behavior of broadcast::channel() (#​8420)
  • sync: fix typo in Semaphore documentation (#​8521)

v1.53.3: Tokio v1.53.3

Compare Source

1.53.3 (October 13th, 2026)

Added
  • io: add AsyncFd::register and AsyncFd::register_with_interest (#​8587)
Changed
  • io: deprecate AsyncFd::{new, with_interest, try_new, try_with_interest} (#​8587)
Fixed
  • io: wake and drop DuplexStream wakers outside the lock (#​8618)
  • macros: avoid unreachable_code in join! and try_join! for Infallible (#​8518)
  • runtime: fix paused time auto-advancing when I/O wakes a task on current_thread (#​8595)
  • sync: wake waiters outside the lock when closing a semaphore (#​8529)
  • test: fix several flaky tests (#​8196, #​8427, #​8609)
Fixed (unstable)
  • rt: keep io_uring op alive when submission fails after push (#​8185)

v1.53.2: Tokio v1.53.2

Compare Source

1.53.2 (October 3rd, 2026)

Fixed
  • fs: handle integer overflow in buffered relative seek (#​8574)
  • io: revert "always cleanup AsyncFd registration list on deregister" (#​8540)
  • process: unregister Windows wait before closing child handle (#​8564)
  • rt: drop blocking pool mutex before shutting down rejected task (#​8562)
  • sync: fix mpsc index wraparound in block reclamation (#​8546)
  • sync: forget mpsc Permit before sending value (#​8560)
  • sync: validate MAX_PERMITS in Semaphore::acquire (#​8548)
  • sync: wake broadcast Sender::closed outside mutex (#​8558)
  • task: drop replaced waker outside lock in JoinSet (#​8554)
  • time: drop timer lock before dropping waker in clear_entry (#​8552)
  • time: expire timers directly on shutdown without rotating wheel (#​8570)
Fixed (unstable)
  • fs: clamp io_uring read length to u32::MAX (#​8572)
  • rt: ignore current_thread task dumps from other runtimes (#​8544)
  • rt: preserve io_uring context if a completion waker panics (#​8566)
  • sync: fix semaphore use-after-free and permit leak on tracing panic (#​8542)
  • taskdump: restore deferred leaf wakes during capture (#​8445)
  • time: drop stored waker when cancelling alt timer entry (#​8550)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies label Oct 4, 2026

@opencode-agent opencode-agent 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.

Documentation review of f95927c (first review): 0 new finding(s). No actionable findings remain in the reviewed scope.

Inspected full PR #625 (rust-toolchain.toml channel 1.98.1 → 1.99.0, one line, no doc edits) via both docs-sense and docs-spec subagents against the head tree; documentation impact is none — docs/development/setup.md stays version-agnostic and true, CI/build scripts consume the toolchain dynamically, vendored rust-version 1.85 floor remains satisfied, and the dated 1.98.1 measurement record correctly stays untouched; no product-contract, repository-rule, or historical-record change was declared and none was required.

  • No new findings.
    Coverage limits: used branch-rules, check-runs, and ci-runtime snapshots (all checks in_progress at head, no completed passing run) plus the acceptance manifest; acceptance scenarios, UI runtime report, and App installation permissions were not supplied/collected, so no build, UI, playback, permission, or performance result is claimed.

Trusted repository collaborators can rerun this review by commenting @docs-review review.

opencode-agent[bot]
opencode-agent Bot previously approved these changes Oct 4, 2026

@opencode-agent opencode-agent 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.

Thermos review of f95927c (first review): 0 new finding(s). No actionable findings remain in the reviewed scope.

Inspected full PR diff (rust-toolchain.toml channel 1.98.1 → 1.99.0, one line), PR description with Rust 1.99.0 release/compat notes, head file content at f95927c, rg sweeps for compat risks, and head-matched branch rules, check runs, CI runtime and acceptance manifest via both correctness and quality auditors.

  • No new findings.
    Coverage limits: Source policies success at head proves only its recorded execution; macOS verification queued and Linux domain, Playback script checks, documentation-review and thermos-review in progress/queued are pending and prove nothing yet; acceptance_scenarios not supplied (no completed head-matched CI run), no UI report/screenshot manifest, and no App installation permissions collected; this toolchain-only PR declares no product-contract or scenario change so no scenario IDs verified and none required, with pending macOS verification the explicit unverified gate.

Trusted repository collaborators can rerun this review by commenting @thermos review.

@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch from f95927c to 4b001f8 Compare October 5, 2026 18:29
@renovate renovate Bot changed the title Update Rust to v1.99.0 Update Playback engine dependencies Oct 5, 2026

@opencode-agent opencode-agent 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.

Documentation review of 4b001f8 (history rewritten since f95927c): 0 new finding(s). No actionable findings remain in the reviewed scope.

Inspected full PR 625 diff (Backend/spotty-playback/Cargo.toml and Cargo.lock librespot 939dc5e to e023adb, rust-toolchain.toml 1.98.1 to 1.99.0; no documentation hunks) with docs-sense and docs-spec against the head, assessing documentation impact against canonical guides (docs/product/queue.md, docs/development/setup.md and playback-artifacts.md, engine-contract and playback-engine-ownership, ADR-005 and ADR-006); no version-pinned claim goes stale, the Renovate table needs no contract or rule declaration, and no undeclared contract, rule, or historical-record change was found.

  • No new findings.
    Coverage limits: used pr.md, pr/changes diffs at head plus branch-rules and head-matched check-runs/ci-runtime snapshots (only Source policies success at head, other jobs in progress, proving recorded execution only); acceptance scenarios and UI runtime report not supplied and App installation permissions not collected per evidence.json, so no UI, playback, permission, or performance result is claimed.

Trusted repository collaborators can rerun this review by commenting @docs-review review.

@opencode-agent opencode-agent 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.

Thermos review of 4b001f8 (history rewritten since f95927c): 1 new finding(s).

Inspected full-mode changes.diff (== pr.diff, 3 files) at head 4b001f8 with both correctness and quality auditors plus direct head verification (Cargo.toml/Cargo.lock, vendor UPSTREAM/manifests, generate-playback-notices.py, and cargo check).

  • [P1] Backend/spotty-playback/Cargo.toml:21 — half-migrated librespot rev duplicates librespot-protocol and fails cargo check (E0308 at observed_resume.rs:450) and the retained UPSTREAM==pinned provenance gate; complete the vendor rebase to e023adb with a single lock entry or revert pins to 939dc5e.
    Coverage limits: acceptance manifest present (digest f835a65) but no verified scenarios (acceptance_scenarios not supplied, no completed head-matched CI run); dependency-only PR outside acceptance corpus with no declared contract/scenario changes, so no ID/version/corpus mismatch; check-runs show Source policies success with macOS verification, Linux domain, Playback script checks, documentation-review and thermos-review in_progress (run 37356282353), UI report and App permissions not supplied — pending CI proves nothing and build failure above is from executed cargo check, not source inference.

Trusted repository collaborators can rerun this review by commenting @thermos review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
once_cell = "1.19"
serde_json = "1.0"
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "e023adbbf017ae1fc10d01531dbe50c409786f2d" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Half-migrated librespot rev splits librespot-protocol into two crate identities and breaks the build plus the retained-patch provenance gate. Backend/spotty-playback/Cargo.toml pins e023adb for the direct librespot-protocol dependency, but [patch.librespot] still resolves core/connect/playback to vendor/librespot/*, whose manifests and vendor/librespot/UPSTREAM still pin 939dc5e. Evidence: head Cargo.lock carries two librespot-protocol 0.8.0 packages (old-rev source vs new-rev source) with vendored dependents on the old rev and spotty-playback on the new rev; cargo check --manifest-path Backend/spotty-playback/Cargo.toml at head fails with E0308 mismatched types at src/observed_resume.rs:450 (PlayerState from the new protocol passed to vendored connect/src/spirc.rs:transfer_observed expecting the old protocol's PlayerState); Scripts/generate-playback-notices.py:459-467 requires UPSTREAM (939dc5e) == Cargo.toml rev (e023adb) for path-patched core/connect/playback and would fail artifact publication. Fix in one PR: either complete the migration (rebase vendor/librespot/{core,connect,playback} + UPSTREAM/README/vendored manifests to e023adb and regenerate the lock to a single protocol revision) or revert the five Cargo.toml rev bumps and lock to 939dc5e.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head e01963a: Cargo.toml pins 4a00590 while vendor manifests and UPSTREAM still pin 939dc5e, and Cargo.lock still carries two librespot-protocol 0.8.0 entries with vendored dependents on the old rev and spotty-playback on the new rev.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 79e67f4 with new rev 60368dd: Cargo.toml direct librespot deps pin 60368dd while vendor/librespot manifests and UPSTREAM still pin 939dc5e, Cargo.lock still carries two librespot-protocol 0.8.0 entries (new rev for spotty-playback, old rev for vendored dependents), and the notices-script provenance gates still fail. Left unresolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 710e23e: Cargo.toml pins 6212dcf while vendor manifests and UPSTREAM still pin 939dc5e, and Cargo.lock still carries two librespot-protocol 0.8.0 entries. Left unresolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: Cargo.toml pins 1995951 while UPSTREAM and vendored manifests still pin 939dc5e, Cargo.lock still carries two librespot-protocol 0.8.0 entries, and the observed_resume.rs transfer_observed cross-boundary site remains.

@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch from 4b001f8 to e01963a Compare October 9, 2026 10:01

@opencode-agent opencode-agent 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.

Documentation review of e01963a (history rewritten since 4b001f8): 1 new finding(s).

Inspected PR 625 in full mode (base 9b5d72b..head e01963a) via both subagents over changes.diff plus repo context: 3 implementation files (Backend/spotty-playback/Cargo.toml, Cargo.lock, rust-toolchain.toml) with no changed docs, so assessed documentation impact explicitly; checked canonical owners THIRD_PARTY_NOTICES.md, Backend/spotty-playback/vendor/librespot/README.md and UPSTREAM, Scripts/generate-playback-notices.py, docs/development/setup.md and verification.md, docs/product/queue.md and playback.md, and ADR-005, and found no product-contract, repository-rule, or historical-record rewrite; PR description declares only Renovate dependency bumps (librespot 939dc5e to 4a00590, rust 1.98.1 to 1.99.0, claimed tokio 1.53.1 to 1.53.2 which Cargo.lock shows did not occur, still 1.53.1) with no contract/rule declarations and none required beyond the legal-notice omission below.

  • [P2] Backend/spotty-playback/Cargo.toml:14 — librespot pin now 4a00590 leaves THIRD_PARTY_NOTICES.md:32-33 singular 939dc5e claim stale and retained UPSTREAM/vendor mismatched so the notice generator invariant fails; complete the rebase sync (UPSTREAM, vendor manifests, notice) or document both revs.
    Coverage limits: used branch-rules.json, check-runs.json and ci-runtime.json (all required checks in_progress, none completed at head), acceptance-manifest.json present; acceptance_scenarios and ui_runtime_report not supplied and app_installation_permissions not collected, so no UI, playback, permission, or performance result is claimed and no passing CI step is cited.

Trusted repository collaborators can rerun this review by commenting @docs-review review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
[dependencies]
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-connect = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "4a005903e078d512456fb008aaa9ba6246881bd9" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Direct librespot pin moved to 4a005903e078d512456fb008aaa9ba6246881bd9 but the canonical legal notice THIRD_PARTY_NOTICES.md:32-33 still claims a singular pin to 939dc5ee9d833e1980f9495241219d9d4868a061, and the retained base still records the old rev. Evidence: Backend/spotty-playback/Cargo.toml:14-15,17,21,42 all request 4a00590 at head while Backend/spotty-playback/vendor/librespot/UPSTREAM:1 and Backend/spotty-playback/vendor/librespot/README.md:3-5 still record 939dc5e; Backend/spotty-playback/Cargo.lock now has two librespot-protocol packages (new-rev entry at :36-43 used by spotty-playback at :2256, old-rev entries retained for vendored crates at :1164,1198,1239); Scripts/generate-playback-notices.py:459-468 fails when retained UPSTREAM != Cargo.toml pinned rev (at head 939dc5e != 4a00590), and prior bump 9737819 synchronized Cargo.toml, UPSTREAM, vendor manifests and THIRD_PARTY_NOTICES.md together per vendor README review-on-pin-update rule. Fix: complete the provenance sync as in 9737819 — rebase vendor/librespot + UPSTREAM to 4a00590, update THIRD_PARTY_NOTICES.md:33 and vendor README pin, regenerate artifact notices — or, if the split graph is intentional, replace the singular pin claim with both revisions (retained 939dc5e vs direct-protocol 4a00590).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified at head 79e67f4 persists with new rev: Cargo.toml pins 60368dd while THIRD_PARTY_NOTICES.md:32-33, UPSTREAM, vendor README/preamble/overrides and retained lock entries still record 939dc5e with split librespot-protocol graph; generator fails closed per generate-playback-notices.py:459-468.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still open at head 710e23e: Cargo.toml:14-15,17,21,42 pin 6212dcf while THIRD_PARTY_NOTICES.md:32-33 and preamble still claim singular 939dc5e and Cargo.lock retains the split librespot-protocol graph (new rev for spotty-playback, old rev for vendored crates); UPSTREAM vs Cargo.toml mismatch still trips the generate-playback-notices.py:459-468 gate.

@opencode-agent opencode-agent 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.

Thermos review of e01963a (history rewritten since 4b001f8): 0 new finding(s). 1 earlier thread(s) remain open.

Inspected full-mode PR 625 at head e01963a (base 9b5d72b): pr.diff == changes.diff (Cargo.toml, Cargo.lock, rust-toolchain.toml), repo files, acceptance manifest, branch rules, head-matched check-runs and CI runtime via both correctness and quality audits.

  • No new findings: the dual-revision librespot-protocol split remains tracked by the existing thread and is not re-reported; the absent tokio lock bump has no demonstrated defect and needs no code fix.
  • Thread PRRT_kwDOUCEj686pKf4H persists (not resolved): verified Cargo.toml at 4a00590 vs vendor manifests/UPSTREAM at 939dc5e and two librespot-protocol 0.8.0 lock entries with split dependents.
  • Coverage limits: Source policies success proves only its recorded execution at e01963a; macOS verification queued and Linux domain, Playback script checks, documentation-review and thermos-review still in progress so pending CI is an explicit gap; no verified acceptance scenarios (no acceptance_scenarios snapshot, no manifest or scenario change, engine rev change outside the recorded corpus assertions), description lists tokio 1.53.1→1.53.2 but the lock remains at 1.53.1; no UI report or App permission evidence supplied.

Trusted repository collaborators can rerun this review by commenting @thermos review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
once_cell = "1.19"
serde_json = "1.0"
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "e023adbbf017ae1fc10d01531dbe50c409786f2d" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head e01963a: Cargo.toml pins 4a00590 while vendor manifests and UPSTREAM still pin 939dc5e, and Cargo.lock still carries two librespot-protocol 0.8.0 entries with vendored dependents on the old rev and spotty-playback on the new rev.

@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch from e01963a to 79e67f4 Compare October 16, 2026 11:13

@opencode-agent opencode-agent 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.

Documentation review of 79e67f4 (history rewritten since e01963a): 0 new finding(s). 1 earlier thread(s) remain open.

Inspected full PR 625 base...head 79e67f4 with docs-sense and docs-spec over changes.diff (= pr.diff, 3 implementation files: Backend/spotty-playback/Cargo.toml, Cargo.lock, rust-toolchain.toml) against head source; documentation impact is implementation-only with no changed docs but a concrete stale-provenance impact already tracked — checked canonical THIRD_PARTY_NOTICES.md, vendor/librespot UPSTREAM/README and manifests, Scripts/playback-notices-preamble.md, playback-license-overrides.json and generate-playback-notices.py, ADR-005/ADR-006, engine-contract.md, playback-engine-ownership.md, setup.md and measurements; pr.md declares no product-contract or rule change (Renovate table only) and no declared change required disposition.

  • No new findings — the librespot pin split and stale legal/provenance pin duplicate the open thread below, and rust 1.99.0, setup, measurements and ADRs need no update; pr.md serde_json/tokio bumps are absent from the diff and lock with no contract impact.
    Thread PRRT_kwDOUCEj686qu_w9: verified persists at head 79e67f4 (Cargo.toml 60368dd vs THIRD_PARTY_NOTICES.md:32-33, UPSTREAM, README, preamble/overrides and retained lock 939dc5e with split protocol graph), kept open.
    Coverage: used pr.diff, changes.diff, pr.md, threads.json, branch-rules, check-runs, ci-runtime and acceptance-manifest at head 79e67f4; acceptance_scenarios and ui_runtime_report not supplied, app installation permissions not collected, all head checks in_progress with no passing gate, and no upstream 60368dd diff supplied — no build, UI, playback, permission or performance result claimed beyond recorded step execution at its revision.

Trusted repository collaborators can rerun this review by commenting @docs-review review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
[dependencies]
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-connect = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "4a005903e078d512456fb008aaa9ba6246881bd9" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified at head 79e67f4 persists with new rev: Cargo.toml pins 60368dd while THIRD_PARTY_NOTICES.md:32-33, UPSTREAM, vendor README/preamble/overrides and retained lock entries still record 939dc5e with split librespot-protocol graph; generator fails closed per generate-playback-notices.py:459-468.

@opencode-agent opencode-agent 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.

Thermos review of 79e67f4 (history rewritten since e01963a): 1 new finding(s). 1 earlier thread(s) remain open.

Inspected full PR 625 (base 9b5d72b…head 79e67f4, history rewritten) with correctness and quality auditors: Cargo.toml/Cargo.lock/toolchain diff, head vendor manifests and UPSTREAM, observed_resume.rs→vendored spirc type edge, generate-playback-notices.py gates, and head-matched branch-rule/check/CI snapshots.

  • [P3] Backend/spotty-playback/Cargo.lock:2256 — advertised tokio 1.53.1→1.53.2 and serde_json 1.0.151→1.0.154 did not land: head lock still holds 1.53.1/1.0.151, identical to base; land the registry update or narrow the PR description.
  • Thread PRRT_kwDOUCEj686pKf4H (Backend/spotty-playback/Cargo.toml:21 split-rev protocol graph): verified still present at head — direct deps pin 60368dd while vendor patches/UPSTREAM pin 939dc5e with two librespot-protocol identities in the lock — left unresolved, no duplicate finding filed.
  • Coverage limits: used pr/changes diffs, head manifests/lock/vendor sources, notice-script gates, branch rules, and in-progress check/CI snapshots; acceptance_scenarios not supplied and all head CI checks were in_progress, so no verified scenarios (representative IDs shell.signed-out, browsing.navigation, playback.recovery unverified; holdout variations acceptance-only); no build executed and no UI/playback/permission result claimed; declaration mismatch: PR claims tokio 1.53.2/serde_json 1.0.154 but lock shows 1.53.1/1.0.151.

Trusted repository collaborators can rerun this review by commenting @thermos review.

Comment thread Backend/spotty-playback/Cargo.lock Outdated
"librespot-core",
"librespot-playback",
"librespot-protocol",
"librespot-protocol 0.8.0 (git+https://github.com/librespot-org/librespot?rev=60368dde8362881f233880d4e8beafb4150aafbb)",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P3] Claimed tokio/serde_json bumps did not land in the lockfile. The PR description advertises tokio 1.53.1 → 1.53.2 and serde_json 1.0.151 → 1.0.154, but the Cargo.lock diff contains only librespot lines and the head lock still pins tokio 1.53.1 (Cargo.lock:2555) and serde_json 1.0.151 (Cargo.lock:2106), byte-identical to base 9b5d72b (verified via git show of both revisions; the lock diff has no tokio/serde_json hunks). Reviewers will believe the registry updates applied when they did not, and the next Renovate run will re-propose them. Fix: either run the registry update into the lock (e.g. cargo update -p tokio -p serde_json) or narrow the PR title/body to the librespot-only change actually delivered.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 710e23e: Cargo.lock still pins tokio 1.53.1 and serde_json 1.0.151 with no tokio/serde_json hunks in the diff. Left unresolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: Cargo.lock still pins tokio 1.53.1 and serde_json 1.0.151 with no tokio/serde_json hunks in the diff, while the description still advertises 1.53.2/1.0.154.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
once_cell = "1.19"
serde_json = "1.0"
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "e023adbbf017ae1fc10d01531dbe50c409786f2d" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 79e67f4 with new rev 60368dd: Cargo.toml direct librespot deps pin 60368dd while vendor/librespot manifests and UPSTREAM still pin 939dc5e, Cargo.lock still carries two librespot-protocol 0.8.0 entries (new rev for spotty-playback, old rev for vendored dependents), and the notices-script provenance gates still fail. Left unresolved.

@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch from 79e67f4 to 710e23e Compare October 16, 2026 15:58

@opencode-agent opencode-agent 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.

Thermos review of 710e23e (history rewritten since 79e67f4): 2 new finding(s). 2 earlier thread(s) remain open.

Inspected full PR diff (base 9b5d72b...head 710e23e) with both auditors, head source (Cargo.toml/lock, vendor UPSTREAM/manifests, notices/promotion/build scripts, toolchain), PR description, and head-matched CI snapshots.

  • [P1] Backend/spotty-playback/Cargo.lock:1285 — split protocol identity also fails notices generation via the (name, version) ambiguity gate, and the forward fix must also update the librespot-* license override still pinning the old rev.
  • [P2] Backend/spotty-playback/Cargo.toml:14 — staged provenance would claim the new rev while compiled vendored sources remain the old rev, and promotion does not check librespotRevision.
  • Thread PRRT_kwDOUCEj686pKf4H (split-rev build/provenance break): unresolved, split persists at head with rev 6212dcf vs vendor 939dc5e and two lock entries.
  • Thread PRRT_kwDOUCEj686tLnaA (phantom tokio/serde_json bumps): unresolved, lock still pins tokio 1.53.1 and serde_json 1.0.151.
  • Coverage limits: branch rules, check-runs, CI runtime, and head acceptance manifest read; CI at head is in_progress with no completed head-matched run so acceptance_scenarios is not_supplied (no verified scenario IDs); no UI report or App permissions available; no build/playback outcome claimed beyond inspected source and lock/script evidence.

Trusted repository collaborators can rerun this review by commenting @thermos review.

Comment thread Backend/spotty-playback/Cargo.lock Outdated
[[package]]
name = "librespot-protocol"
version = "0.8.0"
source = "git+https://github.com/librespot-org/librespot?rev=6212dcfe6ca5d81035e56fc0ef699ec233410da9#6212dcfe6ca5d81035e56fc0ef699ec233410da9"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Split librespot-protocol identity deterministically fails notices generation through gates the existing thread does not cover. Head Cargo.lock carries two librespot-protocol 0.8.0 packages: new rev 6212dcf (Cargo.lock:1283-1289, used by spotty-playback at Cargo.lock:2256) and old rev 939dc5e (Cargo.lock:1291-1298, used by vendored core/connect dependents at Cargo.lock:1164,1198,1239). Scripts/generate-playback-notices.py keys cargo metadata by (name, version) only and fails on duplicates ('ambiguous package identity', lines 763-768), so generation cannot succeed while the split persists; this is distinct from the UPSTREAM==pinned gate already tracked. Additionally, a forward migration must update Scripts/playback-license-overrides.json: the 'librespot-*' override still pins source_revision 939dc5e (lines 68-80), so validate_override (lines 224-232, 259-269) would report 'source revision mismatch' for the new git protocol (expected 939dc5e vs actual 6212dcf). Evidence: Cargo.lock:1285 vs :1294; Cargo.toml:14,15,17,21 pin 6212dcf while vendor/librespot/UPSTREAM and vendored manifests pin 939dc5e. Fix in one PR: either complete the migration (rebase vendor/librespot core/connect/playback + UPSTREAM + vendored manifests + license overrides to 6212dcf and regenerate the lock to a single protocol entry) or revert Cargo.toml revs and lock to 939dc5e.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: two librespot-protocol 0.8.0 lock entries still trip the (name, version) duplicate gate, and playback-license-overrides.json still pins 939dc5e for librespot-*.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
[dependencies]
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-connect = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "6212dcfe6ca5d81035e56fc0ef699ec233410da9" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Published provenance misattributes the compiled librespot sources while the split persists. Backend/spotty-playback/build-xcframework.sh extracts librespot-core rev from Cargo.toml (lines 132-133) into provenance 'librespotRevision' (line 178), so head provenance would claim 6212dcf; but [patch.librespot] (Cargo.toml:35-38) redirects core/connect/playback to vendor path inputs (Cargo.lock path entries with no source) whose vendor/librespot/UPSTREAM and vendored manifests still pin 939dc5e, so the artifact is mostly old code. Scripts/playback_promotion.py validate_payload (lines 100-134) checks sourceRevision/digest/dirty only, not librespotRevision, so the misattribution would pass promotion. Evidence: Cargo.toml:14 (6212dcf) vs UPSTREAM:1 (939dc5e); build-xcframework.sh:132-133,178-179; playback_promotion.py:112-117 has no librespotRevision check. Fix: unify revs per the P1 fix so Cargo.toml rev == UPSTREAM == compiled inputs; consider adding a librespotRevision==UPSTREAM promotion/validation check.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: build-xcframework.sh still stamps librespotRevision from Cargo.toml (1995951) while [patch] compiles vendored 939dc5e sources.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
once_cell = "1.19"
serde_json = "1.0"
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "e023adbbf017ae1fc10d01531dbe50c409786f2d" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 710e23e: Cargo.toml pins 6212dcf while vendor manifests and UPSTREAM still pin 939dc5e, and Cargo.lock still carries two librespot-protocol 0.8.0 entries. Left unresolved.

Comment thread Backend/spotty-playback/Cargo.lock Outdated
"librespot-core",
"librespot-playback",
"librespot-protocol",
"librespot-protocol 0.8.0 (git+https://github.com/librespot-org/librespot?rev=60368dde8362881f233880d4e8beafb4150aafbb)",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 710e23e: Cargo.lock still pins tokio 1.53.1 and serde_json 1.0.151 with no tokio/serde_json hunks in the diff. Left unresolved.

@opencode-agent opencode-agent 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.

Documentation review of 710e23e (history rewritten since 79e67f4): 0 new finding(s). 1 earlier thread(s) remain open.

Full docs review of #625 at head 710e23e via docs-sense and docs-spec over changes.diff (= pr.diff, 96 lines across Backend/spotty-playback/Cargo.toml, Backend/spotty-playback/Cargo.lock, rust-toolchain.toml) with head-tree verification; documentation impact is indirect (no docs touched, but librespot 939dc5e→6212dcf and rust 1.98.1→1.99.0 bumps make the singular-pin legal notice stale); inspected canonical THIRD_PARTY_NOTICES.md:32-33, Scripts/playback-notices-preamble.md:32-33, vendor/librespot UPSTREAM/README/manifests, Scripts/generate-playback-notices.py:459-468 plus overrides, docs/development/setup.md, docs/product/*, engine-contract, enforcement/build-and-abi, ADR-005, and measurement records; pr.md's Renovate table names versions but no governed document or rationale so it declares nothing, and the diff touches no product contract, repository rule, or historical record, so no declared or undeclared contract/rule change.

  • No new findings (the librespot pin vs legal-notice mismatch verified at head is already tracked by thread PRRT_kwDOUCEj686qu_w9 and suppressed as a duplicate).
    Thread PRRT_kwDOUCEj686qu_w9: verified persists at head 710e23e (Cargo.toml pins 6212dcf vs notices/preamble singular 939dc5e with split Cargo.lock graph and UPSTREAM mismatch against the generator gate), kept open with an updated-rev reply.
    Coverage limits: used pr.md, identical pr/changes diffs, threads.json, evidence.json plus branch-rules, check-runs (Source policies success, others queued/in_progress), and ci-runtime snapshots at head 710e23e; acceptance scenarios and UI runtime report not supplied and app installation permissions not collected, so no UI, playback, permission, or performance result is claimed and CI proves only recorded execution at its revision.

Trusted repository collaborators can rerun this review by commenting @docs-review review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
[dependencies]
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-connect = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "4a005903e078d512456fb008aaa9ba6246881bd9" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still open at head 710e23e: Cargo.toml:14-15,17,21,42 pin 6212dcf while THIRD_PARTY_NOTICES.md:32-33 and preamble still claim singular 939dc5e and Cargo.lock retains the split librespot-protocol graph (new rev for spotty-playback, old rev for vendored crates); UPSTREAM vs Cargo.toml mismatch still trips the generate-playback-notices.py:459-468 gate.

@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch from 710e23e to 9be71ee Compare October 16, 2026 19:44

@opencode-agent opencode-agent 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.

Thermos review of 9be71ee (history rewritten since 710e23e): 0 new finding(s). 4 earlier thread(s) remain open.

Inspected full Renovate playback-dependency bump at head 9be71ee (base 9b5d72b) via pr/changes diffs, head Cargo.toml/Cargo.lock/vendor UPSTREAM and manifests, notices/provenance/promotion scripts, and head-matched branch rules plus check/CI snapshots with both correctness and quality auditors.
No new findings.
Thread PRRT_kwDOUCEj686pKf4H (split-protocol build break plus UPSTREAM gate): verified persisting, left unresolved.
Thread PRRT_kwDOUCEj686tLnaA (advertised tokio/serde_json bumps absent from lock): verified persisting, left unresolved.
Thread PRRT_kwDOUCEj686tRxTl (notices duplicate-identity plus license-override mismatch): verified persisting, left unresolved.
Thread PRRT_kwDOUCEj686tRxTt (provenance misattribution): verified persisting, left unresolved.
Coverage limits: branch rules, head-matched check-runs (all in_progress except cubic neutral) and CI runtime (run 38957161072 in_progress), and acceptance manifest (shell.signed-out, browsing.navigation, playback.recovery, holdout.playback-stale-order) were read; no verified scenarios since acceptance_scenarios is not supplied and CI is still pending, the description declares no contracts or scenario IDs so the playback-engine rev change leaves playback.recovery acceptance unverified, and there is no UI report or App permission evidence.

Trusted repository collaborators can rerun this review by commenting @thermos review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
once_cell = "1.19"
serde_json = "1.0"
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-protocol = { git = "https://github.com/librespot-org/librespot", rev = "e023adbbf017ae1fc10d01531dbe50c409786f2d" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: Cargo.toml pins 1995951 while UPSTREAM and vendored manifests still pin 939dc5e, Cargo.lock still carries two librespot-protocol 0.8.0 entries, and the observed_resume.rs transfer_observed cross-boundary site remains.

Comment thread Backend/spotty-playback/Cargo.lock Outdated
"librespot-core",
"librespot-playback",
"librespot-protocol",
"librespot-protocol 0.8.0 (git+https://github.com/librespot-org/librespot?rev=60368dde8362881f233880d4e8beafb4150aafbb)",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: Cargo.lock still pins tokio 1.53.1 and serde_json 1.0.151 with no tokio/serde_json hunks in the diff, while the description still advertises 1.53.2/1.0.154.

Comment thread Backend/spotty-playback/Cargo.lock Outdated
[[package]]
name = "librespot-protocol"
version = "0.8.0"
source = "git+https://github.com/librespot-org/librespot?rev=6212dcfe6ca5d81035e56fc0ef699ec233410da9#6212dcfe6ca5d81035e56fc0ef699ec233410da9"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: two librespot-protocol 0.8.0 lock entries still trip the (name, version) duplicate gate, and playback-license-overrides.json still pins 939dc5e for librespot-*.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
[dependencies]
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-connect = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "6212dcfe6ca5d81035e56fc0ef699ec233410da9" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Persists at head 9be71ee: build-xcframework.sh still stamps librespotRevision from Cargo.toml (1995951) while [patch] compiles vendored 939dc5e sources.

@opencode-agent opencode-agent 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.

Documentation review of 9be71ee (history rewritten since 710e23e): 1 new finding(s). 1 earlier thread(s) remain open.

Reviewed full PR 625 at head 9be71ee with docs-sense and docs-spec over changes.diff (identical to pr.diff, 3 files: Backend/spotty-playback/Cargo.toml, Backend/spotty-playback/Cargo.lock, rust-toolchain.toml, no docs changed) plus head inspection for documentation impact; inspected canonical THIRD_PARTY_NOTICES.md, Scripts/playback-notices-preamble.md, vendor/librespot UPSTREAM/README, Scripts/generate-playback-notices.py gate, and setup/toolchain guidance; PR description declares no product-contract or rule change (Renovate boilerplate only), so the librespot pin/provenance change below is undeclared, while the rust 1.98.1→1.99.0 bump declares nothing and requires no doc update.

  • [P2] Backend/spotty-playback/Cargo.toml:14 — librespot rev 939dc5e→1995951 leaves THIRD_PARTY_NOTICES/preamble singular-pin claim, UPSTREAM/vendor README, and split Cargo.lock graph stale with generator mismatch gate tripped; rebase vendor+UPSTREAM/notices or document both revs with PR declaration.
    Thread PRRT_kwDOUCEj686qu_w9 remains open: verified at head 9be71ee the same singular-pin vs split-graph mismatch persists (Cargo.toml 1995951 vs notices/UPSTREAM/vendor README 939dc5e, generator gate still trips), outdated flag is history-rewrite artifact only.
    Coverage limits: used pr.md, pr.diff/changes.diff, branch-rules, check-runs (in_progress except cubic neutral), ci-runtime (in_progress), acceptance-manifest; acceptance_scenarios and ui_runtime_report not supplied and app_installation_permissions not collected per evidence.json, so no UI, playback, permission, or performance result is claimed.

Trusted repository collaborators can rerun this review by commenting @docs-review review.

Comment thread Backend/spotty-playback/Cargo.toml Outdated
[dependencies]
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-connect = { git = "https://github.com/librespot-org/librespot", rev = "939dc5ee9d833e1980f9495241219d9d4868a061" }
librespot-core = { git = "https://github.com/librespot-org/librespot", rev = "19959512c212cbc48a3ff64382fe204f52c659a7" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Direct librespot pin moved to 1995951 without provenance/legal sync, so the checked-in singular-pin claim is false and the notice generator fails closed — undeclared in the PR description. Evidence: Backend/spotty-playback/Cargo.toml:14-15,17,21,42 at head all pin rev 19959512c212cbc48a3ff64382fe204f52c659a7 while the canonical legal notice THIRD_PARTY_NOTICES.md:32-33 (owned via Scripts/playback-notices-preamble.md:32-33) still claims singular pin to 939dc5ee9d833e1980f9495241219d9d4868a061 including its unmodified connect crate; Backend/spotty-playback/vendor/librespot/UPSTREAM:1 and vendor/librespot/README.md:3-5 still record 939dc5e; Backend/spotty-playback/Cargo.lock at head has a split librespot-protocol graph (new-rev entry at :1285 used by spotty-playback at :2256, old-rev entries retained for vendored crates at :1164,1198,1239); Scripts/generate-playback-notices.py:459-468 fails when retained UPSTREAM != Cargo.toml pinned rev (at head 939dc5e != 1995951), and vendor/librespot/README.md:53-55 requires reviewing the upstream diff when updating the pin; pr.md:1-271 is Renovate boilerplate with Rust/tokio/serde release notes and declares no THIRD_PARTY_NOTICES, UPSTREAM, vendor README, or split-graph change. Fix: complete the provenance sync — rebase vendor/librespot + UPSTREAM to 1995951, update preamble:33 (hence THIRD_PARTY_NOTICES.md:33), vendor README pin, and regenerate artifact notices — or, if the split graph is intentional, replace the singular-pin claim with both revisions plus rationale and declare it in the PR description.

@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch 4 times, most recently from d0fcb6f to 803ffb0 Compare October 21, 2026 20:54
@renovate
renovate Bot force-pushed the renovate/playback-engine-dependencies branch from 803ffb0 to 9f04705 Compare November 7, 2026 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants