-
Notifications
You must be signed in to change notification settings - Fork 43
Add ADR-0014: Terminology shift from "decision tree" to "decision table" #1100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
b2e1644
Initial plan
Copilot 9d2aa29
Add ADR-0014: use 'decision table' instead of 'decision tree'
Copilot c395b3c
Modify copilot's work and markdownlint
507d1ea
Edits for clarity
ahouseholder e405ce3
Apply suggestions from code review
ahouseholder 25b68d8
Remove emphasis from Considered Options list items in ADR-0014
Copilot c48f706
Edits for clarity (#1110)
sei-renae File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| --- | ||
| status: "accepted" | ||
| date: 2025-08-26 | ||
| --- | ||
| # Use "Decision Table" Instead of "Decision Tree" | ||
|
|
||
| ## Context and Problem Statement | ||
|
|
||
| SSVC uses a tabular model to map combinations of decision point values to | ||
| recommended actions. Historically, this model was referred to as a "decision | ||
| tree" or "decision policy" with both terms being used interchangeably in | ||
| documentation and tooling. While our use of "decision tree" was consistent with | ||
| usage in the context of Operations Research | ||
| (Wikipedia: [Decision tree](https://en.wikipedia.org/wiki/Decision_tree)), | ||
| it caused confusion with the related-yet-different concept from Machine Learning | ||
| (Wikipedia: [Decision tree learning](https://en.wikipedia.org/wiki/Decision_tree_learning)). | ||
| Furthermore, the term "decision policy" has overloaded meanings beyond our | ||
| intended usage. We want to avoid confusion on both fronts, therefore we need a | ||
| new term. | ||
|
|
||
| ## Decision Drivers | ||
|
|
||
| - Avoid ambiguity with the machine learning and operations research concept of | ||
| "decision tree" | ||
| - Use a less contentious term than "policy" as we are not dictating "capital-P | ||
| Policy" | ||
| - Accurately describe the underlying SSVC data structure, which is a table of | ||
| decision point value combinations and outcomes | ||
| - Improve clarity in documentation, tooling, and communication with | ||
| practitioners | ||
| - Align terminology with the actual data representations used (CSV and JSON | ||
| tables) | ||
|
|
||
| ## Considered Options | ||
|
|
||
| - Switch to decision framework | ||
| - Switch to decision table | ||
| - Switch to decision model | ||
|
|
||
| ## Decision Outcome | ||
|
|
||
| Chosen option: "Switch to decision table" | ||
|
|
||
| ### Rationale | ||
|
|
||
| "Decision table" accurately describes the tabular structure used by | ||
| SSVC and avoids the well-established conflicting meaning of "decision tree" in | ||
| machine learning and statistics. | ||
|
|
||
| We may use *decision model* for the more generic class of things to which a | ||
| *decision table* belongs, but *decision table* is specific enough to make it | ||
| clear exactly what our intended meaning is. | ||
|
|
||
| ### Consequences | ||
|
|
||
| - Good, because the terminology now accurately reflects the underlying data | ||
| model (a table mapping decision point values to outcomes) | ||
| - Good, because it reduces confusion for practitioners familiar with machine | ||
| learning | ||
| - Bad, because some existing documentation, external references, and tooling may | ||
| still use "decision tree" — these will be updated incrementally | ||
| - Bad, because the change breaks consistency with prior SSVC publications and | ||
| external references that use "decision tree" | ||
|
|
||
| ### Confirmation | ||
|
|
||
| Documentation, code, and tooling use "decision table" as the primary term for | ||
| an SSVC decision model. References to "decision tree" in the visual/hierarchical sense | ||
| (i.e., tree diagrams used to illustrate a decision table) may still appear where | ||
| appropriate but should be clearly distinguished from the decision table itself. | ||
|
|
||
| ## More Information | ||
|
|
||
| - This change was introduced with the [SSVC v2025.9 release](https://github.com/CERTCC/SSVC/releases/tag/v2025.9). | ||
| - Wikipedia's [Decision table](https://en.wikipedia.org/wiki/Decision_table) page aligns with the concept that | ||
| we are trying to capture. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.