Skip to content

chore(deps): Update GitHub Actions - #78

Merged
williaby merged 1 commit into
mainfrom
renovate/github-actions
Sep 3, 2026
Merged

chore(deps): Update GitHub Actions#78
williaby merged 1 commit into
mainfrom
renovate/github-actions

Conversation

@williaby

@williaby williaby commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Why

Scheduled patch update, bug fixes and security patches with no API changes.

Changes

This PR contains the following updates:

Package Change Type Update Age Adoption Passing Confidence OpenSSF
ByronWilliamsCPA/.github (changelog) 74c633a7d12f54 action digest
actions/checkout v6.0.2v6.1.0 action minor age adoption passing confidence OpenSSF Scorecard
actions/setup-node v6.4.0v6.5.0 action minor age adoption passing confidence OpenSSF Scorecard
actions/setup-python v6.2.0v6.3.0 action minor age adoption passing confidence OpenSSF Scorecard
astral-sh/setup-uv v8.1.0v8.3.2 action minor age adoption passing confidence OpenSSF Scorecard
github/codeql-action v4.36.0v4.37.4 action minor age adoption passing confidence OpenSSF Scorecard
lycheeverse/lychee-action v2.8.0v2.9.0 action minor age adoption passing confidence OpenSSF Scorecard
redis 0916059978f0e0 service digest
step-security/harden-runner v2.19.4v2.20.0 action minor age adoption passing confidence OpenSSF Scorecard

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

Impact

  • ✅ Patch update: bug fixes and security patches only
  • ✅ No breaking changes

Acceptance Criteria

  • All CI checks pass

Testing

  • CI gates pass (tests, lint, type checking, security scan)

Notes


Release Notes

actions/checkout (actions/checkout)

v6.1.0

Compare Source

What's Changed

https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout/ for more details about this breaking change

Full Changelog: actions/checkout@v6.0.3...v6.1.0

v6.0.3

Compare Source

actions/setup-node (actions/setup-node)

v6.5.0

Compare Source

What's Changed

Full Changelog: actions/setup-node@v6.4.0...v6.5.0

actions/setup-python (actions/setup-python)

v6.3.0

Compare Source

What's Changed
Enhancement
Dependency update
Documentation
New Contributors

Full Changelog: actions/setup-python@v6.2.0...v6.3.0

astral-sh/setup-uv (astral-sh/setup-uv)

v8.3.2: 🌈 update known checksums for 0.11.28

Compare Source

Changes

Just a maintenance release

🧰 Maintenance
📚 Documentation
⬆️ Dependency updates

v8.3.1: 🌈 update known checksums for 0.11.27

Compare Source

Changes

Just a maintenance release

🧰 Maintenance
📚 Documentation

v8.3.0: 🌈 Support uv.lock as a version-file source

Compare Source

Changes

Thanks to @​somaz94 you can now use the pinned version of uv itself in uv.lock. It gets picked up automatically.
If you have pinned another version of uv in your uv.lock you can use the inputs version or version-source to override this.

🐛 Bug fixes
🚀 Enhancements
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates

v8.2.0: 🌈 New inputs quiet and download-from-astral-mirror

Compare Source

Changes

This release brings two new inputs and a few bug fixes.

New inputs

Lets talk about the new inputs first.

quiet

Pretty simple. It turns of all info loggings. Useful if you use this in a composite action and are not interested in all the details.
In the upcoming releases we will add log groups to fully implement support for "less noise"

[!NOTE]
Warnings and errors are always logged.

download-from-astral-mirror

In some cases you may want to directly use the fallback of checking for available versions and downloading releases from GitHub instead of using the astral.sh mirror. Setting download-from-astral-mirror: false allows you to do that.

Bugfixes

When using the astral.sh mirror to query available versions and download releases (done by default) we now stop sending the GitHub token in the header. The mirror never looked at it but we shouldn't be handing out that data even if it is just a short lived token.
All other bugfixes try to limit the impact of failed GitHub queries due to retries and other faults.

We couldn't pinpoint all rootcauses yet but added more logging for error cases to track them down.

🐛 Bug fixes
🚀 Enhancements
🧰 Maintenance
⬆️ Dependency updates
github/codeql-action (github/codeql-action)

v4.37.4

Compare Source

  • This version of the CodeQL Action adds support for the tools input for the codeql-action/init step to be specified using a github-codeql-tools repository property. This feature will gradually be rolled out following the release of this version. Once rolled out, this allows for the CodeQL CLI version that is used in GitHub-managed workflows, such as Default Setup, to be set to a custom value. For example, customers who run into issues with rate limits when a new CodeQL CLI version is released can set the value to toolcache to always use the CodeQL CLI version that is available in the runner toolcache. For Advanced Setup workflows, the value provided for tools in the workflow definition always takes precedence unless the value of the repository property starts with !. #​4037
  • Update default CodeQL bundle version to 2.26.2. #​4051

v4.37.3

Compare Source

No user facing changes.

v4.37.2

Compare Source

  • The new address format for the config-file input that was introduced in CodeQL Action 4.37.0 is now enabled by default. In addition to the format described there, the remote= prefix can now be used to explicitly indicate that the input refers to a remote file. All previous input formats continue to be accepted as well. #​4023
  • The CodeQL Action can now make use of configured private registries in Default Setup to retrieve CodeQL configuration files from remote repositories that require authentication. This will allow customers to store their CodeQL configuration in a single repository that can then be referenced by Default Setup workflows in other repositories. We expect to roll this and other, related changes out to everyone in July. #​4007

v4.37.1

Compare Source

  • Upcoming breaking change: Add a deprecation warning for customers using CodeQL version 2.20.6 and earlier. These versions of CodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise Server 3.16, and will be unsupported by the next minor release of the CodeQL Action. #​3956
  • Update default CodeQL bundle version to 2.26.1. #​4019

v4.37.0

Compare Source

  • Update default CodeQL bundle version to 2.26.0. #​3995
  • In addition to the existing input format, the config-file input for the codeql-action/init step will soon support a new [owner/]repo[@​ref][:path] format. All components except the repository name are optional. If omitted, owner defaults to the same owner as the repository the analysis is running for, ref to main, and path to .github/codeql-action.yaml. Support for this format ships in this version of the CodeQL Action, but will only be enabled over the coming weeks. #​3973

v4.36.3

Compare Source

No user facing changes.

v4.36.2

Compare Source

  • Cache CodeQL CLI version information across Actions steps. #​3943
  • Reduce requests while waiting for analysis processing by using exponential backoff when polling SARIF processing status. #​3937
  • Update default CodeQL bundle version to 2.25.6. #​3948

v4.36.1

Compare Source

No user facing changes.

lycheeverse/lychee-action (lycheeverse/lychee-action)

v2.9.0

Compare Source

Summary

This release updates the default lychee version from v0.23.0 to v0.24.2.

