Skip to content
Back to blog
ArchitectureKeep a multi-day case resumable

Durable checkpoints for regulated document intake

A multi-day intake case should resume with its files, history and next action intact. This guide explains checkpoint design, replay safety and human approval for LangGraph workflows.

A document case can wait for days. Persisted state should retain files, gaps, decisions and the next permitted action so another operator can continue safely.

Author

Syntalith Team

Published Updated 6 min read

Regulated onboarding often spans several days or weeks. Files arrive in batches, requirements can change and a case may pause for a human decision. A process that keeps state only in a browser session or an operator's notes forces reconstruction after a restart.

The document intake case uses a persisted case record, an explicit waiting state and a closed set of permitted operations. The architecture is useful for any workflow that must resume without repeating an external action.

Make waiting a real process state

The workflow should distinguish received, classified, incomplete, awaiting a document, awaiting a person, ready for review and closed. Each transition records the event, policy version, actor and next permitted step.

LangGraph's persistence documentation describes checkpointers for thread-scoped graph state and stores for application data that spans threads. A production design chooses the storage technology, retention policy and access model appropriate to the case.

The checkpoint should retain:

  • document identifiers, versions and expiry dates;
  • required items and identified gaps;
  • extracted values with source locations;
  • unresolved contradictions and review decisions;
  • completed external actions and idempotency keys;
  • current policy version and next permitted step.

An operator taking over should understand the case from this record. The interface can still link to correspondence, but it should not require a second full investigation.

Design replay-safe transitions

Restarts and retries are normal. Receiving the same file twice should update one case, and replaying a message after a timeout should not send a second request. Give each external action a stable key and record the completion response before advancing the state.

Test interruptions after receipt, after extraction, before a request, after a human decision and across a software release. Compare the resumed next step, history, already completed actions and file set with the stored record.

The durable execution guidance is a useful reference for designing resumable graph work. The application still owns transaction handling, storage backup, version compatibility and the manual recovery procedure.

Keep restricted actions out of the tool set

The intake service can read documents, classify fields, identify missing items, check consistency and draft a request for a missing document. Approval, sanctions decisions and other restricted actions should be separate capabilities owned by the accountable team.

The safest permission is the one the service cannot call. Maintain a registry that names each available operation, its inputs, its owner and its audit record. A model may suggest that a case appears complete; the person responsible for the process decides whether the case closes.

Use separate service identities for reading, drafting and any approved write. Log the identity, case, source records, policy version and result. Review access and retention with the organisation's security and compliance owners.

Test restart recovery and operator handover

Create a representative case set with missing documents, duplicates, expired files, contradictory values and an interrupted request. Have a second operator take over without access to the original operator's private notes. The handover passes when the second operator can identify the gap, source, next step and required decision from the stored record.

Measure:

  • cases resumed without reconstruction;
  • duplicate external actions prevented;
  • false-complete decisions;
  • missed contradictions and duplicate requests;
  • time spent by the receiving operator;
  • storage, integration and review effort.

Model usage is one operating cost. Include database storage, archival controls, provider calls, exception handling and the people who resolve incomplete cases.

Choose the first intake slice

Begin with one entity type and a limited document set. Describe the required fields, validity rules, human actions and events that trigger a fresh completeness check. Keep the first release in a reviewable mode until the acceptance set and recovery tests pass.

Expand after the team can show stable resume behaviour, clear case ownership, complete history and an agreed response to requirement changes. A new entity type may need different documents, retention and roles, so carry over the test method rather than copying assumptions.

Checkpoint readiness list

  1. Does the stored state contain documents, gaps, decisions and the next step?
  2. Can each external action be recognized as complete after a retry?
  3. Which operations are deliberately unavailable to the intake service?
  4. How are policy changes applied to open cases?
  5. Are restarts tested at each meaningful transition?
  6. Can a second operator take over from the record alone?
  7. Who owns storage, access, retention and incident response?
  8. What evidence is retained for every human decision?

If your onboarding still depends on checklists in personal notes, bring one case type to a free process scan. The case page shows the process shape and its operating limits.

Free process scan

Start with a free process scan.

  • A 30-minute call with the engineer who would lead the work.
  • A review of the processes that cost you the most time and money.
  • A written summary of what to automate first and the likely cost range.

The scan chooses one process to assess, and within 2 business days you receive a recommendation, including when a simpler route is the better fit.

€0

30 minutes · written takeaway within 2 business days

Book a free process scan (30 min)

Times are shown in your own time zone. We work with clients across time zones.

Describe the process in the form