Skip to content

Workflow Governance — Business Rules

Tổng quan

Domain này là lớp “control plane” cho:

  • custom permission,
  • dashboard report permission,
  • approver matrix,
  • task status / tag / group / subtask,
  • project label,
  • knowledge base question,
  • complaint permission config.

Điểm quan trọng nhất:

  • đây không phải business runtime của từng module,
  • mà là lớp governance/config điều khiển module khác hoạt động.

Nhóm nghiệp vụ

NhómVai trò
Custom permissionTạo role động, gán modules
Report permissionCấu hình quyền xem báo cáo/thống kê
Approver matrixGán người duyệt theo request type và scope
Task metadataWorkflow status, task tag, tag group, subtask
Project labelLabel master cho project/task
Knowledge baseKho câu hỏi / tag cho vận hành CRM
Complaint configCấu hình quyền complaint theo branch/user

Quy tắc nghiệp vụ

Quy tắc
BR-WG-001settings ở domain này là control plane; runtime consumption nằm ở projects, report, complaint, ecommerce và CRM.
BR-WG-002request_approver là engine đa domain, không chỉ riêng timekeeping hay refund.
BR-WG-003Dashboard report permission không tự map động từ schema; FE đang tự hardcode report -> module.
BR-WG-004knowledge base question nằm trong crm, nhưng route quản trị lại sống trong settings.
BR-WG-005subtask là config master của ecommerce service/product, còn task status/tag/group và project label thuộc project domain.

Boundary

BoundaryGhi chú
projectsconsumer của workflow status, tag, label
reportconsumer của report/dashboard permission
complaintbusiness app thật của complaint nằm ngoài settings
ecommerceapprover types refund/negative payment/device/doctor commission, và subtask/service_subtask
crmknowledge base question/tag

Rủi ro / Findings

MứcFinding
P1request_approver ownership đang mờ giữa ecommerce và hrm metadata.
P1ApproverPage sort tab theo route key thay vì business order, làm governance UI thiếu ổn định.
P1Dashboard report permission đang hardcode map report -> module, nên thêm report mới rất dễ lệch quyền.
P1TaskTagTable đang lộ semantic drift từ domain khác qua wording “Tiền tour” và field disable/disabled.
P2Knowledge base route nằm trong settings nhưng moduleId/nav lại tách riêng, nên không thật sự đồng nhất với internal settings tree.