The main reason for this release is compatibility with the new lychee 0.24.x release artifacts. Starting with lychee v0.24.0, the archive layout changed, and the lychee binary may now be packaged inside a subdirectory. lychee-action now detects that layout automatically, so users can upgrade without changing their workflows.

If you use:

uses: lycheeverse/lychee-action@v2

you will get the new version once the floating v2 tag has been updated. If you pin exact versions, update to:

uses: lycheeverse/lychee-action@v2.9.0

What’s new from lychee v0.24.x

Better diagnostics

lychee now reports line and column numbers for detected links. This makes broken link reports easier to act on, especially in larger documentation sites or generated reports.

Text fragment checking

lychee can now check URL text fragments, such as links containing #:~:text=.... This helps catch links that point to a valid page but no longer points to the intended highlighted text.

Sitemap support

lychee can now read sitemap.xml inputs. This is useful for checking published websites or generated documentation sites where the sitemap is the easiest source of URLs to validate.

JUnit output

lychee now supports JUnit output. This makes it easier to integrate link checking results with CI systems and test reporting tools that understand JUnit XML.

Redirect and remap visibility

lychee can now show redirects and remaps more clearly. This helps explain why a URL was checked as a different final URL and makes debugging link-checking behavior easier.

Multiple config files

lychee now supports multiple configuration files and expanded config handling. This is useful for repositories that split documentation, website, or package-specific link-checking settings.

Timeout handling

lychee can now accept timeouts explicitly. This gives users more control over how strict their link checks should be for flaky or slow endpoints.

Fixes and reliability improvements

Fixed lychee 0.24.x archive compatibility

lychee-action now handles the new lychee release archive layout by detecting whether the lychee binary is inside a subdirectory.

This fixes compatibility with lychee 0.24.x.

More stable installation path

The action now installs lychee into $RUNNER_TEMP/lychee/bin instead of $HOME.

This avoids failures on runners where $HOME differs between composite action steps. In those environments, the action could add one directory to PATH but install the binary somewhere else, causing lychee: command not found.

Safer automatic lychee version updates

The workflow that checks for new lychee releases now guards against null release versions before creating update PRs. This prevents invalid automated PRs such as “Update lycheeVersion to null”.

Dependency updates
  • Updated actions/checkout from v6 to v7
  • Updated actions/cache from v5 to v6

Upstream lychee changelog

For the full lychee changelog, see:

What’s Changed

Full Changelog: lycheeverse/lychee-action@v2.8.0...v2.9.0

step-security/harden-runner (step-security/harden-runner)

v2.20.0

Compare Source

What's Changed
  • Support for block policy for MacOS and Windows GitHub-hosted runners
  • Support for Bitrise MacOS GitHub Actions runners
  • HTTPS monitoring support for Bun for Linux runners (enterprise tier)

Full Changelog: step-security/harden-runner@v2.19.4...v2.20.0


Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • "after 10pm every weekday,before 5am every weekday,every weekend"
  • 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 has been generated by Mend Renovate.

Copilot AI review requested due to automatic review settings June 6, 2026 02:14
@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: dc6ee824-9340-4dc9-a6d6-5b23c6a45e6b

📥 Commits

Reviewing files that changed from the base of the PR and between 7ac44da and 2d72c68.

📒 Files selected for processing (1)
  • .github/workflows/security-analysis.yml

Walkthrough

Pinned references were refreshed across GitHub Actions workflow files. The updates cover direct actions, reusable workflows, and the Redis service image. Workflow logic and configuration remain unchanged.

Changes

CI Dependency Pin Updates

Layer / File(s) Summary
Direct action and image version bumps
.github/workflows/ci.yml, .github/workflows/codeql.yml, .github/workflows/dependency-review.yml, .github/workflows/fips-compatibility.yml, .github/workflows/performance-regression.yml, .github/workflows/postman-api-tests.yml, .github/workflows/pr-title.yml, .github/workflows/pr-validation.yml, .github/workflows/release-sign.yml, .github/workflows/reuse.yml, .github/workflows/slsa-provenance.yml
Pinned revisions for actions, CodeQL, and the Redis image digest were updated.
Org reusable workflow SHA re-pins
.github/workflows/ci.yml, .github/workflows/codecov.yml, .github/workflows/container-security.yml, .github/workflows/coverage.yml, .github/workflows/docs.yml, .github/workflows/mutation-testing.yml, .github/workflows/performance-regression.yml, .github/workflows/pr-validation.yml, .github/workflows/publish-pypi.yml, .github/workflows/python-compatibility.yml, .github/workflows/qlty.yml, .github/workflows/release.yml, .github/workflows/sbom.yml, .github/workflows/scorecard.yml, .github/workflows/security-analysis.yml, .github/workflows/sonarcloud.yml
Shared workflow references were re-pinned to newer commit SHAs. Job wiring, inputs, and secrets remain unchanged.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • Dependency Dashboard #12: Tracks GitHub Actions and reusable workflow dependency updates across overlapping workflow files.

Possibly related PRs

Suggested reviewers: byronwilliamscpa

Poem

A rabbit checks each YAML pin,
New SHAs settle neatly in.
Actions run with updated feet,
Redis keeps its digest seat.
Jobs retain their former flight—
Clean workflow paths shine bright.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the pull request's primary change: updating GitHub Actions dependencies.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/github-actions

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.
See the Details below.

License Issues

.github/workflows/performance-regression.yml

PackageVersionLicenseIssue Type
ByronWilliamsCPA/.github/.github/workflows/python-performance-regression.yml7d12f5486ab5c856397ebaa4acd3c99ca385227cNullUnknown License
Denied Licenses: GPL-2.0, GPL-3.0

OpenSSF Scorecard

PackageVersionScoreDetails
actions/ByronWilliamsCPA/.github/.github/workflows/python-qlty-coverage.yml 7d12f5486ab5c856397ebaa4acd3c99ca385227c UnknownUnknown
actions/ByronWilliamsCPA/.github/.github/workflows/python-performance-regression.yml 7d12f5486ab5c856397ebaa4acd3c99ca385227c UnknownUnknown
actions/actions/checkout d23441a48e516b6c34aea4fa41551a30e30af803 🟢 7
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 1024 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Packaging⚠️ -1packaging workflow not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Security-Policy🟢 9security policy file detected
SAST🟢 10SAST tool is run on all commits
Branch-Protection🟢 6branch protection is not maximal on development and all release branches
actions/step-security/harden-runner bf7454d06d71f1098171f2acdf0cd4708d7b5920 🟢 7.8
Details
CheckScoreReason
Binary-Artifacts🟢 10no binaries found in the repo
Branch-Protection🟢 8branch protection is not maximal on development and all release branches
CI-Tests🟢 106 out of 6 merged PRs checked by a CI test -- score normalized to 10
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Code-Review🟢 10all changesets reviewed
Contributors🟢 6project has 2 contributing companies or organizations -- score normalized to 6
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Dependency-Update-Tool🟢 10update tool detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Maintained🟢 1030 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies🟢 6dependency not pinned by hash detected -- score normalized to 6
SAST🟢 9SAST tool detected but not run on all commits
Security-Policy🟢 10security policy file detected
Signed-Releases⚠️ -1no releases found
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Vulnerabilities⚠️ 022 existing vulnerabilities detected
actions/ByronWilliamsCPA/.github/.github/workflows/python-compatibility.yml 7d12f5486ab5c856397ebaa4acd3c99ca385227c UnknownUnknown
actions/ByronWilliamsCPA/.github/.github/workflows/python-sbom.yml 7d12f5486ab5c856397ebaa4acd3c99ca385227c UnknownUnknown
actions/ByronWilliamsCPA/.github/.github/workflows/python-sonarcloud.yml 7d12f5486ab5c856397ebaa4acd3c99ca385227c UnknownUnknown

