fix(deps,app-cli): advisory bound, SDK 0.85.5, Renovate androidx pin, app-cli timeouts - #2245
Open
willgriffin wants to merge 6 commits into
Open
fix(deps,app-cli): advisory bound, SDK 0.85.5, Renovate androidx pin, app-cli timeouts#2245willgriffin wants to merge 6 commits into
willgriffin wants to merge 6 commits into
Conversation
bridge.test.ts spawns tsx on a fixture through StdioClientTransport and completes an MCP handshake before asserting. The package declared no testTimeout, so that ran against vitest's 5s default. It passed locally and on the affected lane, then timed out three times in the merge queue -- where mode: full actually runs this package -- and ejected an unrelated CI-only PR. Set both budgets explicitly at 30000, the value the rest of the workspace uses; hooks do not inherit testTimeout. Closes #2243
androidx.core 1.18+ and androidx.lifecycle 2.11+ require compileSdk 37, and both seed apps are pinned to compileSdk 36. The catalogs recorded that coupling only in comments, which Renovate cannot read, so every weekly update bumped core-ktx and lifecycle straight past it and left :sample:checkDebugAarMetadata failing the whole PR. Encode the constraint as two allowedVersions rules so the pin survives the weekly run, matching how renovate.json already expresses the template-package pin. Closes #2234
GHSA-rgw5-rvv9-x895 starts at brace-expansion 4.0.0, but #2203 widened the selector to a bare `@<5.0.9`, which also matches every 1.x, 2.x, and 3.x dependency. A consumer of an older major would be forced onto 5.0.9 — an unrelated breaking upgrade for a release outside the advisory. Both reviewers raised this against the identical selectors in #2205; the undici and fast-uri cases landed separately in #2210 with their advisory lower bounds intact. This applies the same correction to the third one. Fixing the upper bound is what keeps the override from going stale as the advisory widens; keeping the lower bound is what stops it reaching past the advisory. The two are independent and both are required. Verified neutral: `pnpm audit` reports `1 low | 6 moderate` before and after, brace-expansion appears in neither report, and the only lockfile change is the mirrored override key — no package resolution moves. Closes #2204
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR bundles several patch-class maintenance updates to keep dependency automation, security overrides, and CI test execution stable across the SMRT monorepo (Renovate constraints for Android deps, pnpm override bounds + SDK pin sync, and explicit Vitest timeouts for app-cli).
Changes:
- Add Renovate
allowedVersionsrules to prevent weekly AndroidX bumps that exceed the repo’s currentcompileSdk 36constraint. - Update centralized
@happyvertical/*SDK pins to^0.85.5(including correspondingminimumReleaseAgeExcludeentries) and regenerate the lockfile once. - Set explicit
testTimeoutandhookTimeout(30s) forpackages/app-clito prevent merge-queue timeouts in process-spawning tests.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| renovate.json | Adds Gradle package rules constraining AndroidX versions to remain compatible with compileSdk 36. |
| pnpm-workspace.yaml | Updates SDK override/catalog pins to ^0.85.5, narrows the brace-expansion override selector to the advisory’s affected range, and extends minimumReleaseAgeExclude. |
| pnpm-lock.yaml | Regenerates the lockfile to reflect the updated workspace overrides and SDK version pins. |
| packages/app-cli/vitest.config.ts | Sets explicit Vitest testTimeout/hookTimeout to avoid merge-queue timeouts for the MCP/tsx spawning test. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
This was referenced Aug 6, 2026
willgriffin
enabled auto-merge
August 6, 2026 02:35
Updating this branch to current main brought in packages/fields from #2230, which the lockfile predates: [ERR_PNPM_OUTDATED_LOCKFILE] pnpm-lock.yaml is not up to date with <ROOT>/packages/fields/package.json Regenerated with pnpm install --lockfile-only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
{"schema":"hv-agent-run:v1","runtime":"claude","session":"8a94e288-0358-403f-a3a6-8e81a80e6c5d","issue":"2204","head_sha":"b2e59d27a79efcd0896198ccfdbf412dfe1fb671","policy_revision":"1.0.0","status":"complete"}Why one PR
Four patch-class changes, four files, one validation pass. Supersedes #2244, #2235, #2205 and
#2233, all closed in favour of this branch; every commit is cherry-picked verbatim with its
original author.
Two of them make this more than a convenience: #2205 and #2233 both rewrite
pnpm-workspace.yamlandpnpm-lock.yaml. Merged separately they conflict, and whicheverlanded second would need a rebase and lockfile regeneration anyway. Bundling resolves that once.
e1a57d63bd41eca4077073473f25What lands
packages/app-cli/vitest.config.ts— explicittestTimeout/hookTimeoutat 30000.bridge.test.tsspawnstsxand completes an MCP handshake on what was vitest's 5 s default;it passed on the affected lane and timed out in the merge queue, ejecting perf(ci): unblock the validation lane — occupancy, hosted light jobs, fixture hookTimeout #2242.
renovate.json—allowedVersionsrules holdingandroidx.corebelow 1.18 andandroidx.lifecyclebelow 2.11, the constraintlibs.versions.tomlrecords only in commentsand Renovate therefore overrode every week, failing
:sample:checkDebugAarMetadata.pnpm-workspace.yaml—brace-expansionoverride regains its lower bound(
>=4.0.0 <5.0.9, matching GHSA-rgw5-rvv9-x895) so it no longer reaches into unaffectedmajors; SDK pins move
^0.84.0→^0.85.5with the matchingminimumReleaseAgeExcludeentries.pnpm-lock.yaml— regenerated once over both changes.Validation
pnpm install --lockfile-onlyafter both workspace edits produced zero drift from thecherry-picked lockfile, confirming the two commits were already mutually consistent
resolution moves
lockfile
Closes #2243
Closes #2234
Closes #2204