chore(deps): master version-bump consolidation (closes #313, #314, #315)#316
Conversation
Bumps the production-dependencies group with 9 updates: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.13.0` | `2.13.1` | | [thiserror](https://github.com/dtolnay/thiserror) | `2.0.18` | `2.0.19` | | [toml](https://github.com/toml-rs/toml) | `1.1.2+spec-1.1.0` | `1.1.3+spec-1.1.0` | | [serde_json](https://github.com/serde-rs/json) | `1.0.150` | `1.0.151` | | [tokio](https://github.com/tokio-rs/tokio) | `1.52.3` | `1.53.0` | | [futures-util](https://github.com/rust-lang/futures-rs) | `0.3.32` | `0.3.33` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.67` | `1.3.0` | | [bytemuck](https://github.com/Lokathor/bytemuck) | `1.25.1` | `1.25.2` | | [clap](https://github.com/clap-rs/clap) | `4.6.1` | `4.6.2` | Updates `bitflags` from 2.13.0 to 2.13.1 - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](bitflags/bitflags@2.13.0...2.13.1) Updates `thiserror` from 2.0.18 to 2.0.19 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](dtolnay/thiserror@2.0.18...2.0.19) Updates `toml` from 1.1.2+spec-1.1.0 to 1.1.3+spec-1.1.0 - [Commits](toml-rs/toml@toml-v1.1.2...toml-v1.1.3) Updates `serde_json` from 1.0.150 to 1.0.151 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.150...v1.0.151) Updates `tokio` from 1.52.3 to 1.53.0 - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](tokio-rs/tokio@tokio-1.52.3...tokio-1.53.0) Updates `futures-util` from 0.3.32 to 0.3.33 - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/main/CHANGELOG.md) - [Commits](rust-lang/futures-rs@0.3.32...0.3.33) Updates `cc` from 1.2.67 to 1.3.0 - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md) - [Commits](rust-lang/cc-rs@cc-v1.2.67...cc-v1.3.0) Updates `bytemuck` from 1.25.1 to 1.25.2 - [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md) - [Commits](Lokathor/bytemuck@v1.25.1...v1.25.2) Updates `clap` from 4.6.1 to 4.6.2 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](clap-rs/clap@clap_complete-v4.6.1...clap_complete-v4.6.2) --- updated-dependencies: - dependency-name: bitflags dependency-version: 2.13.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: thiserror dependency-version: 2.0.19 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: toml dependency-version: 1.1.3+spec-1.1.0 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: serde_json dependency-version: 1.0.151 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: tokio dependency-version: 1.53.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: futures-util dependency-version: 0.3.33 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: cc dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: bytemuck dependency-version: 1.25.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: clap dependency-version: 4.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [lz4_flex](https://github.com/pseitz/lz4_flex) from 0.13.1 to 0.14.0. - [Release notes](https://github.com/pseitz/lz4_flex/releases) - [Changelog](https://github.com/PSeitz/lz4_flex/blob/main/CHANGELOG.md) - [Commits](PSeitz/lz4_flex@0.13.1...0.14.0) --- updated-dependencies: - dependency-name: lz4_flex dependency-version: 0.14.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Applies the same bump as PR #313 (dependabot). v7 migrates the action to ESM, pins its own dependency SHAs, and reclassifies stderr warnings so they no longer surface as spurious annotation errors. No workflow input changes required on our side.
Sweeps the rest of the workspace's semver-compatible Cargo.lock entries after cherry-picking the three open Dependabot PRs (#313-#315). tokio's 1.53.1 point release also drops its transitive windows-sys 0.53.5 / windows_*_0.53.1 dependency set entirely (upstream no longer needs it on this platform), so the lockfile shrinks slightly as a side effect. Surveyed the remainder of the tree via `cargo outdated --workspace` (root-deps and full) and confirmed nothing else is actionable: - getrandom 0.2.17 (wasm32) is pulled transitively by `ring` (via rustls/tungstenite/ureq), which hasn't moved off getrandom ^0.2 upstream — outside our control. - wgpu/naga 30.0.0 are out because egui-wgpu 0.35.0 (the newest egui release) still pins `wgpu = "^29.0"`; bumping wgpu alone would split the tree onto two incompatible wgpu majors. Stays in the existing egui 0.35 / wgpu 29 / winit 0.30.13 / accesskit 0.24.1 tier until egui itself moves. - All GitHub Actions in .github/workflows/*.yml are already pinned to their current major tag (checkout@v7, upload-artifact@v7, etc.), which floats to the latest point release automatically.
Also adds .coderabbit.yaml so CodeRabbit is pre-configured as an alternate PR review bot (alongside gemini-code-assist and copilot-pull-request-reviewer) for whenever the GitHub App is installed on this repo — Gemini's daily review quota has been hit before, and CodeRabbit gives a fallback that doesn't depend on it.
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
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:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR adds CodeRabbit configuration, updates the Pages workflow’s Python setup action, bumps the workspace ChangesReview configuration
Dependency and CI updates
Estimated code review effort: 3 (Moderate) | ~20 minutes 🚥 Pre-merge checks | ✅ 8 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (8 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Consolidates multiple dependency bumps (three Dependabot PRs + a workspace cargo update) into a single change, along with a small CI workflow update and a new CodeRabbit configuration file.
Changes:
- Bump
lz4_flexto0.14and refreshCargo.lockwith multiple transitive updates (e.g.,tokio,clap,thiserror,toml, etc.). - Update GitHub Pages/MkDocs workflow to use
actions/setup-python@v7. - Add
.coderabbit.yamlto preconfigure CodeRabbit as an additional PR review bot.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
CHANGELOG.md |
Adds an Unreleased “Changed” entry describing the dependency consolidation (needs version-number corrections to match Cargo.lock). |
Cargo.toml |
Updates the workspace lz4_flex dependency to 0.14 (needs alloc feature enabled when default-features = false). |
Cargo.lock |
Workspace-wide lockfile refresh reflecting the consolidated dependency updates. |
.github/workflows/web.yml |
Bumps actions/setup-python from v6 to v7 for the MkDocs step. |
.coderabbit.yaml |
Introduces CodeRabbit configuration (review preferences + path-specific instructions). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lz4_flex 0.14 (bumped from 0.13 by the PR #315 Dependabot cherry-pick) split its own no_std support into a real alloc-vs-std distinction: compress_prepend_size/decompress_size_prepended (the Vec-returning block API rustynes-core's rewind.rs and zwinder.rs use for per-frame snapshot compression) now live behind the crate's `alloc` feature specifically, not `std`. The workspace's lz4_flex dependency line only requested `safe-encode`/`safe-decode` with default-features off, so a standalone no-std-feature build of rustynes-core (exactly what the CI `no_std build (thumbv7em-none-eabihf)` job runs, and what neither Dependabot's own checks nor my local `cargo build --workspace` catch, since a workspace build pulls in `lz4_flex/std` — which implies `alloc` — via rustynes-core's own default-on `std` feature) failed to compile: E0432, `no compress_prepend_size in block`. Fix: request `alloc` unconditionally in the workspace lz4_flex spec. rustynes-core already links `extern crate alloc;` in every build, std or not, so this costs nothing on the no_std path; `std` still implies `alloc` via lz4_flex's own feature table for the desktop/wasm builds, so nothing changes there either. Verified with the exact CI invocation: cargo build -p rustynes-core --target thumbv7em-none-eabihf --no-default-features plus a full `cargo fmt --check` / `cargo clippy --workspace --all-targets -D warnings` / `cargo test --workspace` re-run.
Copilot's review on PR #316 caught a real inaccuracy: the Unreleased entry said tokio moved 1.53.0 -> 1.53.1, but main was actually on 1.52.3 (verified against origin/main's Cargo.lock) — the 1.53.0 reading came from an intermediate state after the Dependabot cherry-picks, before the workspace-wide `cargo update` ran. Also notes the `alloc` feature addition to the lz4_flex line (the no_std-build fix from the previous commit) so the changelog matches what actually shipped.
|
@coderabbitai re: the "Out of Scope Changes" pre-merge check on |
|
Tip For best results, initiate chat on the files or code changes.
|
Sets reviews.profile to "assertive" (deliberately more thorough than
the "chill" default) — this project treats accuracy/determinism
regressions and no_std/unsafe boundary mistakes as high-cost (they can
silently break AccuracyCoin or a save-state/movie format), so a few
extra nitpicks are worth it in exchange for not missing the comment
that matters.
Also, researched CodeRabbit's full configuration schema
(docs.coderabbit.ai) and tailored it to what this repo actually is,
rather than leaving ~50 tools at their silent defaults:
- knowledge_base.code_guidelines now points at AGENTS.md/CLAUDE.md,
CONTRIBUTING.md, testing-strategy.md, and architecture.md so reviews
are informed by this project's own conventions.
- Four deterministic custom_checks encoding project rules that
otherwise only live in AGENTS.md: docs-as-spec sync for chip-behavior
changes, a CHANGELOG entry for user-visible changes, no unwrap/expect/
panic on untrusted input, and a SAFETY comment on new unsafe blocks.
- path_instructions extended to rustynes-core (Bus-ownership + save-
state/format-version invariants), the egui/wgpu/winit/naga/accesskit
version-tier lock, the Kotlin/Android and Swift/iOS apps, and CI
workflow hygiene (pinned actions, least-privilege permissions).
- path_filters now also excludes crates/rustynes-cheevos/vendor/
(vendored upstream rcheevos C we don't maintain — was previously
unfiltered and would have generated noise against code we can't
change).
- tools{} explicitly enables what's actually present in this repo
(verified via a language-footprint audit, not guessed): clippy,
semgrep/opengrep, gitleaks/trufflehog, osvScanner, actionlint/zizmor,
yamllint, markdownlint, shellcheck, hadolint (2 Dockerfiles under
deploy/), checkmake (rustynes-libretro/Makefile), detekt (50 Kotlin
files), swiftlint (52 Swift files), ruff (60 Python files),
luacheck (17 Lua files), clang/cppcheck (first-party C in
rustynes-ios/include, distinct from the vendored/excluded rcheevos).
Explicitly disables ~25 tools for ecosystems this repo has zero
content in (PHP/Ruby/Terraform/SQL/Prisma/Shopify/Ember/PowerShell/
etc.), plus pylint/flake8 (redundant with ruff) — left explicit
rather than silently defaulted-on so the config documents the actual
stack instead of inheriting noise for languages nobody writes here.
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai full review |
✅ Action performedFull review finished. |
CodeRabbit's schema caps tone_instructions at 250 characters; the previous text was 458 (including the trailing newline from the folded block scalar) and failed validation outright, so the config wasn't actually being applied. Trimmed to the load-bearing part — no emojis/ poems, prioritize determinism/no_std/unsafe correctness over style nits CI's own clippy/rustfmt/markdownlint gates already catch — at 201 characters, switching to a stripped folded scalar (>-) so the trailing newline doesn't eat into the budget either.
|
@coderabbitai configuration |
|
Configuration used: Path: .coderabbit.yaml CodeRabbit configuration# Source: Repository YAML (base)
language: en-US
# Source: Repository YAML (base)
tone_instructions: Precise, technical language. No emojis or poems. Prioritize determinism and no_std/unsafe-boundary correctness in rustynes-* chip crates over style nits clippy/rustfmt/markdownlint already catch in CI.
# Source: defaults
early_access: false
# Source: defaults
enable_free_tier: true
# Source: defaults
inheritance: false
reviews:
# Source: Repository YAML (base)
profile: assertive
# Source: Repository YAML (base)
request_changes_workflow: false
# Source: Repository YAML (base)
high_level_summary: true
# Source: defaults
high_level_summary_instructions: ''
# Source: defaults
high_level_summary_placeholder: '`@coderabbitai` summary'
# Source: defaults
high_level_summary_in_walkthrough: false
# Source: defaults
auto_title_placeholder: '`@coderabbitai`'
# Source: defaults
auto_title_instructions: ''
# Source: Repository YAML (base)
review_status: true
# Source: defaults
review_details: false
# Source: defaults
review_progress: true
# Source: defaults
commit_status: true
# Source: defaults
fail_commit_status: false
# Source: Repository YAML (base)
collapse_walkthrough: true
# Source: Repository YAML (base)
changed_files_summary: true
# Source: Repository YAML (base)
sequence_diagrams: true
# Source: Repository YAML (base)
estimate_code_review_effort: true
# Source: Repository YAML (base)
assess_linked_issues: true
# Source: Repository YAML (base)
related_issues: true
# Source: Repository YAML (base)
related_prs: true
# Source: Repository YAML (base)
suggested_labels: true
# Source: defaults
labeling_instructions: []
# Source: defaults
mutually_exclusive_groups: {}
# Source: Repository YAML (base)
auto_apply_labels: false
# Source: Repository YAML (base)
suggested_reviewers: true
# Source: Repository YAML (base)
auto_assign_reviewers: false
# Source: defaults
suggested_reviewers_instructions: []
# Source: defaults
in_progress_fortune: true
# Source: Repository YAML (base)
poem: false
# Source: defaults
enable_prompt_for_ai_agents: true
# Source: Repository YAML (base)
path_filters:
- '!ref-proj/**'
- '!ref-docs/**'
- '!docs/archive/**'
- '!to-dos/archive/**'
- '!Cargo.lock'
- '!crates/rustynes-cheevos/vendor/**'
# Source: Repository YAML (base)
path_instructions:
- path: crates/rustynes-cpu/**
instructions: |
This is a #![no_std] deterministic 6502 core validated against nestest and the blargg/kevtris/AccuracyCoin test-ROM suites. Flag anything that could introduce non-determinism (wall-clock, OS RNG, unordered iteration) or break cycle-accuracy.
- path: crates/rustynes-ppu/**
instructions: |
PPU-dot-resolution lockstep timing is load-bearing (see docs/scheduler.md). Flag any change that could shift sub-instruction PPU event timing without an accompanying test-ROM justification.
- path: crates/rustynes-apu/**
instructions: |
Audio synthesis must stay byte-identical to the golden vectors in tests/golden/ unless the PR explicitly re-blesses them.
- path: crates/rustynes-core/**
instructions: |
The Bus owns all mutable subsystem state; the CPU/PPU/APU each see only the narrow trait (PpuBus/ApuBus) they need. Flag any change that widens a crate's access beyond that, or that could break save-state / TAS movie / netplay-replay format compatibility without an accompanying format-version bump (see ADR 0028).
- path: crates/*/Cargo.toml
instructions: |
This workspace pins a single compatible egui/wgpu/winit/naga/ accesskit tier (currently egui 0.35 / wgpu 29 / winit 0.30.13 / accesskit 0.24.1). Flag a version bump to any one of these crates that isn't accompanied by matching bumps to the others, or that would require two incompatible major versions of the same transitive dependency to coexist.
- path: android/**/*.kt
instructions: |
Kotlin/Compose Android app. Flag Compose recomposition footguns (unstable lambdas/params causing unnecessary recomposition) and any direct filesystem/SharedPreferences access that bypasses the existing UniFFI bridge to rustynes-mobile.
- path: '**/*.swift'
instructions: |
SwiftUI/Metal iOS app calling into rustynes-mobile via UniFFI- generated bindings. Flag force-unwraps (`!`) on values that originate from the Rust bridge or from user/file I/O.
- path: scripts/**/*.py
instructions: |
One-off developer tooling, not shipped product code. Prioritize correctness and clear error messages over style; don't ask for packaging/type-hints polish unless it affects correctness.
- path: .github/workflows/**
instructions: |
Flag unpinned third-party actions (should be pinned to a version tag or commit SHA, not a branch), missing least-privilege `permissions:` blocks, and secrets echoed into logs.
- path: '**/*.md'
instructions: |
Docs are the spec here, not a changelog. Flag documentation that drifts from the code it describes rather than just prose nits. This repo's markdownlint gate is pinned to v0.39.0 via pre-commit (see CLAUDE.md) — don't flag rules that version doesn't have.
# Source: defaults
abort_on_close: true
# Source: defaults
disable_cache: false
slop_detection:
# Source: Repository YAML (base)
enabled: true
auto_review:
# Source: Repository YAML (base)
enabled: true
# Source: defaults
description_keyword: ''
# Source: Repository YAML (base)
auto_incremental_review: true
# Source: defaults
auto_pause_after_reviewed_commits: 5
# Source: Repository YAML (base)
ignore_title_keywords:
- WIP
- DO NOT REVIEW
# Source: defaults
labels: []
# Source: Repository YAML (base)
drafts: false
# Source: defaults
base_branches: []
# Source: defaults
ignore_usernames: []
finishing_touches:
docstrings:
# Source: Repository YAML (base)
enabled: true
unit_tests:
# Source: Repository YAML (base)
enabled: true
simplify:
# Source: Repository YAML (base)
enabled: false
autofix:
# Source: Repository YAML (base)
enabled: true
fix_ci:
# Source: defaults
enabled: true
resolve_merge_conflict:
# Source: defaults
enabled: true
# Source: defaults
custom: []
pre_merge_checks:
# Source: defaults
override_requested_reviewers_only: false
docstrings:
# Source: Repository YAML (base)
mode: warning
# Source: Repository YAML (base)
threshold: 80
title:
# Source: Repository YAML (base)
mode: warning
# Source: defaults
requirements: ''
description:
# Source: Repository YAML (base)
mode: warning
issue_assessment:
# Source: Repository YAML (base)
mode: warning
# Source: Repository YAML (base)
custom_checks:
- mode: warning
name: Docs-as-spec sync
instructions: |
If this PR changes observable behavior in crates/rustynes-cpu, crates/rustynes-ppu, crates/rustynes-apu, or crates/rustynes-mappers (not just internal refactoring), the matching docs/<subsystem>.md file should be updated in the same PR. Fail if a chip-behavior change has no corresponding docs change and the PR body doesn't explain why one isn't needed.
- mode: warning
name: CHANGELOG entry for user-visible changes
instructions: |
If this PR changes user-visible behavior, adds a feature, or fixes a user-facing bug, CHANGELOG.md should gain an entry under [Unreleased]. Pass for pure-internal refactors, dependency-only bumps with no behavior change, or CI/tooling-only changes.
- mode: warning
name: No unwrap/expect/panic on untrusted input
instructions: |
Flag any new `.unwrap()`, `.expect()`, or `panic!()` applied to data parsed from an external/untrusted source (ROM/save-state/ movie file bytes, network/netplay messages, user-supplied paths) outside of #[cfg(test)] code. These boundaries must return a typed Result/error instead. Pass if the unwrap/expect is on a value the code just constructed or an invariant already checked nearby.
- mode: warning
name: SAFETY comment on new unsafe blocks
instructions: |
Every new `unsafe { ... }` block or `unsafe fn` must have an adjacent `// SAFETY:` comment explaining the invariant the caller upholds. Fail if a new unsafe block has no such comment nearby.
# Source: defaults
post_merge_actions: []
tools:
ast-grep:
# Source: defaults
rule_dirs: []
# Source: defaults
util_dirs: []
# Source: Repository YAML (base)
essential_rules: true
# Source: defaults
packages: []
shellcheck:
# Source: Repository YAML (base)
enabled: true
ruff:
# Source: Repository YAML (base)
enabled: true
markdownlint:
# Source: Repository YAML (base)
enabled: true
github-checks:
# Source: defaults
enabled: true
# Source: defaults
timeout_ms: 90000
languagetool:
# Source: defaults
enabled: true
# Source: defaults
enabled_rules: []
# Source: defaults
disabled_rules: []
# Source: defaults
enabled_categories: []
# Source: defaults
disabled_categories: []
# Source: defaults
enabled_only: false
# Source: defaults
level: default
biome:
# Source: defaults
enabled: true
hadolint:
# Source: Repository YAML (base)
enabled: true
swiftlint:
# Source: Repository YAML (base)
enabled: true
phpstan:
# Source: Repository YAML (base)
enabled: false
# Source: defaults
level: default
phpmd:
# Source: Repository YAML (base)
enabled: false
phpcs:
# Source: Repository YAML (base)
enabled: false
golangci-lint:
# Source: defaults
enabled: true
yamllint:
# Source: Repository YAML (base)
enabled: true
gitleaks:
# Source: Repository YAML (base)
enabled: true
trufflehog:
# Source: Repository YAML (base)
enabled: true
checkov:
# Source: Repository YAML (base)
enabled: false
tflint:
# Source: Repository YAML (base)
enabled: false
detekt:
# Source: Repository YAML (base)
enabled: true
eslint:
# Source: defaults
enabled: true
e18e:
# Source: defaults
enabled: true
flake8:
# Source: Repository YAML (base)
enabled: false
fbinfer:
# Source: Repository YAML (base)
enabled: false
# Source: defaults
enable_java: false
fortitudeLint:
# Source: defaults
enabled: true
rubocop:
# Source: Repository YAML (base)
enabled: false
buf:
# Source: Repository YAML (base)
enabled: false
regal:
# Source: Repository YAML (base)
enabled: false
actionlint:
# Source: Repository YAML (base)
enabled: true
zizmor:
# Source: Repository YAML (base)
enabled: true
pmd:
# Source: Repository YAML (base)
enabled: false
clang:
# Source: Repository YAML (base)
enabled: true
cppcheck:
# Source: Repository YAML (base)
enabled: true
opengrep:
# Source: Repository YAML (base)
enabled: true
semgrep:
# Source: Repository YAML (base)
enabled: true
circleci:
# Source: Repository YAML (base)
enabled: false
clippy:
# Source: Repository YAML (base)
enabled: true
sqlfluff:
# Source: Repository YAML (base)
enabled: false
squawk:
# Source: Repository YAML (base)
enabled: false
trivy:
# Source: defaults
enabled: true
prismaLint:
# Source: Repository YAML (base)
enabled: false
pylint:
# Source: Repository YAML (base)
enabled: false
oxc:
# Source: defaults
enabled: true
shopifyThemeCheck:
# Source: Repository YAML (base)
enabled: false
luacheck:
# Source: Repository YAML (base)
enabled: true
brakeman:
# Source: Repository YAML (base)
enabled: false
dotenvLint:
# Source: Repository YAML (base)
enabled: false
htmlhint:
# Source: Repository YAML (base)
enabled: false
stylelint:
# Source: Repository YAML (base)
enabled: false
checkmake:
# Source: Repository YAML (base)
enabled: true
osvScanner:
# Source: Repository YAML (base)
enabled: true
oasdiff:
# Source: Repository YAML (base)
enabled: false
reactDoctor:
# Source: Repository YAML (base)
enabled: false
presidio:
# Source: defaults
enabled: true
blinter:
# Source: Repository YAML (base)
enabled: false
smartyLint:
# Source: Repository YAML (base)
enabled: false
emberTemplateLint:
# Source: Repository YAML (base)
enabled: false
skillspector:
# Source: defaults
enabled: true
psscriptanalyzer:
# Source: Repository YAML (base)
enabled: false
chat:
# Source: defaults
art: true
# Source: defaults
allow_non_org_members: true
# Source: Repository YAML (base)
auto_reply: true
integrations:
jira:
# Source: defaults
usage: auto
linear:
# Source: defaults
usage: auto
knowledge_base:
# Source: Repository YAML (base)
opt_out: false
web_search:
# Source: Repository YAML (base)
enabled: true
code_guidelines:
# Source: Repository YAML (base)
enabled: true
# Source: Repository YAML (base)
filePatterns:
- '**/AGENTS.md'
- '**/CLAUDE.md'
- docs/dev/CONTRIBUTING.md
- docs/testing-strategy.md
- docs/architecture.md
learnings:
# Source: Repository YAML (base)
scope: auto
# Source: defaults
approval_delay: 0
issues:
# Source: Repository YAML (base)
scope: auto
jira:
# Source: defaults
usage: auto
# Source: defaults
project_keys: []
linear:
# Source: defaults
usage: auto
# Source: defaults
team_keys: []
pull_requests:
# Source: Repository YAML (base)
scope: auto
mcp:
# Source: defaults
usage: auto
# Source: defaults
disabled_servers: []
# Source: defaults
automatic_repository_linking: false
# Source: defaults
linked_repositories: []
code_generation:
docstrings:
# Source: defaults
path_instructions: []
unit_tests:
# Source: defaults
path_instructions: []
issue_enrichment:
auto_enrich:
# Source: defaults
enabled: false
planning:
# Source: defaults
enabled: true
auto_planning:
# Source: defaults
enabled: true
# Source: defaults
labels: []
labeling:
# Source: defaults
labeling_instructions: []
# Source: defaults
auto_apply_labels: false
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.coderabbit.yaml:
- Around line 17-24: Shorten the folded-scalar value for tone_instructions to no
more than 250 characters while preserving its key requirements: precise
technical language, no emojis or poems, prioritization of correctness,
determinism, and no_std/unsafe-boundary issues, and avoidance of findings
already covered by CI tooling.
In @.github/workflows/web.yml:
- Line 120: Update the actions/setup-python step to reference the full immutable
commit SHA for the intended v7 release instead of the mutable `@v7` tag,
preserving the existing action configuration.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: ee14f60b-2189-4240-9a09-f94770c21e4b
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (4)
.coderabbit.yaml.github/workflows/web.ymlCHANGELOG.mdCargo.toml
|
@coderabbitai re: the "Out of Scope Changes" warning on `.coderabbit.yaml` (re-raised fresh by the full review) — same rationale as before, restating since a full review doesn't inherit an incremental review's earlier withdrawal: this is a zero-risk, zero-source-change tooling addition, added mid-PR because Gemini hit its daily review quota and a working fallback reviewer was needed for this PR, not a future one. It's flagged as a warning, not an error, so it doesn't block |
|
Tip For best results, initiate chat on the files or code changes.
|
Summary
Consolidates the three open Dependabot PRs (#313, #314, #315) into one reviewed change, plus a full workspace
cargo updatesweep and a survey of everything else in the tree for anything further that's safely bumpable.actions/setup-pythonv6 → v7 (MkDocs step inweb.yml)production-dependenciesDependabot group (9 Cargo.lock-only patch bumps: bitflags, bytemuck, cc, clap, futures-core/-macro/-sink/-task/-util, serde_json)lz4_flex0.13 → 0.14 (save-state/movie compression;default-features = false+safe-encode/safe-decoderetained)cargo update: tokio 1.53.0 → 1.53.1 (also drops its transitivewindows-sys/windows_*0.53.x deps entirely — upstream no longer needs them), clap/clap_derive → 4.6.3All Cargo.lock-only or single-line CI edits — zero source changes, deterministic
#![no_std]core untouched.What else was surveyed and intentionally left alone
getrandom0.2.17 (wasm32 target) — pulled transitively viaring(rustls/tungstenite/ureq);ringhasn't moved offgetrandom ^0.2upstream. Outside our control.wgpu/naga30.0.0 — blocked becauseegui-wgpu0.35.0 (the newest egui release) still requireswgpu = "^29.0". Bumping wgpu alone would split the tree across two incompatible wgpu majors; stays in the existing egui 0.35 / wgpu 29 / winit 0.30.13 / accesskit 0.24.1 tier until egui itself moves..github/workflows/*.ymlare already pinned to their current major tag (checkout@v7,upload-artifact@v7, etc.), which floats to the latest point release automatically — verified against each action's latest GitHub release.Bonus
Adds
.coderabbit.yamlso CodeRabbit is pre-configured as an alternate PR review bot (Gemini's daily review quota has been hit before).Testing
cargo fmt --all --checkcargo clippy --workspace --all-targets -- -D warningscargo clippy -p rustynes-frontend --all-targets --features scripting -- -D warningscargo clippy -p rustynes-frontend --all-targets --features scripting,hd-pack -- -D warningscargo clippy -p rustynes-frontend --all-targets --features retroachievements -- -D warningscargo test --workspacecargo build --workspace/cargo build --release --workspace🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores
allocsupport while keeping existing safety/encode-decode behavior.