Scanned Files

  • .github/workflows/coverage.yml
  • .github/workflows/performance-regression.yml
  • .github/workflows/python-compatibility.yml
  • .github/workflows/sbom.yml
  • .github/workflows/sonarcloud.yml

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.29 2.27 -1.1%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.92 1.92 📈 0.2%
p95_ms 2.29 2.27 📉 -1.1%
p99_ms 2.37 2.37 📈 0.0%
mean_ms 1.37 1.37 ➡️ 0.0%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.38 2.38 ➡️ 0.0%
throughput_ops 730.33 730.25 📉 -0.0%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.92 0.91 📉 -1.0%
avg_throughput_all_benchmarks_ops 1094200.51 1156904.35 📈 5.7%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

Copilot AI 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.

Pull request overview

Updates GitHub Actions and org-level reusable workflow pins across this repository’s CI/security/docs pipelines to pick up patch-level fixes and security updates while preserving existing workflow behavior.

Changes:

  • Bump actions/checkout from v6.0.2 to v6.0.3 (SHA-pinned) wherever it’s used directly.
  • Bump github/codeql-action from v4.36.0 to v4.36.1 (SHA-pinned) in the CodeQL workflow.
  • Update callers of ByronWilliamsCPA/.github reusable workflows to the latest pinned digest.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/sonarcloud.yml Updates org reusable SonarCloud workflow digest pin.
.github/workflows/security-analysis.yml Updates org reusable security-analysis workflow digest pin.
.github/workflows/scorecard.yml Updates org reusable scorecard workflow digest pin.
.github/workflows/sbom.yml Updates org reusable SBOM workflow digest pin.
.github/workflows/reuse.yml Bumps actions/checkout to v6.0.3 (SHA-pinned) for REUSE checks.
.github/workflows/release.yml Updates org reusable release workflow digest pin.
.github/workflows/release-sign.yml Bumps actions/checkout to v6.0.3 (SHA-pinned) for signing workflow.
.github/workflows/qlty.yml Updates org reusable Qlty coverage workflow digest pin.
.github/workflows/python-compatibility.yml Updates org reusable compatibility workflow digest pin.
.github/workflows/publish-pypi.yml Updates org reusable PyPI publish workflow digest pin.
.github/workflows/pr-validation.yml Updates org reusable CI workflow digest pin; bumps actions/checkout to v6.0.3 (SHA-pinned) in additional jobs.
.github/workflows/postman-api-tests.yml Bumps actions/checkout to v6.0.3 (SHA-pinned).
.github/workflows/performance-regression.yml Bumps actions/checkout to v6.0.3 (SHA-pinned) and updates org reusable perf workflow digest pin.
.github/workflows/mutation-testing.yml Updates org reusable mutation testing workflow digest pin.
.github/workflows/fips-compatibility.yml Bumps actions/checkout to v6.0.3 (SHA-pinned) in FIPS jobs.
.github/workflows/docs.yml Updates org reusable docs workflow digest pin.
.github/workflows/dependency-review.yml Bumps actions/checkout to v6.0.3 (SHA-pinned).
.github/workflows/coverage.yml Updates org reusable Qlty coverage workflow digest pin.
.github/workflows/container-security.yml Updates org reusable container security workflow digest pin.
.github/workflows/codeql.yml Bumps actions/checkout to v6.0.3 and github/codeql-action to v4.36.1 (both SHA-pinned).
.github/workflows/codecov.yml Updates org reusable Codecov workflow digest pin.
.github/workflows/ci.yml Updates org reusable CI workflow digest pin; bumps actions/checkout to v6.0.3 (SHA-pinned).

@williaby
williaby force-pushed the renovate/github-actions branch from 2370c17 to b2b7ac8 Compare June 6, 2026 05:16
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.26 2.32 +3.0%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.90 1.92 📈 0.9%
p95_ms 2.26 2.32 📈 3.0%
p99_ms 2.36 2.42 📈 2.6%
mean_ms 1.36 1.37 📈 0.9%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.37 2.58 📈 8.7%
throughput_ops 734.05 727.63 📉 -0.9%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.91 0.93 📈 1.3%
avg_throughput_all_benchmarks_ops 1146691.85 1065940.17 📉 -7.0%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from b2b7ac8 to cc8a6cc Compare June 6, 2026 11:15
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.25 2.24 -0.3%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.82 1.82 📉 -0.3%
p95_ms 2.25 2.24 📉 -0.3%
p99_ms 3.39 2.26 📉 -33.5%
mean_ms 1.37 1.32 📉 -3.3%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 3.82 2.73 📉 -28.5%
throughput_ops 731.13 756.00 📈 3.4%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.89 0.88 📉 -1.2%
avg_throughput_all_benchmarks_ops 991346.06 996106.35 📈 0.5%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from cc8a6cc to 566de1e Compare June 6, 2026 14:15
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.30 2.27 -1.3%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.92 1.92 📈 0.3%
p95_ms 2.30 2.27 📉 -1.3%
p99_ms 2.37 2.37 📈 0.1%
mean_ms 1.37 1.37 📉 -0.5%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.40 2.38 📉 -0.6%
throughput_ops 728.09 731.89 📈 0.5%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.92 0.93 📈 0.1%
avg_throughput_all_benchmarks_ops 1113407.38 844495.53 📉 -24.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from 566de1e to 3733bba Compare June 7, 2026 17:37
@socket-security

socket-security Bot commented Jun 7, 2026

