A backend service that resolves workflow configuration using a multi-dimensional override system, based on specificity ranking.
- Clean Architecture
- Swagger for API display & Testing
- Specificity-based override resolution (similar to CSS cascade)
- Multi-dimensional selector (state, client, investor, caseType)
- Effective date handling (
effectiveDate,expiresDate) - Conflict detection between overrides
- Explain the API for debugging resolution decisions
- Override CRUD operations
- Seed data support (steps, defaults, overrides)
Instead of maintaining multiple workflows, the system uses:
- Defaults → base configuration
- Overrides → context-specific changes
Resolution is based on:
- Matching selector
- Highest specificity
- Latest effective date
API → Handler → Service → Repository (interface) → Infra (Postgres)
↓
Domain Layer
(Entities, Value Objects, Aggregates, Domain Services)git clone <your-repo>
cd rules-resolution-servicedocker-compose up -dPOST /api/resolvePOST /api/resolve/explainGET /api/overrides
GET /api/overrides/{id}
POST /api/overrides
PUT /api/overrides/{id}
PATCH /api/overrides/{id}/statusGET /api/overrides/conflictsThis implementation covers core requirements, including resolution, conflict detection, and override management. Some optimizations and advanced features can be further extended.