Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR-002: State-space-iteration as the conceptual frame

Status: Accepted (2026-05-18; D14)

Context:

After three rounds of operator decisions on the schema, the mechanics (arrows, clauses, passes, statuses, findings, invalidation, grid amendment) were typed but lacked a unifying mental model. The operator proposed framing the system as “a vector space with transitions, that has iterations over the space.”

The framing helps several open questions at once: pass/arrow identity (operators vs iterations), concept schemas (function signatures in an operator algebra), and the discipline that every transition must be reproducible from (state, operator).

Decision:

gates.md is read through the lens of a state-transition system over an extensible grid. The vocabulary is fixed:

  • Cells are points in the state space: (stratum, bounded-context) pairs, each holding clause statuses, findings, and a derived arrow status.
  • Arrows are operators — transition functions.
  • Passes are iterations — one application of an operator.
  • Invalidation is an operator that resets cells to an earlier state.
  • Grid amendment is an operator that extends the state space (adds dimensions).
  • The fixed point is “every cell in vN has arrow status complete, R = 0, C = 0.” Convergence is not guaranteed.

The accurate formal name is Kripke structure over an extensible state space — not a vector space, since there is no linearity, scaling, or addition over cells.

Consequences:

  • Rules in: discipline that every operator must be well-defined on the state; pass identity = iteration index; arrow identity = operator identity. State-space comparisons (distance to fixed point, residue R as a scalar) are first-class.
  • Rules out: silent transitions, hidden global state, time- dependent operator behavior that the cell state doesn’t capture.
  • Implementation guidance: concept schemas typed as operator signatures; finding state machine bounded by the enumerated set (no ad-hoc additions); locks owned at the boundaries between state space sub-aggregates (per-clause, per-(role, context), project-wide).

See gates.md §0 for the explicit framing, and specs/domain-model.md “State-space model” section for the implementation-facing summary.