Skip to main content

Decisions

OpenSpec specs at openspec/specs/ are Wrkbelt's durable contract record. These pages are different — they explain why the architecture is shaped the way it is.

Two kinds of decisions

  • Shipped — rationale for design choices that are in production today. Read these when you want to understand why a current-state pattern exists.
  • Deferred — architecturally-significant decisions deliberately postponed, with the trigger that would prompt a revisit. Read these before proposing a change that touches the deferred area.

What goes here vs. what stays in OpenSpec

If the decision is…Lives hereLives in OpenSpec
Architecturally significant (touches multiple subsystems)yesno
Spec-level scope (e.g. "this endpoint returns 409 vs 422")noyes
Deferred with a known revisit triggeryes (deferred/)also tracked in current-decisions-for-future-tracking.md
Resolved by shipping the specyes (shipped/)resolution noted in archive

If you can't tell whether a decision is architecturally significant, the heuristic is: would a new engineer onboarding to this part of the codebase be confused by why it works the way it does? If yes, it belongs here.

OpenSpec is the source of truth

These pages are summaries with rationale. The binding record — what we actually built and what shape it has — lives in OpenSpec. If a decision page disagrees with an OpenSpec spec, the spec wins.