generated from coulomb/repo-seed
Implemented foundation of task-flow-engine
This commit is contained in:
84
flows/capability_request.yaml
Normal file
84
flows/capability_request.yaml
Normal file
@@ -0,0 +1,84 @@
|
||||
id: custodian.capability_request.v1
|
||||
entity_type: capability_request
|
||||
workstations:
|
||||
- name: requested
|
||||
description: Capability has been requested and awaits routing or acceptance.
|
||||
entry_assertions: []
|
||||
exit_assertions: []
|
||||
- name: routing_disputed
|
||||
description: Routing decision has been disputed.
|
||||
entry_assertions:
|
||||
- id: capability_request.disputable_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- requested
|
||||
description: Only requested items can enter routing dispute.
|
||||
exit_assertions: []
|
||||
- name: accepted
|
||||
description: A provider has accepted the capability request.
|
||||
entry_assertions:
|
||||
- id: capability_request.acceptable_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- requested
|
||||
description: Acceptance follows the requested workstation.
|
||||
exit_assertions: []
|
||||
- name: in_progress
|
||||
description: Provider work is underway.
|
||||
entry_assertions:
|
||||
- id: capability_request.progress_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- accepted
|
||||
- ready_for_review
|
||||
description: Work can start after acceptance or return from review.
|
||||
exit_assertions: []
|
||||
- name: ready_for_review
|
||||
description: Capability is ready for requester review.
|
||||
entry_assertions:
|
||||
- id: capability_request.review_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- in_progress
|
||||
description: Review follows in-progress work.
|
||||
exit_assertions: []
|
||||
- name: completed
|
||||
description: Capability request has been completed.
|
||||
entry_assertions:
|
||||
- id: capability_request.completion_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- ready_for_review
|
||||
description: Completion follows review readiness.
|
||||
exit_assertions: []
|
||||
- name: rejected
|
||||
description: Capability request was rejected.
|
||||
entry_assertions:
|
||||
- id: capability_request.rejectable_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- requested
|
||||
- accepted
|
||||
- in_progress
|
||||
description: Requested through in-progress items can be rejected.
|
||||
exit_assertions: []
|
||||
- name: withdrawn
|
||||
description: Capability request was withdrawn.
|
||||
entry_assertions:
|
||||
- id: capability_request.withdrawable_source
|
||||
target: previous_workstation
|
||||
op: any_eq
|
||||
value:
|
||||
- requested
|
||||
- routing_disputed
|
||||
- accepted
|
||||
- in_progress
|
||||
- ready_for_review
|
||||
description: Non-terminal active items can be withdrawn.
|
||||
exit_assertions: []
|
||||
71
flows/contribution.yaml
Normal file
71
flows/contribution.yaml
Normal file
@@ -0,0 +1,71 @@
|
||||
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: []
|
||||
43
flows/task.yaml
Normal file
43
flows/task.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
id: custodian.task.v1
|
||||
entity_type: task
|
||||
workstations:
|
||||
- name: todo
|
||||
description: Task is known but not currently underway.
|
||||
entry_assertions: []
|
||||
exit_assertions: []
|
||||
- name: in_progress
|
||||
description: Task is being actively worked.
|
||||
entry_assertions:
|
||||
- id: task.needs_human_false
|
||||
target: needs_human
|
||||
op: all_eq
|
||||
value: false
|
||||
description: Human intervention is not currently required.
|
||||
exit_assertions:
|
||||
- id: task.needs_human_false
|
||||
target: needs_human
|
||||
op: all_eq
|
||||
value: false
|
||||
description: Human intervention is not currently required.
|
||||
- name: blocked
|
||||
description: Task is blocked by a human decision or unavailable input.
|
||||
entry_assertions:
|
||||
- id: task.needs_human_true
|
||||
target: needs_human
|
||||
op: all_eq
|
||||
value: true
|
||||
description: The task requires human intervention.
|
||||
exit_assertions:
|
||||
- id: task.needs_human_false
|
||||
target: needs_human
|
||||
op: all_eq
|
||||
value: false
|
||||
description: Human intervention has been cleared.
|
||||
- name: done
|
||||
description: Task is complete.
|
||||
entry_assertions: []
|
||||
exit_assertions: []
|
||||
- name: cancelled
|
||||
description: Task is intentionally not being completed.
|
||||
entry_assertions: []
|
||||
exit_assertions: []
|
||||
45
flows/workstream.yaml
Normal file
45
flows/workstream.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
id: custodian.workstream.v1
|
||||
entity_type: workstream
|
||||
workstations:
|
||||
- name: todo
|
||||
description: Planned but not yet active.
|
||||
entry_assertions: []
|
||||
exit_assertions: []
|
||||
- name: active
|
||||
description: Work is underway.
|
||||
entry_assertions: []
|
||||
exit_assertions:
|
||||
- id: dependencies.all_complete
|
||||
target: dependencies.*.workstation
|
||||
op: all_eq
|
||||
value: completed
|
||||
description: Dependency workstreams have reached completed.
|
||||
- name: blocked
|
||||
description: Work is blocked by incomplete dependencies or missing input.
|
||||
entry_assertions:
|
||||
- id: dependencies.any_incomplete
|
||||
target: dependencies.*.workstation
|
||||
op: custom
|
||||
value: completed
|
||||
description: At least one dependency is not completed.
|
||||
exit_assertions:
|
||||
- id: dependencies.all_complete
|
||||
target: dependencies.*.workstation
|
||||
op: all_eq
|
||||
value: completed
|
||||
description: All dependency workstreams have reached completed.
|
||||
- name: completed
|
||||
description: Work is complete.
|
||||
entry_assertions:
|
||||
- id: tasks.all_done
|
||||
target: tasks.*.status
|
||||
op: all_eq
|
||||
value:
|
||||
- done
|
||||
- cancelled
|
||||
description: All child tasks are done or cancelled.
|
||||
exit_assertions: []
|
||||
- name: archived
|
||||
description: Completed work has been moved out of the active set.
|
||||
entry_assertions: []
|
||||
exit_assertions: []
|
||||
Reference in New Issue
Block a user