decision (entity)
Generated from solutions/ontological/lib/model/entities/decision/schema.ts.
Schema version: 2.
Description
Section titled “Description”A Decision (also called ADR — Architecture Decision Record) captures a project-level design choice: the context that prompted it, the options weighed, and the resolution. Decisions are the durable record of why this and not that; their continued relevance is checked when downstream work bumps against them.
A Decision is not:
- A Standard. A Standard prescribes a rule on specific paths. A Decision records the reasoning behind a choice; Standards are one possible output of a Decision.
- A Principle. A Principle is a broad value; a Decision is a scoped resolution. Decisions often cite Principles in their rationale.
Properties
Section titled “Properties”| Field | Type | Required | Description |
|---|---|---|---|
type | string | yes | Dispatch tag for the validator framework. |
schema_version | string | Numeric string version of the per-type schema this instance conforms to. Compare numerically when ordering versions. Independent of any product version. The value 0 is a documented sentinel meaning ‘pre-SDLC-managed’ — audit treats it as intentional, not stale. Optional in frontmatter: never in any per-type required set (audit flags a MISSING stamp as drift, not the validator). | |
id | string | yes | Immutable identifier in canonical D-XXXX shape per D-0002-entity-identifier-shape: ‘D-’ + 4 chars [0-9A-Z]. Decisions mint base-36 ids (moved from incrementing 2026-07-05 — branch-parallel minting kept colliding); legacy sequential D-0001… ids are grandfathered. Never renamed once assigned. |
state | string | Lifecycle stage. open/* states are active; closed/* are terminal. Decisions move from open/proposed → open/accepted; closed/superseded means a newer Decision replaces this one; closed/deprecated means the decision no longer applies. | |
title | string | yes | Human-readable headline. Frontmatter is canonical; the body opens with # <title> for readability. |
created | string | yes | ISO date the entity was first authored. |
last_reviewed | string | ISO date the entity was last reviewed. Optional: never in any per-type required set. | |
related | array | Cross-references. Entries are wikilinks — typically to other entities by id (slug optional per D-0002-entity-identifier-shape), but may also reference non-entity planning docs by their wikilink slug (e.g. roadmap). | |
tags | array | Free-form labels. Required at the common level, defaulting to []. Per-type schemas may add a contains constraint (e.g. Principle requires exactly one principle/<category> tag). | |
need_human_review | boolean | Review-tracking flag. | |
created_at | string | ISO 8601 timestamp the entity was authored, finer than created. Optional: stamped by tooling that authors entities, never required. | |
provenance | string | What authored the entity when it was not written by hand: a skill invocation, tool, or import source (e.g. sdlc:capability-map packages/ts). Optional: absent means hand-authored. | |
status | string | OKF v0.2’s own document-maturity key — DISTINCT from the entity’s own lifecycle state field (do not confuse the two). Optional: absent means OKF makes no maturity claim about this document. | |
description | string | ||
resource | string | ||
stale_after | string | ||
generated | object | ||
verified | array | ||
sources | array | ||
usage_window | object | ||
supersedes | string | Wikilink to the Decision this one replaces, if any. Slug is optional per D-0002-entity-identifier-shape. | |
superseded_by | string | Wikilink to the Decision that replaces this one, if any. Required when state is closed/superseded. Slug is optional per D-0002-entity-identifier-shape. | |
deprecation_note | string | Short note on why the decision was deprecated. Required when state is deprecated. |
open/proposedopen/acceptedclosed/supersededclosed/deprecated
status
Section titled “status”draftstabledeprecated