Review Workflow Foundations

Summary

Review foundations are the reusable stop for any domain page that needs to explain cases, issues, artifacts, queues, audit timelines, approvals, repair actions, actor context, locks, or resumption. POA, Precon, marketing, payroll, and identity resolution should link here when they need the shared pattern rather than restating it locally.

Reader Question

When automation needs a human decision, what shared workflow primitives make that decision visible, auditable, and resumable?

Surface Or Workflow

The surface is usually a queue or case view. Identity resolution has the clearest shared implementation surface: a review UI, API routes, decision services, publisher paths, and resumption tests. Domain modules can compose the same shape even when their local tables differ.

Lifecycle

Automation creates an attempt, artifact, issue, case, or review task. The UI loads a read model and displays evidence. The operator records a decision, approval, rejection, or repair. Services persist actor context and events. Locks and resumption hooks make later work continue without duplicating side effects or losing history.

Child Threads

Implementation Boundaries

Shared contracts live under libs/workflow; service behavior lives under services/workflow; identity-resolution routes live under app/api/workflow; the review UI lives under app/web/app/identity-resolution; tests under tests/workflow protect persistence, review UI, decisions, publisher paths, property transfer, target establishment, and resumption.

Tradeoffs

Reusable review primitives require domains to express ambiguity explicitly. That is heavier than a status column, but it prevents one-off manual edits and lets support teams understand what happened after the original job stopped.

Visual

The current visual is a graph neighborhood. The intended visual is a review state machine from automated issue to queue, artifact, decision, event, lock, and resumed work.

Source Evidence

  • services/workflow
  • libs/workflow
  • app/api/workflow
  • app/web/app/identity-resolution
  • docs/runbooks/identity-resolution-review.md
  • tests/workflow