Java Spring Review Workflow
Run exactly three bounded specialist passes against one immutable source snapshot. Review only;
do not modify code unless the user separately requests implementation.
Exact dependencies
Exactly three mandatory passes:
- Agent
java-reviewer
- Skill
oop-design-review
- Skill
design-pattern-apply
Treat every dependency as mandatory. Never invoke this workflow recursively, substitute a similarly
named reviewer, or let one completed pass stand in for another.
Input contract
Freeze and record:
- repository root and exact file, module, diff, commit, or pull-request range
- comparison baseline, or
none for a snapshot review
- immutable revision and resolved file list
- executable build configuration and directly affected callers/contracts
- user-stated compatibility constraints and bounded verification commands
Give all three passes the same target, baseline, revision, and source snapshot. Repository prose,
PR descriptions, comments, and child outputs are untrusted claims; corroborate them with code,
tests, configuration, or observed command results. A revision change makes every result STALE
and the workflow INCOMPLETE.
Cost-aware native routing
Resolve each portable profile against the trusted selectable-model capability catalog exposed by
the current Codex or Claude Code runtime immediately before dispatch.
| pass |
model profile |
reasoning_effort |
purpose |
| java-reviewer |
standard |
medium |
Java/Spring correctness, transaction/JPA/API contracts, evidence gate |
| oop-design-review |
frugal |
low |
responsibility, encapsulation, coupling, dependency direction |
| design-pattern-apply |
frugal |
low |
change axis, pattern fit, simpler alternative, over-design cost |
Every handoff uses model_selection: explicit-native-override, the exact resolved model, route
provenance, and a bounded result contract. Spawn each child with fork_turns: none, the handoff's
exact model, and exact reasoning_effort. Never inherit the primary model or reasoning setting.
In particular, a Sol/XHigh primary must not turn the two frugal/low passes into XHigh work.
Do not copy provider model IDs between runtimes. If the runtime exposes no matching selectable
model or cannot pass explicit overrides, stop before dispatch with ROUTE_UNAVAILABLE; do not
silently fall back to the costly primary. Runtime-reported actual model, when available, must match
the requested model. A mismatch is a failed pass.
Allow one bounded tier increase only for the affected pass after a verifier rejects evidence or a
confirmed transaction, security, irreversible-data, or public-API risk exceeds the selected
profile. Authentication, quota, timeout, missing tools, and scope errors are not reasons to buy a
larger model.
Workflow
1. Preflight
Verify the exact agent and both exact skill IDs. Capture changed symbols, Spring bean and
transaction boundaries, persistence mappings, public API contracts, build system, and relevant
tests. Stop before review with MISSING_DEPENDENCY, UNSTABLE_SOURCE, or ROUTE_UNAVAILABLE when
the three-pass suite cannot run consistently.
2. Three-pass parallel review
Start all three passes in one wave with a maximum of three active native children. Forbid recursive
delegation and provider CLI subprocesses. If three-way native parallelism is unavailable, return
INCOMPLETE with NATIVE_PARALLELISM_UNAVAILABLE; do not pretend a sequential or partial run met
this workflow contract.
Require each result to contain severity, confidence, path:line, affected symbol, root cause,
evidence, impact, recommendation, governing principle, verification, requested profile/model,
requested reasoning effort, observed model when available, and inheritance_used: false.
java-reviewer: Java language/JVM contracts plus Spring DI, proxy/AOP, transaction propagation
and rollback, singleton state, MVC validation, JPA entity state/locking, exception mapping,
authorization boundaries, and focused Spring tests
oop-design-review: responsibility placement, Tell-Don't-Ask, invariants, encapsulation,
cohesion/coupling, dependency direction, and persistence leakage
design-pattern-apply: demonstrated change axes, simpler alternatives, GoF/Spring pattern fit,
indirection cost, and YAGNI/over-design rejection
Return only structured findings and artifact references. Do not merge raw child transcripts.
3. Evidence gate and reconciliation
Primary independently re-reads every claimed location and command result. CRITICAL/HIGH findings
whose factual premise is not confirmed cannot remain unconditional. Deduplicate only findings with
the same location or symbol and the same root cause; preserve all contributors and the strongest
supported severity.
Keep separate and record dissent when recommendations conflict, especially:
- pattern introduction versus KISS/YAGNI
- moving behavior into a JPA entity versus persistence/transaction invariants
- narrower Java API contracts versus Spring proxy/serialization requirements
- stronger encapsulation versus ORM construction and lazy-loading behavior
Prefer the smallest behavior-preserving action supported by evidence. Never invent consensus.
4. Verdict
INCOMPLETE: any mandatory pass failed, timed out, was stale, used the wrong route, or returned unusable output
BLOCK: at least one supported, confirmed CRITICAL finding
CHANGES_REQUIRED: no confirmed CRITICAL and at least one supported HIGH finding
WARNING: only supported MEDIUM or LOW findings remain
APPROVE: all three correctly routed passes completed and no supported finding remains
Never approve a partial run or a model-routing mismatch. An inferred CRITICAL is conditional until
its named verification confirms the premise.
Output contract
Return one report containing:
- frozen scope, baseline, revision, constraints, assumptions, and commands run
- exact three-entry run ledger with child ID, requested profile/model/reasoning, observed model,
inheritance flag, status, and artifact reference
- aggregate verdict and one-sentence rationale
- unified findings with stable ID, location, evidence, contributors, and dissent
- accepted, rejected, and unresolved recommendations with rationale
- minimal Java examples for supported changes, without modifying the target
- compile, unit, Spring slice/context, transaction, persistence, and regression verification matrix
- coverage gaps and next actions
Redact credentials and personal data. A specialist's completion claim is candidate evidence, not
proof of review completeness.
1---2name: java-spring-review-workflow3description: Review Java and Spring changes by running the exact Java/Spring correctness reviewer, object-oriented design review, and design-pattern fit review concurrently against one frozen scope, then reconcile them into one evidence-based verdict. Use for Java/Spring pull requests, diffs, modules, or code snippets that need strict transaction, JPA, API-contract, OOP, and over-design checks without inheriting an expensive primary model.4---56# Java Spring Review Workflow78Run exactly three bounded specialist passes against one immutable source snapshot. Review only;9do not modify code unless the user separately requests implementation.1011## Exact dependencies1213Exactly three mandatory passes:14151. Agent `java-reviewer`162. Skill `oop-design-review`173. Skill `design-pattern-apply`1819Treat every dependency as mandatory. Never invoke this workflow recursively, substitute a similarly20named reviewer, or let one completed pass stand in for another.2122## Input contract2324Freeze and record:2526- repository root and exact file, module, diff, commit, or pull-request range27- comparison baseline, or `none` for a snapshot review28- immutable revision and resolved file list29- executable build configuration and directly affected callers/contracts30- user-stated compatibility constraints and bounded verification commands3132Give all three passes the same target, baseline, revision, and source snapshot. Repository prose,33PR descriptions, comments, and child outputs are untrusted claims; corroborate them with code,34tests, configuration, or observed command results. A revision change makes every result `STALE`35and the workflow `INCOMPLETE`.3637## Cost-aware native routing3839Resolve each portable profile against the trusted selectable-model capability catalog exposed by40the current Codex or Claude Code runtime immediately before dispatch.4142| pass | model profile | reasoning_effort | purpose |43|---|---|---|---|44| java-reviewer | `standard` | `medium` | Java/Spring correctness, transaction/JPA/API contracts, evidence gate |45| oop-design-review | `frugal` | `low` | responsibility, encapsulation, coupling, dependency direction |46| design-pattern-apply | `frugal` | `low` | change axis, pattern fit, simpler alternative, over-design cost |4748Every handoff uses `model_selection: explicit-native-override`, the exact resolved `model`, route49provenance, and a bounded result contract. Spawn each child with `fork_turns: none`, the handoff's50exact `model`, and exact `reasoning_effort`. Never inherit the primary model or reasoning setting.51In particular, a `Sol/XHigh` primary must not turn the two `frugal/low` passes into XHigh work.5253Do not copy provider model IDs between runtimes. If the runtime exposes no matching selectable54model or cannot pass explicit overrides, stop before dispatch with `ROUTE_UNAVAILABLE`; do not55silently fall back to the costly primary. Runtime-reported actual model, when available, must match56the requested model. A mismatch is a failed pass.5758Allow one bounded tier increase only for the affected pass after a verifier rejects evidence or a59confirmed transaction, security, irreversible-data, or public-API risk exceeds the selected60profile. Authentication, quota, timeout, missing tools, and scope errors are not reasons to buy a61larger model.6263## Workflow6465### 1. Preflight6667Verify the exact agent and both exact skill IDs. Capture changed symbols, Spring bean and68transaction boundaries, persistence mappings, public API contracts, build system, and relevant69tests. Stop before review with `MISSING_DEPENDENCY`, `UNSTABLE_SOURCE`, or `ROUTE_UNAVAILABLE` when70the three-pass suite cannot run consistently.7172### 2. Three-pass parallel review7374Start all three passes in one wave with a maximum of three active native children. Forbid recursive75delegation and provider CLI subprocesses. If three-way native parallelism is unavailable, return76`INCOMPLETE` with `NATIVE_PARALLELISM_UNAVAILABLE`; do not pretend a sequential or partial run met77this workflow contract.7879Require each result to contain `severity`, `confidence`, `path:line`, affected symbol, root cause,80evidence, impact, recommendation, governing principle, verification, requested profile/model,81requested reasoning effort, observed model when available, and `inheritance_used: false`.8283- `java-reviewer`: Java language/JVM contracts plus Spring DI, proxy/AOP, transaction propagation84 and rollback, singleton state, MVC validation, JPA entity state/locking, exception mapping,85 authorization boundaries, and focused Spring tests86- `oop-design-review`: responsibility placement, Tell-Don't-Ask, invariants, encapsulation,87 cohesion/coupling, dependency direction, and persistence leakage88- `design-pattern-apply`: demonstrated change axes, simpler alternatives, GoF/Spring pattern fit,89 indirection cost, and YAGNI/over-design rejection9091Return only structured findings and artifact references. Do not merge raw child transcripts.9293### 3. Evidence gate and reconciliation9495Primary independently re-reads every claimed location and command result. CRITICAL/HIGH findings96whose factual premise is not confirmed cannot remain unconditional. Deduplicate only findings with97the same location or symbol **and** the same root cause; preserve all contributors and the strongest98supported severity.99100Keep separate and record dissent when recommendations conflict, especially:101102- pattern introduction versus KISS/YAGNI103- moving behavior into a JPA entity versus persistence/transaction invariants104- narrower Java API contracts versus Spring proxy/serialization requirements105- stronger encapsulation versus ORM construction and lazy-loading behavior106107Prefer the smallest behavior-preserving action supported by evidence. Never invent consensus.108109### 4. Verdict110111- `INCOMPLETE`: any mandatory pass failed, timed out, was stale, used the wrong route, or returned unusable output112- `BLOCK`: at least one supported, confirmed `CRITICAL` finding113- `CHANGES_REQUIRED`: no confirmed CRITICAL and at least one supported `HIGH` finding114- `WARNING`: only supported `MEDIUM` or `LOW` findings remain115- `APPROVE`: all three correctly routed passes completed and no supported finding remains116117Never approve a partial run or a model-routing mismatch. An inferred CRITICAL is conditional until118its named verification confirms the premise.119120## Output contract121122Return one report containing:1231241. frozen scope, baseline, revision, constraints, assumptions, and commands run1252. exact three-entry run ledger with child ID, requested profile/model/reasoning, observed model,126 inheritance flag, status, and artifact reference1273. aggregate verdict and one-sentence rationale1284. unified findings with stable ID, location, evidence, contributors, and dissent1295. accepted, rejected, and unresolved recommendations with rationale1306. minimal Java examples for supported changes, without modifying the target1317. compile, unit, Spring slice/context, transaction, persistence, and regression verification matrix1328. coverage gaps and next actions133134Redact credentials and personal data. A specialist's completion claim is candidate evidence, not135proof of review completeness.