Skip to content

hack-cleanup: AxonFlowException catch + Maven mirror composite action#152

Merged
saurabhjain1592 merged 1 commit into
mainfrom
feature/qf-10-java-tighten-smoke
Apr 28, 2026
Merged

hack-cleanup: AxonFlowException catch + Maven mirror composite action#152
saurabhjain1592 merged 1 commit into
mainfrom
feature/qf-10-java-tighten-smoke

Conversation

@saurabhjain1592

Copy link
Copy Markdown
Member

Summary

Honest hack-cleanup PR. When the user asked "did you make any hacks/shortcuts during the QF-14 review work?", two leftover items from the deep review:

  1. Basic.java caught RuntimeException for the community-fail-open path (the catch block in review fixes: integration.yml, basic example, surefire binding #149's review-fixes was tighter than the original Exception, but still over-broad). The SDK exception hierarchy is rooted at AxonFlowException extends RuntimeException — catching RuntimeException would have swallowed any non-SDK runtime error (NullPointerException from a SDK regression, IllegalStateException from a misuse, etc.) and printed it as "non-success". Tightened to AxonFlowException.

  2. Maven mirror config duplicated 5 times across ci.yml (3 jobs) + integration.yml (2 jobs). Reviewer flagged it as P2 polish. Extracted to a composite action .github/actions/setup-maven. ~65 lines of YAML duplication removed; if the mirror URL ever rotates, one change instead of five.

Test plan

  • mvn install -DskipTests -B clean (parent + example)
  • cd examples/basic && mvn -B compile clean
  • CI green on all jobs (composite action resolves correctly)
  • Live integration green on push to main

What I'm not changing

  • The wcp-retry-idempotency example pin to SDK 5.5.0 — known stale per feedback_stale_replace_paths_in_examples.md. Bulk-bump sweeps deliberately skip these. The example still builds against 5.5.0 and the live-integration job only runs examples/basic, not this one.
  • The basic example's proxyLLMCall exit semantics on community-without-LLM. Tightening further requires capability detection from /health (which the agent already publishes), tracked in examples: add minimal planning + connectors example dirs #146.

Hack-audit pass on the QF-14 Java workstream. Two leftover shortcuts
flagged in the deep review:

1. examples/basic Basic.java caught `RuntimeException` for the
   community-fail-open path. The SDK exception hierarchy is rooted at
   `AxonFlowException extends RuntimeException`, so catching
   `RuntimeException` was overly broad — would have swallowed any
   non-SDK runtime error (NullPointerException from a SDK regression,
   IllegalStateException from a misuse, etc.) and printed it as
   "non-success". Tightened to `AxonFlowException`. The smoke now
   propagates non-SDK runtime errors to the JVM default handler, which
   exits non-zero and surfaces the stack trace.

2. The Maven mirror config block (~13 lines) was duplicated 5 times
   across ci.yml + integration.yml. Extracted to a composite action
   `.github/actions/setup-maven`. All 5 sites now reference
   `uses: ./.github/actions/setup-maven`. ~65 lines of YAML
   duplication removed; if the mirror URL ever rotates, one change
   instead of five.

Verified: mvn install (parent + example) clean.
@saurabhjain1592 saurabhjain1592 merged commit e3808b1 into main Apr 28, 2026
13 checks passed
@saurabhjain1592 saurabhjain1592 deleted the feature/qf-10-java-tighten-smoke branch April 28, 2026 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant