ResolveDesk — Order Exception Captain — Devpost submission text

Tagline

An approval-gated Strands agent that turns delivery exceptions into safe, evidence-backed operator drafts.

What it does

Independent ecommerce operators often discover a stalled, lost, or failed delivery only after a customer has already had a poor experience. ResolveDesk — Order Exception Captain turns that repetitive exception-handling work into one clear, reviewable workflow.

It reads a delivery-status snapshot, applies deterministic policy to identify a specific exception, then runs three bounded Strands specialists in a fixed order: evidence, resolution explanation, and customer-message drafting. The result is an auditable draft for a named human operator. The agent cannot select the route, approve an action, issue a refund, contact a carrier, or message a customer.

Who it is for and why it matters

The project is for small ecommerce operations teams that need to respond to delivery problems quickly without turning customer communication or financial decisions over to an LLM. It makes the important facts, policy result, and proposed message visible before a human decides what happens next.

How it is built

  • Python, FastAPI, SQLite, and the Strands Agents SDK.
  • Deterministic routing and idempotency are ordinary code, not model decisions.
  • Three role-specific Strands agents create bounded drafts only.
  • Amazon Bedrock provides the final live-proof path. A synthetic Amazon Bedrock Haiku 4.5 run completed in eu-north-1 after a recorded cost boundary and produced the fixed evidence → resolution → communications trace.
  • The local dashboard supports loading synthetic data, reviewing redacted drafts, named approve/reject decisions, an auditable dry-run handoff, a configurable bounded Policy Builder, and a configured, isolated read-only WooCommerce sample store.

Safety and privacy

The demo uses synthetic, reserved-domain data. Customer names and emails are excluded from specialist prompts; common email and phone patterns are redacted before drafts are persisted or displayed. The optional WooCommerce connector uses only HTTPS GET with server-side Read credentials against an isolated sample store containing three completed synthetic orders: stalled, lost, and failed delivery attempt. No external write adapter exists. All outbound-shaped activity is a visible, idempotent dry-run preview after named approval.

Testing instructions

The offline demo is free to run and needs only Python 3.11+ and uv:

uv sync --extra dev
uv run pytest
uv run order-exception-captain --approve
uv run order-exception-captain-api --database data/demo.sqlite3

Open http://127.0.0.1:8000/ to load the synthetic queue and approve or reject a draft. The optional Bedrock proof is documented in BedrockProofRunbook.md; it uses only synthetic data and requires the evaluator's own AWS credentials and selected cost boundary.

The live synthetic demo is available at https://oec.connect-the-dots.biz. The dashboard shell is public, but operator and policy-editing access need separate tokens; do not put those values in a public README or video. The deployment guide explains their origin and secure administrator retrieval.

Provenance and third-party tools

This is a new project created during the submission period. It uses standard open-source libraries and AWS services. It is conceptually informed by prior agent experiments but contains no copied source code from them.

Built With

Share this project:

Updates

Submission history