This application was generated by Claude Fable (Max) from these specifications.
Insurance app implementing the published scenarios of the sibling
specs-insurance repo (symlinked at specs/ — run
scripts/link-specs.sh after cloning). Built with SAP CAP Java 5 on
Spring Boot 4; see ARCHITECTURE.md for the stack and
conventions.
Only [published] scenarios are implemented. Scenarios marked
[proposed] are intentionally absent; each service and test carries a
comment naming its spec file, and test @DisplayNames quote the
scenario titles.
Prerequisites: JDK 25. The Maven wrapper provisions Maven 3.9.16; the
build installs Node.js and @sap/cds-dk project-locally for the CDS
compile step.
./mvnw verify./mvnw -pl srv spring-boot:runOData V4 services (basic auth with the mock users below):
/odata/v4/quotes—requestAutoQuote,requestHomeQuote/odata/v4/policies—bindPolicy,requestCancellation,addVehicle,issueCancellationNotice/odata/v4/claims—reportAccident,reportAccidentForInsured,reportWaterDamage,recordDamageEstimate,recordRepairEstimate,authorizeRepair
Mock users (password = user name): prospect, insured, agent,
adjuster.
The database is in-memory H2, migrated by Liquibase from the CDS-generated
DDL plus the rating-table CSVs under db/data/. Nightly jobs (autopay +
3-day retries, elapsed cancellation notices, renewal offers) run at 01:10
in the operating timezone (insurance.time-zone, default
America/New_York).
| Spec | Implementation | Tests |
|---|---|---|
billing/collect-premium.feature.md |
billing/BillingManager |
CollectPremiumTest |
billing/refund-unearned-premium.feature.md |
policy/CancellationManager + domain/ProRata |
RefundUnearnedPremiumTest |
policy/auto-policy/quote-policy.feature.md |
quoting/QuotingManager |
QuoteAutoPolicyTest |
policy/auto-policy/bind-policy.feature.md |
policy/BindingManager |
BindAutoPolicyTest |
policy/auto-policy/cancel-policy.feature.md |
policy/CancellationManager |
CancelAutoPolicyTest |
policy/auto-policy/endorse-policy.feature.md |
policy/EndorsementManager |
EndorseAutoPolicyTest |
policy/auto-policy/renew-policy.feature.md |
policy/RenewalManager |
RenewAutoPolicyTest |
policy/home-policy/quote-homeowners-policy.feature.md |
quoting/QuotingManager |
QuoteHomeownersPolicyTest |
claims/auto-accidents/record-car-accident.feature.md |
claims/FnolManager |
RecordCarAccidentTest |
claims/auto-accidents/assign-adjuster.feature.md |
claims/AdjusterAssignmentManager |
AssignAdjusterTest |
claims/auto-accidents/settle-collision-claim.feature.md |
claims/SettlementManager |
SettleCollisionClaimTest |
claims/home-claims/record-water-damage-claim.feature.md |
claims/FnolManager |
RecordWaterDamageClaimTest |
Boat and motorcycle quoting specs contain only [proposed] scenarios,
so no code exists for them yet.
Outbound email, text, and payment-gateway calls go through ports with
in-memory recording adapters (com.acme.insurance.ports /
com.acme.insurance.adapters); no real providers are wired.