SOTER

ADR-002: Separation of Genotype and Phenotype

Status

Accepted

Context

Traditional modeling tools often treat diagram and model as the same artifact. This creates duplication across diagrams and inconsistency when one visual view is updated but another is not.

The same organization also needs different perspectives: executive, analyst, developer, operational, and audit-facing views.

Decision

SOTER separates genotype from phenotype.

  • Genotype: Textual .model files define entities, relations, and semantics. They are the single source of truth.
  • Phenotype: .view files and projection outputs render selected perspectives from the genotype.

Rationale

The model must be stable, auditable, diffable, and reviewable. Views should be cheap to regenerate and safe to discard.

This separation allows multiple diagrams, UI views, and reports to exist without creating multiple competing sources of truth.

Consequences

Positive

  • Views can be regenerated without corrupting the source model.
  • Multiple audiences can receive different projections of the same truth.
  • Git can track semantic model changes separately from rendered artifacts.

Negative

  • Users must understand that editing a diagram is not editing the model.
  • Projection tooling must preserve the model/view boundary.

Neutral or Operational

  • SOTER needs explicit projector contracts.
  • Documentation should distinguish model syntax from visualization behavior.

Alternatives Considered

Diagram as Model

Rejected because it causes drift and makes semantic validation harder.

One Diagram per Audience as Separate Source

Rejected because it multiplies maintenance work and creates inconsistent organizational truths.

Migration or Adoption

Existing diagrams should be treated as source material for extracting the Logos genotype. After extraction, diagrams should be regenerated as projections.

Related Documents

SOTER v1.12.0-beta