Files
werkrevisor/docs/prs/2026-10-06-PR#35-gradle-files-reach-the-model.md
claude-code 93b3979350
werkator build succeeded after 00:09
werkator/werkrevisor-statistics build succeeded after 00:30
werkrevisor 0.20.4: Gradle build files reach the model (#35)
Co-authored-by: claude-code <claude-code@javagil.de>
2026-10-06 17:25:18 +02:00

52 lines
2.2 KiB
Markdown

# PR#35: Gradle build files reach the model
> **WARNING:** This document describes only the change applied in this PR.
> It may already be outdated once the next PR is merged.
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
## The Problem
PR-Agent 0.47.0 lists `gradle` among its `bad_extensions`, beside binary formats like `jar`, `png` and `zip`.
So a changed `build.gradle` or `settings.gradle` never reaches the model,
and werkrevisor names it only as "files the model cannot review", which gives YELLOW.
On hs.hsadmin.ng PR#317 the model then reported a missing plugin repository as finding,
although `settings.gradle` declares it in `pluginManagement`.
Gradle files are build code: they hold dependencies, repositories and plugins,
which a review must see.
`build.gradle.kts` was not affected, since its extension is `kts`; the tests below cover it too.
## Non-Goals
- No change for the other `bad_extensions`: they are binary, generated or data formats.
- No change of the risky paths: a changed Gradle file still gives YELLOW, unless Jev judges it as of low risk.
## The Scenarios
### Feature: Gradle build files reach the model
#### Scenario#35.01: the model reviews a changed Gradle file
So that the model reviews changed dependencies, repositories and plugins.
- **Given** a PR that changes `settings.gradle` and `src/a.py`
- **When** werkrevisor reviews the PR
- **Then** the model gets the changes of `settings.gradle` and `src/a.py` to review
##### Verified by
- [test_pr_agent_run: test_gradle_files_reach_the_prompt](../../tests/test_pr_agent_run.py)
- [test_pr_agent_integration: test_gradle_files_are_reviewable_but_binary_files_are_not](../../tests/test_pr_agent_integration.py)
- [test_pr_agent_integration: test_reviewability_does_not_follow_changed_settings](../../tests/test_pr_agent_integration.py)
## The Solution
- werkrevisor removes `gradle` from the `bad_extensions` of PR-Agent,
both in the settings of the run and in its own check which files the model can review;
it reads the list from the file shipped with PR-Agent, not from the settings, which can change at runtime.
- werkrevisor 0.20.4.
## Prerequisite PRs
- PR#34: the statistics service is called statistics, not server.