Dalteno
Interactive demo · synthetic data

docflow — drive a document workflow and watch every rule fire

Seven customs documents, six roles, SLAs, a reconciliation gate, an ERP outbox and a closure rule. Receive documents in any order, approve as the right role or the wrong one, reject, re-send a corrected version, acknowledge from the ERP, move the calendar. The engine replays the full command list on every click and tells you the rule behind every refusal.

This is the shape of a system our team built for an Egyptian customs broker — rebuilt here with synthetic data, as an open-source engine in .NET 10 and JavaScript with 42 shared test cases. Read the code first if you prefer: github.com/dalteno/docrecon.

The 17 rules Why event-sourced (ADR-0004)

What this does and does not prove. It proves the engine's logic: deterministic, explained, pinned by hand-written cases, identical in two languages. It runs in your browser, so it proves nothing about concurrency, authentication, throughput or Oracle integration — those are tested in a backend, not a web page. OCR and e-mail intake are adapters outside the engine and are documented, not demonstrated.
…

1Documents · dossier SHP-77-2026

2ERP outbox (Oracle staging tables, idempotency keys)

3Notifications queued

    4Event log (newest first) — the only state there is

      Synthetic data. Nothing leaves your browser. Rule ids link to their contracts; the loaded scenario links to the test case that pins it. Try: approve the customs entry before the certificate of origin (F08) · receive a packing list with 140 valves (F07 → compliance) · re-send the same document (F02) · move the calendar two days and tick (F10).

      The rules

      Have a document process like this?

      Tell us the documents, the roles and the system the data has to land in. You will hear back from the owner within two working days — with questions, not a sales deck.

      hello@dalteno.com WhatsApp