Copy link
Copy Markdown

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.26 2.24 -1.2%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.83 1.83 📉 -0.1%
p95_ms 2.26 2.24 📉 -1.2%
p99_ms 2.28 2.29 📈 0.4%
mean_ms 1.32 1.32 📈 0.1%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.28 2.29 📈 0.3%
throughput_ops 757.63 757.20 📉 -0.1%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.90 0.89 📉 -2.0%
avg_throughput_all_benchmarks_ops 1013181.98 1047942.38 📈 3.4%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from 3733bba to f206cc8 Compare June 7, 2026 20:20
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.28 2.33 +2.1%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.90 1.90 📈 0.2%
p95_ms 2.28 2.33 📈 2.1%
p99_ms 2.37 2.37 📉 -0.1%
mean_ms 1.36 1.37 📈 0.4%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.38 2.38 📉 -0.4%
throughput_ops 733.41 731.25 📉 -0.3%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.92 0.92 📉 -0.2%
avg_throughput_all_benchmarks_ops 1113867.72 1149892.09 📈 3.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from f206cc8 to a911d9d Compare June 9, 2026 17:36
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

🎉 Performance Regression Check

Status: PERFORMANCE IMPROVED

Metric Baseline (main) PR Branch Change
p95_ms 2.79 2.60 -6.5%

Threshold: +/-10% allowed regression

Great work!: Performance has improved.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.99 1.90 📉 -4.2%
p95_ms 2.79 2.60 📉 -6.5%
p99_ms 3.01 2.74 📉 -8.9%
mean_ms 1.54 1.46 📉 -5.4%
min_ms 0.06 0.06 📉 -5.2%
max_ms 3.19 2.84 📉 -10.9%
throughput_ops 647.10 684.26 📈 5.7%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.38 1.04 📉 -25.0%
avg_throughput_all_benchmarks_ops 907955.45 919811.61 📈 1.3%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from a911d9d to 19f938e Compare June 10, 2026 20:12
@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.44 2.45 +0.4%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.88 1.87 📉 -0.4%
p95_ms 2.44 2.45 📈 0.4%
p99_ms 2.52 2.53 📈 0.4%
mean_ms 1.42 1.41 📉 -0.6%
min_ms 0.06 0.06 📉 -1.8%
max_ms 2.57 2.53 📉 -1.2%
throughput_ops 705.00 709.22 📈 0.6%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.99 0.98 📉 -0.7%
avg_throughput_all_benchmarks_ops 1004433.48 1057014.96 📈 5.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from 19f938e to 900c818 Compare June 11, 2026 05:18
@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.17 2.21 +1.8%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.83 1.83 📉 -0.3%
p95_ms 2.17 2.21 📈 1.8%
p99_ms 2.27 2.29 📈 0.6%
mean_ms 1.32 1.32 ➡️ 0.0%
min_ms 0.05 0.05 📈 3.9%
max_ms 2.28 2.31 📈 1.2%
throughput_ops 757.47 757.45 📉 -0.0%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.88 0.89 📈 2.1%
avg_throughput_all_benchmarks_ops 997439.06 976792.27 📉 -2.1%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from 900c818 to 425aa68 Compare June 12, 2026 05:15
@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.47 2.45 -1.0%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.87 1.88 📈 0.2%
p95_ms 2.47 2.45 📉 -1.0%
p99_ms 2.59 2.56 📉 -1.0%
mean_ms 1.44 1.44 📈 0.1%
min_ms 0.06 0.06 📉 -1.8%
max_ms 2.62 2.59 📉 -1.0%
throughput_ops 696.30 695.59 📉 -0.1%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.00 0.99 📉 -0.9%
avg_throughput_all_benchmarks_ops 1026252.08 1099843.66 📈 7.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@williaby
williaby force-pushed the renovate/github-actions branch from fd11b67 to 116e9b3 Compare July 13, 2026 02:27
@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.30 2.29 -0.5%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.91 1.92 📈 0.4%
p95_ms 2.30 2.29 📉 -0.5%
p99_ms 2.37 2.39 📈 1.0%
mean_ms 1.37 1.38 📈 0.4%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.37 2.41 📈 1.6%
throughput_ops 730.14 726.53 📉 -0.5%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.93 0.92 📉 -1.1%
avg_throughput_all_benchmarks_ops 1092475.88 1115298.57 📈 2.1%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.52 2.49 -1.2%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.91 1.93 📈 1.1%
p95_ms 2.52 2.49 📉 -1.2%
p99_ms 2.64 2.57 📉 -2.5%
mean_ms 1.45 1.44 📉 -1.0%
min_ms 0.06 0.06 📉 -1.8%
max_ms 2.74 2.58 📉 -5.9%
throughput_ops 687.67 694.63 📈 1.0%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.01 1.00 📉 -0.8%
avg_throughput_all_benchmarks_ops 774462.90 1069291.24 📈 38.1%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.50 2.51 +0.4%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.87 1.87 📈 0.1%
p95_ms 2.50 2.51 📈 0.4%
p99_ms 2.57 2.63 📈 2.3%
mean_ms 1.44 1.45 📈 0.6%
min_ms 0.06 0.06 ➡️ 0.0%
max_ms 2.64 2.72 📈 3.0%
throughput_ops 695.53 691.51 📉 -0.6%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.00 1.01 📈 0.9%
avg_throughput_all_benchmarks_ops 1079297.63 1077761.59 📉 -0.1%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.10 2.02 -3.5%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.79 1.78 📉 -0.8%
p95_ms 2.10 2.02 📉 -3.5%
p99_ms 2.16 2.11 📉 -2.4%
mean_ms 1.25 1.23 📉 -1.7%
min_ms 0.05 0.04 📉 -4.3%
max_ms 2.28 2.19 📉 -4.0%
throughput_ops 797.77 811.52 📈 1.7%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.84 0.82 📉 -2.6%
avg_throughput_all_benchmarks_ops 1171925.82 1192566.13 📈 1.8%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

🎉 Performance Regression Check

Status: PERFORMANCE IMPROVED

Metric Baseline (main) PR Branch Change
p95_ms 2.65 2.44 -8.0%

Threshold: +/-10% allowed regression

