Skip to content

docs: update casehub-aml.md — Layers 1 and 2 complete #15

@mdproctor

Description

@mdproctor

Status field

Change from Greenfield — no code yet, epics defined to:

Active — Layer 1 (naive baseline) and Layer 2 (casehub-work) complete

What is now implemented in casehubio/aml

Layer 1 (casehubio/aml#12 — closed):

  • api/: domain records (SuspiciousTransaction, EntityResolutionResult, PatternAnalysisResult, OsintResult, InvestigationSummary, AmlInvestigationResult) + service interfaces (EntityResolutionService, PatternAnalysisService, OsintScreeningService, SarDraftingService)
  • api/: AmlInvestigationApplicationService use-case port interface
  • app/tutorial/: 4 package-private naive stubs + NaiveAmlInvestigationService (@ApplicationScoped @DefaultBean, 4 LAYER 1 GAP comments)
  • app/: AmlInvestigationResourcePOST /api/investigations returning AmlInvestigationResult

Layer 2 (casehubio/aml#15 — closed):

  • app/tutorial/: WorkItemAmlInvestigationService (@ApplicationScoped, displaces @DefaultBean)
  • Creates compliance officer WorkItem via casehub-work on every investigation: candidateGroups=compliance-officers, claimDeadline=now+30days, callerRef=aml:investigation/{txId}
  • Response: { summary: {...}, complianceReviewTaskId: "..." }
  • 8 tests passing (4 unit + 4 @QuarkusTest)

Architecture note to add

The AML repo follows hexagonal architecture (PP-20260512-9b8847 — parent#18 pending):

  • api/ = domain layer (pure Java, no framework deps)
  • app/ = application + infrastructure layer (CDI, REST, Quarkus)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions