Dashboard
Needs Your Attention
Loading…
Recommendations
Review Queue 0
Action History
Recent Actions
Feed Data Explorer
Look up what data is available by date, DC, and feed type
Inquiry
Look up SKU, Purchase Order, or Return Authorization details
Archive
Historical actions and resolved items from past business dates
Trends & Analytics
Acceptance Rate by Root Cause
Daily Volume
Token Usage by Day
Agent Setup
Agent Provider
Loading...
Token Budget
Loading...
Email Alerts (SMTP)
Loading...
Automation & Alerts
Loading...
Agent auto-runs per DC when all feeds arrive, plus optional interval sweep. Emails use the SMTP settings on the left.
Auth Settings
Loading...
On-Demand Run
Run AI Analysis
Select a business date to check available data, then run analysis. Previous runs will be auto-archived and unacted recommendations cleared.
Batch / Scheduled Runs
Off
Server local time
Data arrives from IBM i RPGLE programs via scheduled CL jobs. The batch run analyzes whatever data has been received for the day.
Not configured
Run History
Prompt Editor
System Promptv1.0
Analysis Promptv1.0
Prompt A/B Testing
Loading...
Data Sources
IBM i (AS/400)
Loading...
MOJO / Supply Chain DB2
Loading...
Configured Data Sources
Loading...
User Management
| Name | Role | DC Scope | Status | Actions |
|---|
DC Setup
Distribution center configuration, server mapping, and library assignments
DC → IBM i Library Mapping
Loading...
Knowledge Base
Expert scenario rules that teach the AI how to classify root causes
Scenario Rules0
Loading...
AI Wants to Know
Click "Generate Questions" to have the AI identify what it needs help with.
Access Control
Loading...
Audit Log
System activity, setting changes, and privileged actions
Recent Activity
Loading...
Documents & Guides
System walkthrough, data flow, root cause taxonomy, and architecture reference
How It Works1:30
End-to-End Data Flow
1
IBM i Nightly Extract & Push
R888ALL loops per DC. 5 feeds: DIST03 Delta, DISTC7 Audit, DIST07 Loose, PO Not Received, Returns MOJO. R888SEND streams each IFS JSON to Azure via HTTPAPI.
R888ALL loops per DC. 5 feeds: DIST03 Delta, DISTC7 Audit, DIST07 Loose, PO Not Received, Returns MOJO. R888SEND streams each IFS JSON to Azure via HTTPAPI.
2
Feed Ingestion (push-only)
POST /api/v1/feeds/<feed>. Raw JSON committed first; cleaning runs in its own transaction so a parse error can't poison the pool. Auto-run triggers when the DC reaches its expected feed count.
POST /api/v1/feeds/<feed>. Raw JSON committed first; cleaning runs in its own transaction so a parse error can't poison the pool. Auto-run triggers when the DC reaches its expected feed count.
3
Cleaning & Normalization
Joins all feeds by lot number into a unified bundle per SKU/size
Joins all feeds by lot number into a unified bundle per SKU/size
4
AI Root Cause Analysis
LLM agent classifies each lot using 7-code taxonomy with confidence score
LLM agent classifies each lot using 7-code taxonomy with confidence score
5
Confidence Gating
High confidence (≥60%) auto-publishes. Low confidence goes to Review Queue.
High confidence (≥60%) auto-publishes. Low confidence goes to Review Queue.
6
Human Review
Analysts accept, reject, or override. Every action logged with full audit trail.
Analysts accept, reject, or override. Every action logged with full audit trail.
Architecture
IBM i (AS/400)
Source system — R888ALL driver loops per DC, extracts DIST03 delta, DISTC7 audit, DIST07 loose, PO not received, Returns. Libraries: RDSTOVP (programs), RDSTOVF (files), RDSFILES (indexes).
Source system — R888ALL driver loops per DC, extracts DIST03 delta, DISTC7 audit, DIST07 loose, PO not received, Returns. Libraries: RDSTOVP (programs), RDSTOVF (files), RDSFILES (indexes).
Azure App Service
Python 3.12, FastAPI + Gunicorn + Uvicorn workers
Python 3.12, FastAPI + Gunicorn + Uvicorn workers
SQL Server
All tables via pymssql + SQLAlchemy ORM
All tables via pymssql + SQLAlchemy ORM
Azure Key Vault
DB password + LLM API keys via managed identity. No DSN / IBM i creds in portal (push-only).
DB password + LLM API keys via managed identity. No DSN / IBM i creds in portal (push-only).
LLM Agent
Claude Sonnet — structured prompt with 7-code taxonomy
Claude Sonnet — structured prompt with 7-code taxonomy
Portal Frontend
WWOF-branded portal with real-time dashboard & review workflow
WWOF-branded portal with real-time dashboard & review workflow
Root Cause Taxonomy — 7 Codes
| Code | Label | Description | Evidence |
|---|---|---|---|
| PO_OVER_RECEIPT | PO Over Receipt | Received more units than PO specified | balance_to_receive < 0 |
| RETURN_NOT_PUTAWAY | Return Not Putaway | Returned inventory not shelved | Return exists, no putaway audit |
| PUTAWAY_BLOCKED | Putaway Blocked | System prevented putaway | Blocked/failed putaway program |
| LOCATION_MISMATCH | Location Mismatch | Wrong bin location | VLOT audit with location transfers |
| PACK_RECEIVE_SEQ | Pack/Receive Sequence | Transactions out of order | Pack before receive |
| DATA_TIMING | Data Timing | Extract timing false delta | Near extract boundary |
| UNKNOWN | Unknown | Insufficient evidence | No matching trail |
