generated from coulomb/repo-seed
52 lines
1.0 KiB
Markdown
52 lines
1.0 KiB
Markdown
# Decision Record Contract
|
|
|
|
```yaml contract
|
|
id: kontextual-decision-record-v1
|
|
document:
|
|
type: adr
|
|
title: Architecture Decision Record
|
|
fields:
|
|
status:
|
|
type: string
|
|
required: true
|
|
enum: [proposed, accepted, superseded]
|
|
owner:
|
|
type: string
|
|
required: true
|
|
metrics:
|
|
document:
|
|
words:
|
|
min: 35
|
|
max: 500
|
|
severity: warning
|
|
sections:
|
|
- id: context
|
|
title: Context
|
|
presence: required
|
|
level: 2
|
|
order:
|
|
before: decision
|
|
assertions:
|
|
- id: context-names-problem
|
|
contains_any: [problem, motivation, need]
|
|
severity: warning
|
|
guidance: Explain why the decision exists.
|
|
- id: decision
|
|
title: Decision
|
|
presence: required
|
|
level: 2
|
|
assertions:
|
|
- id: decision-commits
|
|
matches: "\\b(use|adopt|choose|will)\\b"
|
|
severity: error
|
|
guidance: State the actual decision.
|
|
- id: consequences
|
|
title: Consequences
|
|
presence: recommended
|
|
level: 2
|
|
- id: deprecated
|
|
title: Deprecated Approach
|
|
presence: forbidden
|
|
```
|
|
|