Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
802c769
Refactor PetClinic low-risk controller and service cleanup
formatunitedandreas-code Jul 12, 2026
c39e00a
Refactor PetClinic low-risk readability cleanup (batch 2)
formatunitedandreas-code Jul 12, 2026
5b93163
Guard main CI Sonar analysis without token
formatunitedandreas-code Jul 12, 2026
d9a7795
Refactor PetClinic pet validator field constants
formatunitedandreas-code Jul 12, 2026
f2f57a0
Refactor PetClinic pet validator helper method
formatunitedandreas-code Jul 12, 2026
f70ba32
Refactor PetClinic pet owner model attribute constant
formatunitedandreas-code Jul 12, 2026
a696a41
Refactor PetClinic petcontroller pets new path constant
formatunitedandreas-code Jul 12, 2026
9b72f00
Refactor PetClinic petcontroller edit path constant
formatunitedandreas-code Jul 12, 2026
5a1928a
Refactor PetClinic owner edit path constant
formatunitedandreas-code Jul 12, 2026
5705dbd
Refactor PetClinic owner path constants
formatunitedandreas-code Jul 12, 2026
1d21c06
Refactor PetClinic visit path constant
formatunitedandreas-code Jul 12, 2026
648acc8
Refactor PetClinic pet model attribute constant
formatunitedandreas-code Jul 12, 2026
8ec9348
Refactor PetClinic owner redirect helper
formatunitedandreas-code Jul 12, 2026
1d0128a
Refactor PetClinic visit list model attribute constant
formatunitedandreas-code Jul 12, 2026
b031d5f
Refactor PetClinic owner lastName normalization
formatunitedandreas-code Jul 12, 2026
f809ddd
Refactor PetClinic pet persistence helper
formatunitedandreas-code Jul 12, 2026
85dc0c2
Refactor PetClinic owner details view helper
formatunitedandreas-code Jul 12, 2026
0123a46
Refactor PetClinic pet validator readability
formatunitedandreas-code Jul 12, 2026
b85da56
Refactor PetClinic owner view model constants
formatunitedandreas-code Jul 12, 2026
a31903a
Refactor PetClinic owner redirect constant
formatunitedandreas-code Jul 12, 2026
039c17d
Refactor PetClinic visit redirect and list constants
formatunitedandreas-code Jul 12, 2026
a4b7a2d
Refactor PetClinic pet type parse helper
formatunitedandreas-code Jul 12, 2026
60017b1
Refactor PetClinic owner form initialization helper
formatunitedandreas-code Jul 12, 2026
01d1b2f
Refactor PetClinic pet form save flow
formatunitedandreas-code Jul 12, 2026
08626ba
Refactor PetClinic vet response method reuse
formatunitedandreas-code Jul 12, 2026
f59b409
Refactor PetClinic visit form submission flow
formatunitedandreas-code Jul 12, 2026
0b15790
Refactor PetClinic owner edit model helper
formatunitedandreas-code Jul 12, 2026
cccb850
Refactor PetClinic pet creation form helper
formatunitedandreas-code Jul 12, 2026
899cab4
Refactor PetClinic pet update model helper
formatunitedandreas-code Jul 12, 2026
50477e5
Refactor PetClinic visit form view helper
formatunitedandreas-code Jul 12, 2026
10fb468
Refactor PetClinic visit model helper
formatunitedandreas-code Jul 12, 2026
7da01de
Document autonomous PetClinic refactor lease
formatunitedandreas-code Jul 12, 2026
2472046
Refactor PetClinic owner pet lookup name check
formatunitedandreas-code Jul 12, 2026
025113c
Refactor PetClinic owner pet match helper
formatunitedandreas-code Jul 12, 2026
4b276f6
Extend PetClinic refactor lease repository scope
formatunitedandreas-code Jul 12, 2026
5994c0a
Refactor PetClinic JDBC visit foreign key branch
formatunitedandreas-code Jul 12, 2026
46b4412
Refactor PetClinic JPA owner save branch
formatunitedandreas-code Jul 12, 2026
6f1a8ad
Refactor PetClinic JPA pet save branch
formatunitedandreas-code Jul 12, 2026
2aa8fb4
Refactor PetClinic JPA visit save branch
formatunitedandreas-code Jul 12, 2026
f533ff5
Refactor PetClinic JDBC owner save branch
formatunitedandreas-code Jul 12, 2026
f417e7a
Refactor PetClinic JDBC pet save branch
formatunitedandreas-code Jul 12, 2026
a2af860
Refactor PetClinic JDBC visit save branch
formatunitedandreas-code Jul 12, 2026
4e4c7eb
Refactor PetClinic low-risk controller and service cleanup
formatunitedandreas-code Jul 12, 2026
acbf591
Refactor PetClinic JPA owner query readability
formatunitedandreas-code Jul 12, 2026
0d7f816
Refactor PetClinic JDBC visit association helper
formatunitedandreas-code Jul 12, 2026
6c036f7
Refactor PetClinic visit list lookup helper
formatunitedandreas-code Jul 12, 2026
39b3fab
Refactor PetClinic JDBC pet owner lookup helper
formatunitedandreas-code Jul 12, 2026
5dfc03a
Refactor PetClinic owner search helper
formatunitedandreas-code Jul 12, 2026
1142177
Refactor PetClinic owner find result dispatch
formatunitedandreas-code Jul 12, 2026
427bf22
Refactor PetClinic pet validator predicates
formatunitedandreas-code Jul 12, 2026
5da17d5
Refactor PetClinic call monitoring readability
formatunitedandreas-code Jul 12, 2026
0a4640a
Refactor PetClinic visit repository query helper
formatunitedandreas-code Jul 12, 2026
bd3932a
Refactor PetClinic vet repository specialty loading
formatunitedandreas-code Jul 12, 2026
cc3333e
Refactor PetClinic visit repository loader methods
formatunitedandreas-code Jul 12, 2026
6162f91
Refactor PetClinic owner repository query helpers
formatunitedandreas-code Jul 12, 2026
d5b3280
Refactor PetClinic JDBC owner repository helpers
formatunitedandreas-code Jul 12, 2026
5b3de4f
Refactor PetClinic JDBC pet repository owner-id lookup
formatunitedandreas-code Jul 12, 2026
ed30c54
Refactor PetClinic pet visit sorting comparator
formatunitedandreas-code Jul 13, 2026
b9f1783
Refactor PetClinic owner pet sorting comparator
formatunitedandreas-code Jul 13, 2026
7a3ad83
Refactor PetClinic vet specialty sorting comparator
formatunitedandreas-code Jul 13, 2026
ada98ae
Refactor PetClinic JDBC owner pets loading helper
formatunitedandreas-code Jul 13, 2026
7bcc5b6
Refactor PetClinic entity lookup matcher
formatunitedandreas-code Jul 13, 2026
33ae6f4
Refactor PetClinic one-to-many result size validation
formatunitedandreas-code Jul 13, 2026
f2a1fe6
Refactor PetClinic jdbc owner lookup readability
formatunitedandreas-code Jul 13, 2026
5e984a7
Refactor PetClinic loadPetsAndVisits readability
formatunitedandreas-code Jul 13, 2026
d32a3e1
Merge origin/main into PetClinic refactor branch
formatunitedandreas-code Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/ci-minimal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Java CI (minimal tests)