Great work!: Performance has improved.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.90 1.87 📉 -1.3%
p95_ms 2.65 2.44 📉 -8.0%
p99_ms 3.58 2.59 📉 -27.5%
mean_ms 1.50 1.43 📉 -4.7%
min_ms 0.06 0.06 📉 -1.8%
max_ms 3.94 2.60 📉 -34.1%
throughput_ops 665.99 698.14 📈 4.8%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.07 0.99 📉 -7.5%
avg_throughput_all_benchmarks_ops 922149.57 1065668.18 📈 15.6%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.75 2.64 -3.7%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 2.10 2.07 📉 -1.4%
p95_ms 2.75 2.64 📉 -3.7%
p99_ms 2.86 3.05 📈 6.6%
mean_ms 1.57 1.54 📉 -2.3%
min_ms 0.06 0.06 📉 -1.7%
max_ms 3.41 3.29 📉 -3.5%
throughput_ops 636.14 651.02 📈 2.3%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.09 1.07 📉 -1.5%
avg_throughput_all_benchmarks_ops 677167.86 668078.37 📉 -1.3%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.31 2.33 +1.0%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.91 1.92 📈 0.5%
p95_ms 2.31 2.33 📈 1.0%
p99_ms 2.37 2.40 📈 1.4%
mean_ms 1.37 1.38 📈 0.6%
min_ms 0.05 0.05 📉 -1.9%
max_ms 2.38 2.40 📈 1.1%
throughput_ops 731.58 727.31 📉 -0.6%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.92 0.93 📈 0.4%
avg_throughput_all_benchmarks_ops 1099441.27 939592.84 📉 -14.5%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.49 2.52 +1.1%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.89 1.88 📉 -0.5%
p95_ms 2.49 2.52 📈 1.1%
p99_ms 2.64 2.66 📈 0.9%
mean_ms 1.45 1.45 📈 0.2%
min_ms 0.06 0.06 📈 1.8%
max_ms 2.68 3.40 📈 26.9%
throughput_ops 692.06 690.56 📉 -0.2%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.01 1.01 📉 -0.6%
avg_throughput_all_benchmarks_ops 1083567.83 1100323.33 📈 1.5%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

🎉 Performance Regression Check

Status: PERFORMANCE IMPROVED

Metric Baseline (main) PR Branch Change
p95_ms 4.04 2.43 -39.8%

Threshold: +/-10% allowed regression

Great work!: Performance has improved.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.93 1.87 📉 -2.9%
p95_ms 4.04 2.43 📉 -39.8%
p99_ms 4.41 2.59 📉 -41.2%
mean_ms 1.81 1.43 📉 -20.8%
min_ms 0.06 0.06 📉 -1.8%
max_ms 4.44 2.60 📉 -41.5%
throughput_ops 553.86 698.68 📈 26.1%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.33 0.99 📉 -25.8%
avg_throughput_all_benchmarks_ops 575380.08 1089676.00 📈 89.4%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.24 2.17 -3.5%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.84 1.83 📉 -0.2%
p95_ms 2.24 2.17 📉 -3.5%
p99_ms 3.76 2.26 📉 -39.8%
mean_ms 1.37 1.31 📉 -4.1%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 3.94 2.28 📉 -42.2%
throughput_ops 729.39 760.72 📈 4.3%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.89 0.88 📉 -0.8%
avg_throughput_all_benchmarks_ops 1025566.30 1054018.41 📈 2.8%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.36 2.32 -1.9%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.93 1.90 📉 -1.7%
p95_ms 2.36 2.32 📉 -1.9%
p99_ms 2.40 2.39 📉 -0.3%
mean_ms 1.39 1.37 📉 -1.0%
min_ms 0.05 0.05 📈 3.9%
max_ms 2.43 2.40 📉 -1.2%
throughput_ops 720.69 727.76 📈 1.0%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.95 0.93 📉 -2.8%
avg_throughput_all_benchmarks_ops 1081592.96 1038779.06 📉 -4.0%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.47 2.59 +4.8%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 2.04 2.08 📈 2.1%
p95_ms 2.47 2.59 📈 4.8%
p99_ms 2.54 2.62 📈 3.3%
mean_ms 1.45 1.49 📈 3.0%
min_ms 0.06 0.06 ➡️ 0.0%
max_ms 2.65 2.65 📈 0.0%
throughput_ops 690.62 670.35 📉 -2.9%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.97 1.06 📈 9.2%
avg_throughput_all_benchmarks_ops 886786.57 959831.05 📈 8.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.28 2.25 -1.3%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.91 1.92 📈 0.4%
p95_ms 2.28 2.25 📉 -1.3%
p99_ms 2.36 2.38 📈 0.8%
mean_ms 1.36 1.36 📉 -0.1%
min_ms 0.05 0.05 ➡️ 0.0%
max_ms 2.37 2.43 📈 2.4%
throughput_ops 733.08 733.49 📈 0.1%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.92 0.90 📉 -2.1%
avg_throughput_all_benchmarks_ops 1073943.07 1129450.73 📈 5.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 1.42 1.51 +6.1%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.33 1.33 📈 0.4%
p95_ms 1.42 1.51 📈 6.1%
p99_ms 1.51 1.56 📈 3.8%
mean_ms 0.91 0.92 📈 1.4%
min_ms 0.04 0.04 📈 2.6%
max_ms 1.51 1.64 📈 8.5%
throughput_ops 1100.79 1086.35 📉 -1.3%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.58 0.61 📈 3.9%
avg_throughput_all_benchmarks_ops 1312707.68 1423510.07 📈 8.4%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.25 2.30 +2.5%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.93 1.91 📉 -0.7%
p95_ms 2.25 2.30 📈 2.5%
p99_ms 2.37 2.37 📉 -0.2%
mean_ms 1.37 1.37 ➡️ 0.0%
min_ms 0.05 0.05 📈 2.0%
max_ms 2.39 2.38 📉 -0.6%
throughput_ops 728.16 728.08 📉 -0.0%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.92 0.92 📈 0.3%
avg_throughput_all_benchmarks_ops 1006936.12 1143291.14 📈 13.5%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

🎉 Performance Regression Check

Status: PERFORMANCE IMPROVED

Metric Baseline (main) PR Branch Change
p95_ms 2.27 2.06 -9.2%

Threshold: +/-10% allowed regression

Great work!: Performance has improved.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.84 1.85 📈 0.3%
p95_ms 2.27 2.06 📉 -9.2%
p99_ms 2.53 2.23 📉 -12.1%
mean_ms 1.32 1.28 📉 -3.0%
min_ms 0.05 0.05 📉 -2.0%
max_ms 2.63 2.24 📉 -14.7%
throughput_ops 756.75 780.08 📈 3.1%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.90 0.83 📉 -7.7%
avg_throughput_all_benchmarks_ops 1122971.01 1131134.11 📈 0.7%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

🎉 Performance Regression Check

Status: PERFORMANCE IMPROVED

Metric Baseline (main) PR Branch Change
p95_ms 3.48 2.49 -28.6%

Threshold: +/-10% allowed regression

