id: custodian.contribution.v1 entity_type: contribution workstations: - name: draft description: Local draft, not yet submitted. entry_assertions: [] exit_assertions: [] - name: submitted description: Submitted for acknowledgement. entry_assertions: - id: contribution.from_draft target: previous_workstation op: any_eq value: - draft description: Submitted contributions originate from draft. exit_assertions: [] - name: acknowledged description: Submission has been acknowledged. entry_assertions: - id: contribution.from_submitted target: previous_workstation op: any_eq value: - submitted description: Acknowledgement follows submission. exit_assertions: [] - name: accepted description: Contribution has been accepted for merge. entry_assertions: - id: contribution.from_acknowledged target: previous_workstation op: any_eq value: - acknowledged description: Acceptance follows acknowledgement. exit_assertions: [] - name: merged description: Contribution has been merged. entry_assertions: - id: contribution.from_accepted target: previous_workstation op: any_eq value: - accepted description: Merge follows acceptance. exit_assertions: [] - name: rejected description: Contribution was rejected. entry_assertions: - id: contribution.rejectable_source target: previous_workstation op: any_eq value: - submitted - acknowledged description: Only submitted or acknowledged contributions can be rejected. exit_assertions: [] - name: withdrawn description: Contribution was withdrawn by its owner. entry_assertions: - id: contribution.withdrawable_source target: previous_workstation op: any_eq value: - draft - submitted - acknowledged - accepted description: Draft through accepted contributions can be withdrawn. exit_assertions: []