on:
push:
pull_request:

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Run Maven tests
run: ./mvnw -B test
10 changes: 7 additions & 3 deletions .github/workflows/maven-build-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ jobs:
build:

runs-on: ubuntu-latest
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
strategy:
matrix:
java: [ '17', '21' ]
Expand All @@ -23,8 +25,10 @@ jobs:
java-version: ${{matrix.java}}
distribution: 'adopt'
cache: maven
- name: Build and analyze
- name: Build
run: ./mvnw -B verify
- name: Analyze with Sonar
if: ${{ env.SONAR_TOKEN != '' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./mvnw -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=spring-petclinic_spring-framework-petclinic -Dsonar.organization=spring-petclinic
run: ./mvnw -B org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=spring-petclinic_spring-framework-petclinic -Dsonar.organization=spring-petclinic
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# PetClinic Autonomous Readability Refactor Batch Invocation Template

Use this template to start a governed autonomous refactor batch from the current
repository state.

```yaml
startLease: petclinic-autonomous-readability-refactor-batch-lease-v1

repository: C:\dev\spring-framework-petclinic
branch: <current branch>
startHead: <git rev-parse HEAD>
initialWorktree: clean

budget:
maxCandidatesThisRun: 10
maxCommitsThisRun: 10
maxFilesPerCandidate: 1
maxChangedLinesPerCandidate: 80
maxNewPrivateMethodsPerCandidate: 2
maxRepairAttemptsPerCandidate: 1

scope:
primaryAllowedPaths:
- src/main/java/org/springframework/samples/petclinic/web/**/*.java
- src/main/java/org/springframework/samples/petclinic/service/**/*.java
optionalAllowedPaths:
- src/main/java/org/springframework/samples/petclinic/model/**/*.java
- src/main/java/org/springframework/samples/petclinic/util/**/*.java
- src/main/java/org/springframework/samples/petclinic/repository/**/*.java
repositoryScopeRules:
- readability-only changes
- no repository interface signature changes
- no SQL/HQL/JPQL string changes
- no query parameter name, value, or order changes
- no row mapper, result extractor, association, or persistence behavior changes
- no transaction or cache annotation changes
- no exception type or exception message changes

validation:
fullMavenTestRequiredPerCandidate: true
commands:
- git diff --name-only
- git diff --check
- $env:JAVA_HOME='C:\Program Files\Java\jdk-17'; .\mvnw.cmd test

authorization:
allowed:
- inspect repository state
- discover and rank candidates
- admit one candidate at a time
- edit only the admitted file
- exact-revert current candidate on validation failure
- one bounded repair attempt per candidate
- one local commit per successful candidate
- continue until budget exhausted or no candidate qualifies
forbidden:
- push
- PR creation or update
- upstream interaction
- fetch or pull
- force push
- merge
- release
- deploy
- pom.xml or dependency changes
- src/test changes
- src/main/resources changes
- src/main/webapp changes
- request mapping/view/model/validation/repository/persistence behavior changes
- SQL/HQL/JPQL changes
- repository interface changes

stopConditions:
- branch mismatch
- start HEAD mismatch
- dirty worktree before candidate
- unexpected changed path
- no candidate score >= 75
- ambiguity after tie-breaks
- behavior preservation cannot be argued mechanically
- changed-line or helper-method budget exceeded
- git diff --check fails
- Maven test fails after one bounded repair
- exact revert fails
- commit fails
- worktree not clean after commit
- maxCandidatesThisRun reached
- maxCommitsThisRun reached

finalReport:
include:
- processed candidates
- rejected candidate summary
- commits created
- final HEAD
- final git status
- tests run and results
- stopped reason
- remaining likely candidates
- explicit non-claims
```

Example invocation:

```text
Start lease petclinic-autonomous-readability-refactor-batch-lease-v1.

Repository: C:\dev\spring-framework-petclinic
Branch: threshold-governed-refactor-demo-3
Start HEAD: <current HEAD>
Initial worktree: clean

Run autonomously until budget exhaustion or ready_no_candidates.
Do not push, open or update PRs, merge, release, deploy, fetch, pull, or
interact with upstream.
```
Loading