Great work!: Performance has improved.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.99 1.87 📉 -5.9%
p95_ms 3.48 2.49 📉 -28.6%
p99_ms 4.07 2.63 📉 -35.4%
mean_ms 1.70 1.43 📉 -15.5%
min_ms 0.06 0.06 ➡️ 0.0%
max_ms 4.24 2.64 📉 -37.7%
throughput_ops 589.86 698.09 📈 18.3%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.20 1.00 📉 -16.9%
avg_throughput_all_benchmarks_ops 1005186.22 1120545.78 📈 11.5%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.61 2.58 -1.0%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.90 1.94 📈 2.4%
p95_ms 2.61 2.58 📉 -1.0%
p99_ms 2.66 2.67 📈 0.3%
mean_ms 1.46 1.47 📈 0.8%
min_ms 0.06 0.06 📈 1.8%
max_ms 2.73 2.70 📉 -1.1%
throughput_ops 684.17 678.64 📉 -0.8%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.05 1.04 📉 -1.2%
avg_throughput_all_benchmarks_ops 912753.97 909821.59 📉 -0.3%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@github-actions

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.01 1.96 -2.7%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.80 1.77 📉 -1.7%
p95_ms 2.01 1.96 📉 -2.7%
p99_ms 2.08 2.08 📈 0.2%
mean_ms 1.24 1.22 📉 -1.6%
min_ms 0.05 0.05 📉 -6.1%
max_ms 2.10 2.09 📉 -0.2%
throughput_ops 808.06 821.35 📈 1.6%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.81 0.80 📉 -2.0%
avg_throughput_all_benchmarks_ops 1272164.22 1244689.06 📉 -2.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@coderabbitai coderabbitai 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.

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 @.github/workflows/ci.yml:
- Around line 62-63: Disable credential persistence on every listed checkout
step by adding persist-credentials: false: .github/workflows/ci.yml lines 62-63;
.github/workflows/dependency-review.yml lines 35-36;
.github/workflows/fips-compatibility.yml lines 63-64 and 200-201;
.github/workflows/performance-regression.yml lines 61-62;
.github/workflows/postman-api-tests.yml lines 65-66;
.github/workflows/pr-validation.yml lines 58-59, 101-102, and 135-136; and
.github/workflows/release-sign.yml lines 25-26.
- Around line 60-61: Resolve the expired egress-policy deferrals by validating
required endpoints and changing the audit settings to block at
.github/workflows/ci.yml lines 60-61, .github/workflows/pr-validation.yml lines
55-56, and .github/workflows/pr-validation.yml lines 98-99; if blocking cannot
be enabled, renew each exception with an owner and a new expiry.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e7e1a5a5-da84-4b38-b103-2d034252005d

📥 Commits

Reviewing files that changed from the base of the PR and between eea33c4 and 6dc3a2e.

📒 Files selected for processing (24)
  • .github/workflows/ci.yml
  • .github/workflows/codecov.yml
  • .github/workflows/codeql.yml
  • .github/workflows/container-security.yml
  • .github/workflows/coverage.yml
  • .github/workflows/dependency-review.yml
  • .github/workflows/docs.yml
  • .github/workflows/fips-compatibility.yml
  • .github/workflows/mutation-testing.yml
  • .github/workflows/performance-regression.yml
  • .github/workflows/postman-api-tests.yml
  • .github/workflows/pr-title.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/publish-pypi.yml
  • .github/workflows/python-compatibility.yml
  • .github/workflows/qlty.yml
  • .github/workflows/release-sign.yml
  • .github/workflows/release.yml
  • .github/workflows/reuse.yml
  • .github/workflows/sbom.yml
  • .github/workflows/scorecard.yml
  • .github/workflows/security-analysis.yml
  • .github/workflows/slsa-provenance.yml
  • .github/workflows/sonarcloud.yml

Comment thread .github/workflows/ci.yml
Comment on lines 60 to 61
# egress-policy: block -- enabled 2026-05-23 (compliance audit). If a CI run fails on a network call, switch this single occurrence back to audit and capture the missing endpoint in the issue tracker.
egress-policy: audit # TODO: switch to block after 2026-06-30 (compliance audit deferral)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== workflow snippets =="
for f in .github/workflows/ci.yml .github/workflows/pr-validation.yml; do
  if [ -f "$f" ]; then
    echo "-- $f --"
    nl -ba "$f" | sed -n '45,65p;90,105p'
  else
    echo "MISSING $f"
  fi
done

echo
echo "== date context =="
python3 - <<'PY'
from datetime import datetime, timezone
now = datetime.now(timezone.utc).strftime("%Y-%m-%d")
print("current_utc", now)
print("expired_after_2026-06-30", now > "2026-06-30")
PY

echo
echo "== harden-runner occurrences =="
rg -n "harden-runner|egress-policy" .github/workflows || true

Repository: ByronWilliamsCPA/rag-processor

Length of output: 263


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== workflow snippets =="
for f in .github/workflows/ci.yml .github/workflows/pr-validation.yml; do
  if [ -f "$f" ]; then
    echo "-- $f --"
    awk '{printf "%5d\t%s\n", NR, $0}' "$f" | sed -n '45,65p;90,105p'
  else
    echo "MISSING $f"
  fi
done

echo
echo "== date context =="
python3 - <<'PY'
from datetime import datetime, timezone
now = datetime.now(timezone.utc).date().isoformat()
print("current_utc", now)
print("expired_after_2026-06-30", now > "2026-06-30")
PY

echo
echo "== harden-runner occurrences =="
grep -nE "harden-runner|egress-policy" .github/workflows || true

Repository: ByronWilliamsCPA/rag-processor

Length of output: 4206


Resolve the expired harden-runner egress deferrals.

These workflow steps remain in egress-policy: audit even though the inline comments require switching to block after June 30, 2026. Enable blocking after validating required endpoints, or renew the exception with an owner and a new expiry.

Suggested patch
-          egress-policy: audit  # TODO: switch to block after 2026-06-30 (compliance audit deferral)
+          egress-policy: block
  • .github/workflows/pr-validation.yml#L55-L56: Expired dead-code egress deferral.
  • .github/workflows/pr-validation.yml#L98-L99: Expired link-check egress deferral.
  • .github/workflows/ci.yml#L60-L61: Expired Playwright/CI egress deferral.
📍 Affects 2 files
  • .github/workflows/ci.yml#L60-L61 (this comment)
  • .github/workflows/pr-validation.yml#L55-L56
  • .github/workflows/pr-validation.yml#L98-L99
🤖 Prompt for 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.

In @.github/workflows/ci.yml around lines 60 - 61, Resolve the expired
egress-policy deferrals by validating required endpoints and changing the audit
settings to block at .github/workflows/ci.yml lines 60-61,
.github/workflows/pr-validation.yml lines 55-56, and
.github/workflows/pr-validation.yml lines 98-99; if blocking cannot be enabled,
renew each exception with an owner and a new expiry.

Sources: Coding guidelines, Path instructions

Comment thread .github/workflows/ci.yml
Comment on lines 62 to +63
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Disable credential persistence on every modified checkout.

These checkout steps still use the default credential persistence behavior. Add persist-credentials: false to each step.

Suggested patch
       - name: Checkout repository
         uses: actions/checkout@...
