CBSA Migration Ledger
This issue tracks the COBOL→Java migration of the CICS Banking Sample
Application. Source repo (read-only):
augment-solutions/cics-banking-sample-application-cbsa .
Target stack: Java 25, Spring Boot 3.5, jOOQ 3.20, CockroachDB v24.3.
The translation rulebook is at
docs/translation-rules.md .
Bootstrap
Programs (POC first, then dependencies-up)
Out of scope (not migrated)
BNK1*, BNKMENU — BMS terminal handlers, replaced by REST + the existing React UI
BANKDATA — replaced by Flyway seed migrations
ABNDPROC — replaced by @ControllerAdvice
Cleanup pass (post-migration)
Final polish pass after every program PR was merged. Each PR closes one
or more cleanup-tracking issues opened from the auto-review feedback.
Final state
All 13 programs migrated and merged on main.
All cleanup-pass tracking issues (translator: tighten error-shape consistency and overflow guards #5 , translator-rules: codify recurring auto-review patterns #6 , CRECUST: tighten CommName validation (no blank/whitespace via empty title) #10 , CREACC: review whether transient counter-lock failures should map to a CreaccResult fail code instead of 500 #14 , CREACC DTOs: replace Objects.requireNonNull in record constructors with bean-validation so missing fields return 400, not 500 #15 ) closed.
./mvnw -B verify on main — 205 tests, 0 failures, BUILD SUCCESS
(Testcontainers CockroachDB 24.3, full integration suite + WebMvc
slices).
docs/translation-rules.md is the authoritative rulebook with §1–§15
covering project layout, PIC mappings, REDEFINES, CICS idioms,
CockroachDB/jOOQ conventions, REST contract, concurrency, error
model, testing, sortcode/typed-properties, PR conventions, PROCTRAN
abends, the seven recurring patterns from the PR feat(inqcust): translate INQCUST to Java #4 review, a
translator checklist appendix, and out-of-scope.
Migration complete.
CBSA Migration Ledger
This issue tracks the COBOL→Java migration of the CICS Banking Sample
Application. Source repo (read-only):
augment-solutions/cics-banking-sample-application-cbsa.Target stack: Java 25, Spring Boot 3.5, jOOQ 3.20, CockroachDB v24.3.
The translation rulebook is at
docs/translation-rules.md.Bootstrap
Programs (POC first, then dependencies-up)
Out of scope (not migrated)
BNK1*,BNKMENU— BMS terminal handlers, replaced by REST + the existing React UIBANKDATA— replaced by Flyway seed migrationsABNDPROC— replaced by@ControllerAdviceCleanup pass (post-migration)
Final polish pass after every program PR was merged. Each PR closes one
or more cleanup-tracking issues opened from the auto-review feedback.
controlbaseline preservation in testsStringRandom/Clockinjection across services"R"→ 503 unificationObjects.requireNonNullin record constructors with bean-validation so missing fields return 400, not 500 #15)CreaccResult(closes CREACC: review whether transient counter-lock failures should map to a CreaccResult fail code instead of 500 #14)ProblemDetailinInqcustController+ rulebook §13/§14codifying seven recurring patterns + translator checklist
(closes translator: tighten error-shape consistency and overflow guards #5, translator-rules: codify recurring auto-review patterns #6)
Final state
main.Objects.requireNonNullin record constructors with bean-validation so missing fields return 400, not 500 #15) closed../mvnw -B verifyonmain— 205 tests, 0 failures, BUILD SUCCESS(Testcontainers CockroachDB 24.3, full integration suite + WebMvc
slices).
docs/translation-rules.mdis the authoritative rulebook with §1–§15covering project layout, PIC mappings, REDEFINES, CICS idioms,
CockroachDB/jOOQ conventions, REST contract, concurrency, error
model, testing, sortcode/typed-properties, PR conventions, PROCTRAN
abends, the seven recurring patterns from the PR feat(inqcust): translate INQCUST to Java #4 review, a
translator checklist appendix, and out-of-scope.
Migration complete.