{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:recommended", "helpers:pinGitHubActionDigests"], "minimumReleaseAge": "3 days", "minimumReleaseAgeBehaviour": "timestamp-required", "internalChecksFilter": "strict", "prCreation": "immediate", "automerge": true, "rebaseWhen": "conflicted", "recreateWhen": "always", "separateMinorPatch": true, "postUpdateOptions": ["cargo:updateLockfile"], "packageRules": [ { "description": "Major version bumps often require code changes — require human review.", "matchUpdateTypes": ["major"], "automerge": false }, { "description": "Keep Rust crate updates isolated because 0.x minor releases often contain breaking changes. Group all minor updates per crate (don't split by individual version).", "matchManagers": ["cargo"], "groupName": null, "separateMinorPatch": true, "separateMultipleMinor": false }, { "description": "evalexpr v13 relicensed from MIT to AGPL-3.0 — pin below v13 until migrated to an MIT alternative.", "matchPackageNames": ["evalexpr"], "allowedVersions": "<13" }, { "description": "deadpool-redis re-exports redis types — version mismatch causes trait incompatibility.", "matchPackageNames": ["redis", "deadpool-redis"], "matchManagers": ["cargo"], "groupName": "redis" }, { "description": "earshot 1.2.x is a quantized re-implementation, not a tuning release: RNN weights move f32 -> i16 and the probability scale shifts, so the huddle VAD's calibrated threshold regresses at the shipped operating point (TPR 89.57% -> 88.46%, FPR 1.54% -> 2.79% on a matched 121-clip corpus). Unpin only together with a threshold re-pick against that corpus — see the VAD threshold constants in desktop/src-tauri/src/huddle/stt.rs.", "matchPackageNames": ["earshot"], "matchManagers": ["cargo"], "allowedVersions": "<1.2.0" }, { "description": "tiptap 3.23.x breaks editor lifecycle under real relay latency — pin until upstream stabilizes.", "matchPackageNames": ["@tiptap/{/,}**"], "allowedVersions": "<3.23.0" } ] }