generated from coulomb/repo-seed
47 lines
863 B
Markdown
47 lines
863 B
Markdown
# Dynamic Workplan Contract
|
|
|
|
```yaml contract
|
|
id: dynamic-workplan-contract-v1
|
|
document:
|
|
type: workplan
|
|
fields:
|
|
id:
|
|
type: string
|
|
required: true
|
|
status:
|
|
type: string
|
|
required: true
|
|
enum: [proposed, active, done, deferred]
|
|
owner:
|
|
type: string
|
|
source: context.workplan.owner
|
|
sections:
|
|
- id: purpose
|
|
title: Purpose
|
|
presence: required
|
|
level: 2
|
|
- id: tasks
|
|
title: Tasks
|
|
presence: required
|
|
level: 2
|
|
- id: decision-point
|
|
title: Decision Point
|
|
presence: optional
|
|
level: 2
|
|
rules:
|
|
- id: require-decision-point-when-done
|
|
if:
|
|
path: fields.status.value
|
|
equals: done
|
|
then:
|
|
sections:
|
|
decision-point:
|
|
presence: required
|
|
- id: owner-needed-for-active-work
|
|
if:
|
|
path: fields.status.value
|
|
equals: active
|
|
then:
|
|
required: [owner]
|
|
```
|