framework:
#    workflows:
#        welfare_approval:
#            type: 'state_machine' # Using state_machine for linear transitions
#            audit_trail:
#                enabled: true # FRD 6.12: Essential for audit logs
#            marking_store:
#                type: 'method'
#                property: 'status'
#            supports:
#                - App\Entity\WelfareRequest
            
            # FRD 6.6.1: Workflow Stages
#            initial_marking: draft
#            places:
#                - draft
#                - pending_review   # Admin validation stage
#                - voting           # Committee voting stage
#                - approved         # Approval granted
#                - rejected         # Request declined
#                - disbursed        # Funds sent to beneficiary

#            transitions:
#                # Member submits the request
#                submit:
#                    from: draft
#                    to:   pending_review
#
#                # Admin moves to committee if it exceeds threshold (FRD 6.6.1)
#                start_voting:
#                    from: pending_review
#                    to:   voting
#
#                # Admin auto-approves if below threshold (FRD 6.6.1)
#                auto_approve:
#                    from: pending_review
#                    to:   approved
#
#                # Committee approves based on voting result
#                committee_approve:
#                    from: voting
#                    to:   approved
#
#                # Admin/Committee rejects
#                reject:
#                    from: [pending_review, voting]
#                    to:   rejected
#
#                # Final step: Admin marks as disbursed (FRD 6.7)
#                disburse:
#                    from: approved
#                    to:   disbursed
#
#                # Allow resubmission if draft was rejected/incomplete
#                re-draft:
#                    from: [pending_review, rejected]
#                    to:   draft