Repository navigation
[failproofai-legion-926] Combine the three open Dependabot PRs and clear the Supply Chain gate - #926
Conversation
Bumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19. - [Commits](certifi/python-certifi@2026.07.22...2026.10.19) --- updated-dependencies: - dependency-name: certifi dependency-version: 2026.10.19 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19. - [Commits](certifi/python-certifi@2026.07.22...2026.10.19) --- updated-dependencies: - dependency-name: certifi dependency-version: 2026.10.19 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the npm_and_yarn group with 1 update in the /sdk/typescript directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 8.3.0 to 8.3.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.3.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 8.3.4 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com>
…ependabot PRs could not pass alone OSV-Scanner scans every lockfile in the repo, so #921, #922 and #923 each failed on what the other two fix plus findings no Dependabot PR touches. Their commits are cherry-picked unchanged ahead of this one; this clears the rest: - bun.lock: the vite override 8.0.16 -> 8.1.6 (GHSA-587h-7wmj-h5pm, GHSA-698v-4r3x-3vcv, GHSA-9jrq-w75r-8gcw, GHSA-r825-w8mm-5pxw, GHSA-rq7h-c2jc-7f22), the smallest fixed release. It needs rolldown ~1.1.5, so rolldown 1.0.3 -> 1.1.5 and its platform packages move with it, plus the wasm32-only emnapi/napi-rs helpers that rolldown's wasm binding pins. Spliced in from bun's own resolution of that subtree, because re-resolving the lock moves ~120 unrelated packages; `bun install --frozen-lockfile` accepts it and a plain `bun install` leaves it unchanged. - Cargo.lock: rustls-webpki 0.103.15 -> 0.103.16 (RUSTSEC-2026-0382) and webpki-roots 1.0.9 -> 1.0.10 (RUSTSEC-2026-0381); `cargo update -p`, nothing else moves. - sdk/typescript/package-lock.json: vitest 5.0.1 -> 5.0.5 in range (GHSA-qxg6-89mg-rqv8, GHSA-xp26-3454-mjgp in @vitest/mocker); vite moves on from #921's 8.3.4 to 8.3.5 with it. - sdk/python/uv.lock: uv 0.11.33 -> 0.13.5 (GHSA-hq85-5cpj-mr62) through a second [tool.uv] override, since crewai-cli pins uv~=0.11.6; pillow 12.3.0 -> 13.0.0 for Python 3.11+ (28 advisories). Nothing else moves. - osv-scanner.toml: pillow 13.0.0 requires Python >= 3.11, so the lock's 3.10 slice stays on 12.3.0 with no fixed release to move to. Accepted with a [[PackageOverrides]] pinned to 12.3.0 until 2026-11-20, the case SECURITY.md keeps one for: 9 advisories on the 2026-10-20 scan, 28 by today. OSV-Scanner 2.5.0 with the workflow's scan-args reports "No issues found". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019BPtjtjjA9U2hdwjZikULq
|
Thanks @NiveditJain for your contribution to Failproof AI! 🙌 We'd love to discuss your PR and welcome you to our community. Discord: https://discord.befailproof.ai/ |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Hermes
No summary yet. What this changesNo component map for this revision. RoundsNo review has finished on this pull request yet. FindingsNothing raised yet.
|
Hermes
All changed dependency and scanner-policy paths have been reviewed. Isolated frozen-install checks accepted both Node lockfiles, uv accepted the Python lockfile, and OSV-Scanner 2.5.0 completed the workflow’s five-lockfile scan with exit status 0. I found no actionable regression in this revision. What this changesflowchart LR
n0Rootwebapplication["~ Root web application"]
n1Rustservices["~ Rust services"]
n2PythonSDKtestenvironment["~ Python SDK test environment"]
n3CloudCLIenvironment["~ Cloud CLI environment"]
n4TypeScriptSDKtestenvironment["~ TypeScript SDK test environment"]
n5Supplychainsecuritygate["~ Supply-chain security gate"]
n0Rootwebapplication -- "Bun lockfile scan" --> n5Supplychainsecuritygate
n1Rustservices -- "Cargo lockfile scan" --> n5Supplychainsecuritygate
n2PythonSDKtestenvironment -- "uv lockfile scan" --> n5Supplychainsecuritygate
n3CloudCLIenvironment -- "uv lockfile scan" --> n5Supplychainsecuritygate
n4TypeScriptSDKtestenvironment -- "npm lockfile scan" --> n5Supplychainsecuritygate
Rounds
FindingsNothing raised yet.
|
hermes-exosphere
left a comment
There was a problem hiding this comment.
Hermes found no blocking issues in this revision.
One PR for #921, #922 and #923. The Supply Chain gate (OSV-Scanner) scans every lockfile on every run, so none of the three could go green on its own: each failed on what the other two fix, plus findings no Dependabot PR covers. With this PR, OSV-Scanner 2.5.0 run with the workflow's own scan-args reports
No issues found.What's in it
Three Dependabot commits, cherry-picked unchanged:
certifi2026.7.22 → 2026.10.19 insdk/python/uv.lockcertifi2026.7.22 → 2026.10.19 infp-cloud-cli/uv.lockvite8.3.0 → 8.3.4 insdk/typescript/package-lock.jsonviteadvisories, fixed in 8.3.3The findings no Dependabot PR covered:
bun.lockviteoverride 8.0.16 → 8.1.6, which takesrolldown1.0.3 → 1.1.5Cargo.lockrustls-webpki0.103.15 → 0.103.16,webpki-roots1.0.9 → 1.0.10 (cargo update -p; nothing else moves)sdk/typescript/package-lock.jsonvitest5.0.1 → 5.0.5, in range;vitegoes on from 8.3.4 to 8.3.5 with it@vitest/mocker)sdk/python/uv.lockuv0.11.33 → 0.13.5, through[tool.uv] override-dependenciessdk/python/uv.lockpillow12.3.0 → 13.0.0 on Python 3.11+certifi,uv,webpki-rootsandrustls-webpkiare one event. All four advisories (published 2026-10-19/20) concern emSign roots whose intermediate CA keys are compromised. The two Rust crates are the trust store and certificate verifierfailproofaidandfpai-collectuse throughreqwest.viteoverride goes to 8.1.6, not the newest 8.3.5. 8.1.6 is the smallest fixed release and needs only a newerrolldown. 8.2 and later also needlightningcss1.33, and 8.3.5 needs apostcssabove the 8.5.26 override.bun.lockwas edited entry by entry, as in [failproofai-legion-901] Combine the open Dependabot PRs and clear every fixable security finding #901. Letting bun re-resolve theviteentry moved about 120 unrelated packages, so only bun's own resolution of thevite/rolldownsubtree is spliced in. The@emnapi/*,@napi-rs/wasm-runtimeand@tybys/wasm-utillines that move are wasm32-only, reachable through@rolldown/binding-wasm32-wasi, which no CI runner installs.@unrs/resolver-binding-wasm32-wasikeeps its 1.10.0 copies, now nested.bun install --frozen-lockfileaccepts the lock, and a plainbun installleaves it byte-identical.uvneeds an override becausecrewai-cli(pulled in by crewai) pinsuv~=0.11.6. This is the same situation [failproofai-legion-904] Clear the fixable Dependabot alerts: mcp in the SDK lock, sprintf-js in two fixtures #904 handled formcp. crewai-cli only shells out touvfrom its own project commands, which no test runs. The comment insdk/python/pyproject.tomlsays to delete the entry once a crewai-cli release allows 0.13.4.The one finding accepted: pillow 12.3.0 on Python 3.10
pillow 13.0.0 requires Python ≥ 3.11, but the SDK still supports 3.10. The lock therefore forks: 13.0.0 for 3.11 and up, and 12.3.0, the last release that installs on 3.10, for 3.10 alone. No pillow release fixes that slice, and none will. The advisories are also still arriving: 9 on the 2026-10-20 scan, 28 two days later.
That is the case
SECURITY.mdrule 3 reserves[[PackageOverrides]]for: a package that keeps accruing unfixable advisories, where an id list would turn the gate red on an unrelated PR with every new disclosure.osv-scanner.tomlgets one entry:version = "12.3.0", so 13.0.0, which every other supported Python resolves, stays fully gated. Any change to the 3.10 slice re-opens the gate.pdfplumber) andllama-index-core, in the dev/test lockfile only. The SDK declares no runtime dependencies.Dropping Python 3.10 from
failproofai-sdk'srequires-pythonwould retire the entry. That is a support decision for the SDK, so this PR does not make it.Verified locally
No issues found, exit 0.tsc --noEmit.bun run test:runpasses 8433 tests andbun run test:e2epasses 357.cargo fmt --checkandcargo clippy -D warningspass, and so doescargo test --workspace. One file,collector_reload_e2e, failed on the first run on this machine. The daemon under test picked up the machine's real~/.agenteye/eventsspool, because the test setsFAILPROOFAI_HOMEbut notAGENTEYE_HOME. WithAGENTEYE_HOMEpointed at an empty directory, all 10 pass.fp-cloud-clipasses on 3.10 and 3.13.failproofai-sdkpasses on 3.10 and 3.14.npm ci, typecheck, lint, build andvitest runpass (554 tests, vitest 5.0.5). Theframeworksintegration shard passes 1036 tests.Supersedes #921, #922 and #923. Dependabot closes each one once this merges, because the version it proposes will already be on
main.🤖 Generated with Claude Code
https://claude.ai/code/session_019BPtjtjjA9U2hdwjZikULq
Hermes review
9ab09e834493e06dc1e100e7222399ebcbe4c8011d8f31d926828f3bae215c58f5b35baa44acbff0gpt-5.6-terraSummary
All changed dependency and scanner-policy paths have been reviewed. Isolated frozen-install checks accepted both Node lockfiles, uv accepted the Python lockfile, and OSV-Scanner 2.5.0 completed the workflow’s five-lockfile scan with exit status 0. I found no actionable regression in this revision.
Changes
Validation
Passeddocker run --rm --network=bridge -e PIP_DISABLE_PIP_VERSION_CHECK=1 -v /review/input/workspace:/src:ro -w /src/sdk/python python:3.14-slim sh -ec 'python -m pip install --quiet uv==0.13.5 && uv lock --locked --offline'— uv 0.13.5 accepted the edited Python SDK lockfile without attempting an update. (27s)Passeddocker run --rm --network=bridge -v /review/input/workspace:/src:ro -w /tmp/review oven/bun:1.3.4 sh -ec 'cp -a /src/. /tmp/review/ && bun install --frozen-lockfile --ignore-scripts'— Bun 1.3.4 accepted the edited root lockfile in a writable container copy. (26s)Passeddocker run --rm --network=bridge -v /review/input/workspace/sdk/typescript:/src:ro -w /tmp/review node:22-slim sh -ec 'cp -a /src/. /tmp/review/ && npm ci --ignore-scripts --no-audit --no-fund'— npm ci accepted the edited TypeScript SDK package-lock.json. (26s)Passeddocker run --rm --network=bridge -v /review/input/workspace:/src:ro -w /src ghcr.io/google/osv-scanner:v2.5.0 scan source --config=osv-scanner.toml --lockfile=bun.lock --lockfile=Cargo.lock --lockfile=fp-cloud-cli/uv.lock --lockfile=sdk/python/uv.lock --lockfile=sdk/typescript/package-lock.json— OSV-Scanner 2.5.0 scanned all five workflow lockfiles and exited 0; it parsed the submitted exception configuration. (26s)Findings
None.
Open questions
None.
Policy overrides
None.
Summary by CodeRabbit