+        with:
+          persist-credentials: false
  • .github/workflows/ci.yml#L62-L63: Harden the Playwright checkout.
  • .github/workflows/dependency-review.yml#L35-L36: Harden the dependency-review checkout.
  • .github/workflows/fips-compatibility.yml#L63-L64: Harden the FIPS checkout.
  • .github/workflows/fips-compatibility.yml#L200-L201: Harden the runtime-test checkout.
  • .github/workflows/performance-regression.yml#L61-L62: Harden the benchmark checkout.
  • .github/workflows/postman-api-tests.yml#L65-L66: Harden the Newman checkout.
  • .github/workflows/pr-validation.yml#L58-L59: Harden the dead-code checkout.
  • .github/workflows/pr-validation.yml#L101-L102: Harden the link-check checkout.
  • .github/workflows/pr-validation.yml#L135-L136: Harden the dependency-validation checkout.
  • .github/workflows/release-sign.yml#L25-L26: Harden the release-signing checkout.

Based on learnings: modified checkout steps in touched workflows must explicitly disable credential persistence; as per path instructions, this is required workflow security hardening, and zizmor reports the same warning.

🧰 Tools
🪛 zizmor (1.28.0)

[warning] 62-63: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false

(artipacked)

📍 Affects 7 files
  • .github/workflows/ci.yml#L62-L63 (this comment)
  • .github/workflows/dependency-review.yml#L35-L36
  • .github/workflows/fips-compatibility.yml#L63-L64
  • .github/workflows/fips-compatibility.yml#L200-L201
  • .github/workflows/performance-regression.yml#L61-L62
  • .github/workflows/postman-api-tests.yml#L65-L66
  • .github/workflows/pr-validation.yml#L58-L59
  • .github/workflows/pr-validation.yml#L101-L102
  • .github/workflows/pr-validation.yml#L135-L136
  • .github/workflows/release-sign.yml#L25-L26
🤖 Prompt for 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.

In @.github/workflows/ci.yml around lines 62 - 63, Disable credential
persistence on every listed checkout step by adding persist-credentials: false:
.github/workflows/ci.yml lines 62-63; .github/workflows/dependency-review.yml
lines 35-36; .github/workflows/fips-compatibility.yml lines 63-64 and 200-201;
.github/workflows/performance-regression.yml lines 61-62;
.github/workflows/postman-api-tests.yml lines 65-66;
.github/workflows/pr-validation.yml lines 58-59, 101-102, and 135-136; and
.github/workflows/release-sign.yml lines 25-26.

Sources: Path instructions, Learnings, Linters/SAST tools

@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.56 2.51 -1.9%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.91 1.90 📉 -0.7%
p95_ms 2.56 2.51 📉 -1.9%
p99_ms 2.62 2.62 📉 -0.1%
mean_ms 1.45 1.45 📉 -0.3%
min_ms 0.06 0.06 📉 -1.7%
max_ms 2.67 2.64 📉 -1.1%
throughput_ops 690.22 691.96 📈 0.3%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.02 1.01 📉 -1.6%
avg_throughput_all_benchmarks_ops 873747.03 902746.38 📈 3.3%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@coderabbitai coderabbitai 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.

♻️ Duplicate comments (2)
.github/workflows/ci.yml (2)

60-61: 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Resolve all expired egress-policy deferrals.

The listed steps still use egress-policy: audit with TODOs that expired after June 30, 2026. The current date is August 2, 2026.

  • .github/workflows/ci.yml#L60-L61: validate endpoints and change the Playwright policy to block, or renew the exception.
  • .github/workflows/pr-validation.yml#L55-L56: validate endpoints and change the dead-code policy to block, or renew the exception.
  • .github/workflows/pr-validation.yml#L98-L99: validate endpoints and change the link-check policy to block, or renew the exception.
  • .github/workflows/pr-validation.yml#L132-L133: validate endpoints and change the dependency-validation policy to block, or renew the exception.

As per path instructions: review GitHub Actions workflows for security best practices. These findings remain from previous review comments.

Suggested patch
-          egress-policy: audit  # TODO: switch to block after 2026-06-30 (compliance audit deferral)
+          egress-policy: block

Apply the change after validating required endpoints. Otherwise, record an owner and a new expiry for each exception.

🤖 Prompt for 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.

In @.github/workflows/ci.yml around lines 60 - 61, Resolve all expired
egress-policy deferrals by validating required endpoints and changing the
Playwright policy at .github/workflows/ci.yml lines 60-61, plus the dead-code,
link-check, and dependency-validation policies at
.github/workflows/pr-validation.yml lines 55-56, 98-99, and 132-133, from audit
to block. If any exception must remain, document its owner and a new expiry at
each affected site.

Source: Path instructions


62-63: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Disable credential persistence on all modified checkout steps.

Each listed checkout uses the default credential behavior. Add persist-credentials: false at every site.

  • .github/workflows/ci.yml#L62-L63: add the setting to the Playwright checkout.
  • .github/workflows/dependency-review.yml#L35-L36: add the setting to the dependency-review checkout.
  • .github/workflows/fips-compatibility.yml#L63-L64: add the setting to the FIPS check checkout.
  • .github/workflows/fips-compatibility.yml#L200-L201: add the setting to the FIPS runtime checkout.
  • .github/workflows/performance-regression.yml#L61-L62: add the setting to the benchmark checkout.
  • .github/workflows/postman-api-tests.yml#L65-L66: add the setting to the Newman checkout.
  • .github/workflows/pr-validation.yml#L58-L59: add the setting to the dead-code checkout.
  • .github/workflows/pr-validation.yml#L101-L102: add the setting to the link-check checkout.
  • .github/workflows/pr-validation.yml#L135-L136: add the setting to the dependency-validation checkout.
  • .github/workflows/release-sign.yml#L25-L26: add the setting to the release checkout.

Based on learnings: every modified checkout in .github/workflows must set persist-credentials: false. As per path instructions: review workflow security best practices. These findings were also reported by previous reviews and zizmor.

Suggested patch
       - name: Checkout repository
         uses: actions/checkout@...
+        with:
+          persist-credentials: false

Apply this setting to every listed checkout step.

🤖 Prompt for 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.

In @.github/workflows/ci.yml around lines 62 - 63, Disable credential
persistence on every listed actions/checkout step by adding persist-credentials:
false: .github/workflows/ci.yml#L62-L63,
.github/workflows/dependency-review.yml#L35-L36,
.github/workflows/fips-compatibility.yml#L63-L64 and `#L200-L201`,
.github/workflows/performance-regression.yml#L61-L62,
.github/workflows/postman-api-tests.yml#L65-L66,
.github/workflows/pr-validation.yml#L58-L59, `#L101-L102`, and `#L135-L136`, and
.github/workflows/release-sign.yml#L25-L26.

Sources: Path instructions, Learnings, Linters/SAST tools

🤖 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.

