OH

Bounded Workflow & Rules Configurator

Business process owners configure recurring approvals, notifications and SLA logic from an allowlisted action set — versioned, testable, publishable and reversible, never a general-purpose programming platform.

GOV-07
Published workflows
18
Across 7 modules
Drafts in progress
4
1 blocked by validation
Running instances
342
Oldest: 41 days (escrow release)
Escalations (7d)
9
6 SLA breach · 3 manual
Test pass rate
96%
51 / 53 cases green
Workflow definitions
WorkflowVer.StatusRunning
Expense approval
Finance · owner: Fatima Rashid
v7
draft v8
Published Draft blocked 64
Offer discount approval
Sales · owner: Rashid Al Farsi
v4 Published 21
Contract release
Legal · owner: Mariam Al Suwaidi
v5 Published 12
Reservation refund
Finance · owner: Fatima Rashid
v3 Published 7
KYC escalation & SLA
Compliance · owner: Ahmed Al Blooshi
v6 Published 33
Maintenance work order
Operations · owner: Elena Petrova
v2
draft v3
Published Draft in test 188
Leave request
HR · owner: HR ops
v9 Published 17
Vendor onboarding
Procurement · owner: Daniel Chen
v1-draft Draft — never published 0
Cheque bounce handling
Finance · deprecated 01 Jul 2026
v2 Deprecated — 0 new 2
Expense approval — draft v8 (published: v7) Validation failed
Draft Submitted Manager approval Finance review Posted
StageTypeActor resolutionOn rejectSLAEscalation
SubmittedEntry gateRequester (any staff)
Manager approvalApprovalAuthority matrix AUT-001/002 · self-approval blocked→ Rework (return to requester)24hNotify dept head after 24h
Finance reviewApprovalAuthority matrix AUT-002/003 (dual > 50k)✕ Missing rejection path48hEscalate to Finance Manager
PostedModule actionfinance.post_expense (allowlisted · validated by Finance)
Any stagePathsRework ✓ · Rejection (stage-level) · Cancellation ✓ (requester, with reason) · Expiry 30 days ✓ · Escalation ✓
Validation results — draft v8 · run 17 Jul 2026 08:12
CheckDetailResult
WF-VAL-001All stages reachable from entryPass
WF-VAL-014Every terminal state is explicit (approve / reject / cancel / expire)Pass
WF-VAL-102Rejection path present on every approval stage — “Finance review” missingFail — blocking
WF-VAL-118Actions allowlisted & validated by owning modulePass
WF-VAL-121Approver resolution via authority matrix (no hard-coded names)Pass
WF-VAL-133Escalation targets resolvable in all branchesWarning — dept head vacant in Abu Dhabi Branch
Expense approval — version historyVersion lifecycle
VersionEffectiveContent hashApproved byState
v8 (draft)sha256:31aa…d208Blocked — WF-VAL-102
v701 May 2026 → opensha256:8c4e…19b3Fatima Rashid · Vikram NairActive
v610 Jan – 30 Apr 2026sha256:f0b7…a441Fatima Rashid · Vikram NairSuperseded · 3 instances still on v6
v502 Sep 2025 – 09 Jan 2026sha256:77d2…3c90Fatima Rashid · V. NairSuperseded
Test cases — draft v8 · 8 of 53 shown
CaseScenarioInput hashExpectedActualResult
TC-01AED 3,200 expense by Omar Haddadin:a1f2…Route: line manager only (AUT-001)Route: line manager onlyPass
TC-02AED 7,850 expense by Daniel Chen (delegate active)in:b083…Self-approval blocked · re-route Fatima RashidSelf-approval blocked · re-routePass
TC-03AED 68,500 expense → dual approvalin:9cc1…FM + MD (AUT-003), independent pairFM + MD, independent pairPass
TC-04Rejection at Finance review returns to requesterin:5d17…Rework path takenNo transition foundFail
TC-05SLA breach at Manager approval (25h)in:e942…Escalation notice to dept headEscalation notice sentPass
TC-06Requester cancels while in approvalin:07bd…Cancelled with mandatory reason · audit eventCancelled · auditedPass
TC-07Instance idle 30 daysin:c65a…Expired · requester notifiedExpired · notifiedPass
TC-08Abu Dhabi Branch — dept head vacantin:44e9…Escalate to branch manager fallbackFallback used · warning loggedPass with warning
51 pass · 1 fail · 1 warning — publication requires 0 failing cases
Allowlisted actions available to this workflowValidated by owning module
ActionOwning moduleParameters (typed)ValidationStatus
workflow.approvePlatformreason?: textAuthority + SoD evaluated server-sideAllowlisted
workflow.rejectPlatformreason: text (mandatory)Rejection reason requiredAllowlisted
workflow.reworkPlatformreturn_stage: enumTarget must precede current stageAllowlisted
notify.sendNotificationstemplate_id: ref · locale: en|arApproved template onlyAllowlisted
sla.set / sla.escalatePlatformhours: int 1–720Bounded rangeAllowlisted
finance.post_expenseFinanceexpense_id: refFinance validates state + period openAllowlisted
task.createWork queueassignee: role-ref · due: dateRole must exist in scopeAllowlisted
script.executeNot permitted on this platformRejected — not allowlisted
http.call (external)Use governed connectors via events & webhooksRejected — not allowlisted
Running instances — Expense approval (64)Each retains its definition version
InstanceSubjectDef. ver.StageAgeState
WFI-88231EXP-2214 · AED 7,850.00 · Daniel Chenv7Finance review1dIn approval
WFI-88204EXP-2209 · AED 1,120.00 · Layla Hassanv7Manager approval2dSLA breached — escalated
WFI-88187EXP-2201 · AED 4,300.00 · marketingv7Posted3dCompleted
WFI-88102EXP-2188 · AED 62,000.00 · fit-out depositv7Manager approval5dRework — returned to requester
WFI-87914EXP-2154 · AED 980.00 · Omar Haddadv622dRejected — reason recorded
WFI-87850EXP-2141 · AED 2,450.00 · office suppliesv629dCancelled by requester
WFI-87611EXP-2102 · AED 15,600.00 · dormantv631dExpired (30-day rule)
⇪ Publish “Maintenance work order” draft v3

Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 · Covers: GOV-07 (bounded workflow & rules configurator; versioned/testable/publishable/reversible definitions, allowlisted actions, rejection-path validation block WF-VAL-102, rework/cancel/expiry/escalation paths).