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