Duplicate comments:
In @.github/workflows/ci.yml:
- Around line 60-61: Resolve all expired egress-policy deferrals by validating
required endpoints and changing the Playwright policy at
.github/workflows/ci.yml lines 60-61, plus the dead-code, link-check, and
dependency-validation policies at .github/workflows/pr-validation.yml lines
55-56, 98-99, and 132-133, from audit to block. If any exception must remain,
document its owner and a new expiry at each affected site.
- Around line 62-63: Disable credential persistence on every listed
actions/checkout step by adding persist-credentials: false:
.github/workflows/ci.yml#L62-L63,
.github/workflows/dependency-review.yml#L35-L36,
.github/workflows/fips-compatibility.yml#L63-L64 and `#L200-L201`,
.github/workflows/performance-regression.yml#L61-L62,
.github/workflows/postman-api-tests.yml#L65-L66,
.github/workflows/pr-validation.yml#L58-L59, `#L101-L102`, and `#L135-L136`, and
.github/workflows/release-sign.yml#L25-L26.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 06c85bdb-4317-432d-b54e-5a2c0bf86260

📥 Commits

Reviewing files that changed from the base of the PR and between 6dc3a2e and 1b4f164.

📒 Files selected for processing (24)
  • .github/workflows/ci.yml
  • .github/workflows/codecov.yml
  • .github/workflows/codeql.yml
  • .github/workflows/container-security.yml
  • .github/workflows/coverage.yml
  • .github/workflows/dependency-review.yml
  • .github/workflows/docs.yml
  • .github/workflows/fips-compatibility.yml
  • .github/workflows/mutation-testing.yml
  • .github/workflows/performance-regression.yml
  • .github/workflows/postman-api-tests.yml
  • .github/workflows/pr-title.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/publish-pypi.yml
  • .github/workflows/python-compatibility.yml
  • .github/workflows/qlty.yml
  • .github/workflows/release-sign.yml
  • .github/workflows/release.yml
  • .github/workflows/reuse.yml
  • .github/workflows/sbom.yml
  • .github/workflows/scorecard.yml
  • .github/workflows/security-analysis.yml
  • .github/workflows/slsa-provenance.yml
  • .github/workflows/sonarcloud.yml

@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 2.58 2.54 -1.6%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.88 1.88 📈 0.3%
p95_ms 2.58 2.54 📉 -1.6%
p99_ms 3.43 2.65 📉 -22.7%
mean_ms 1.48 1.45 📉 -2.1%
min_ms 0.06 0.06 📉 -1.7%
max_ms 3.98 2.71 📉 -31.9%
throughput_ops 674.91 689.17 📈 2.1%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 1.03 1.01 📉 -1.8%
avg_throughput_all_benchmarks_ops 1086820.05 1042448.14 📉 -4.1%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@sonarqubecloud

sonarqubecloud Bot commented Aug 2, 2026

Copy link
Copy Markdown

@coderabbitai coderabbitai 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.

♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)

60-61: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Resolve the expired egress-policy deferrals.

The listed jobs still use egress-policy: audit after June 30, 2026. Set each policy to block after validating required endpoints, or renew each exception with an owner and a new expiry.

  • .github/workflows/ci.yml#L60-L61: replace the expired Playwright deferral.
  • .github/workflows/pr-validation.yml#L55-L56: replace the expired dead-code deferral.
  • .github/workflows/pr-validation.yml#L98-L99: replace the expired link-check deferral.
  • .github/workflows/pr-validation.yml#L132-L133: replace the expired dependency-validation deferral.
Suggested patch
-          egress-policy: audit  # TODO: switch to block after 2026-06-30 (compliance audit deferral)
+          egress-policy: block

As per path instructions: review GitHub Actions workflows for security best practices and validate actual security configuration values.

🤖 Prompt for 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.

In @.github/workflows/ci.yml around lines 60 - 61, Expired egress-policy audit
deferrals remain in four workflow jobs; validate their required endpoints and
set each policy to block. Update .github/workflows/ci.yml lines 60-61,
.github/workflows/pr-validation.yml lines 55-56, 98-99, and 132-133; if any
exception cannot be closed, renew it with an owner and new expiry instead.

Source: Path instructions

🤖 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.

Duplicate comments:
In @.github/workflows/ci.yml:
- Around line 60-61: Expired egress-policy audit deferrals remain in four
workflow jobs; validate their required endpoints and set each policy to block.
Update .github/workflows/ci.yml lines 60-61, .github/workflows/pr-validation.yml
lines 55-56, 98-99, and 132-133; if any exception cannot be closed, renew it
with an owner and new expiry instead.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 0c7c016a-1d56-465c-b9f2-3d5caf511a13

📥 Commits

Reviewing files that changed from the base of the PR and between 1b4f164 and 7ac44da.

📒 Files selected for processing (24)
  • .github/workflows/ci.yml
  • .github/workflows/codecov.yml
  • .github/workflows/codeql.yml
  • .github/workflows/container-security.yml
  • .github/workflows/coverage.yml
  • .github/workflows/dependency-review.yml
  • .github/workflows/docs.yml
  • .github/workflows/fips-compatibility.yml
  • .github/workflows/mutation-testing.yml
  • .github/workflows/performance-regression.yml
  • .github/workflows/postman-api-tests.yml
  • .github/workflows/pr-title.yml
  • .github/workflows/pr-validation.yml
  • .github/workflows/publish-pypi.yml
  • .github/workflows/python-compatibility.yml
  • .github/workflows/qlty.yml
  • .github/workflows/release-sign.yml
  • .github/workflows/release.yml
  • .github/workflows/reuse.yml
  • .github/workflows/sbom.yml
  • .github/workflows/scorecard.yml
  • .github/workflows/security-analysis.yml
  • .github/workflows/slsa-provenance.yml
  • .github/workflows/sonarcloud.yml

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

✅ Performance Regression Check

Status: PERFORMANCE OK

Metric Baseline (main) PR Branch Change
p95_ms 1.99 2.17 +9.4%

Threshold: +/-10% allowed regression

✅ Performance is within acceptable range.

Additional Metrics

Metric Baseline PR Change
p50_ms 1.74 1.77 📈 1.7%
p95_ms 1.99 2.17 📈 9.4%
p99_ms 2.16 3.22 📈 48.7%
mean_ms 1.25 1.32 📈 5.0%
min_ms 0.05 0.05 📉 -2.0%
max_ms 2.18 3.60 📈 65.5%
throughput_ops 798.11 759.89 📉 -4.8%
total_iterations 500.00 500.00 ➡️ 0.0%
avg_p95_all_benchmarks_ms 0.79 0.84 📈 5.7%
avg_throughput_all_benchmarks_ops 970865.94 982865.27 📈 1.2%
About Performance Regression Testing

This automated check compares p95_ms on this PR against the main branch baseline.

  • Regression Threshold: 10%
  • Warmup Iterations: 5
  • Benchmark Iterations: 50
  • Baseline Source: generated

To reproduce locally:

uv run --frozen  python scripts/benchmark.py --iterations 1000 

@sonarqubecloud

sonarqubecloud Bot commented Sep 3, 2026

Copy link
Copy Markdown

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.

2 participants