research-document
Framework Canonical Model Standard
Framework Canonical Model Standard
Status: Working draft
Purpose
The Framework Canonical Model Standard defines how frameworks separate meaning from implementation.
A framework should define its concepts independently from any programming language, file format, storage system, diagramming tool, or renderer.
Core Architecture
Grammar
↓
Canonical Information Model
↓
Supported Serializations
↓
Generated Representations
↓
Tools
Definitions
Grammar
The conceptual language of the framework.
Examples:
- EDF: System Context, Manifestations, Origin Network, Propagation, Control Points, Calibration
- Clarity: Current Understanding, Current Justification, Reconsideration Criteria
Grammar defines meaning.
Canonical Information Model
The implementation-independent model of the framework.
It defines:
- entities
- relationships
- attributes
- constraints
- required elements
- optional elements
- validation rules
The Canonical Information Model is normative.
It is not YAML. It is not JSON. It is not a database schema. It is not a programming-language class model.
Those may represent it, but they do not define it.
Supported Serializations
A serialization is a way to store or exchange the canonical model.
Examples:
- YAML
- JSON
- XML
- Markdown front matter
- database tables
- graph database records
- spreadsheets
- paper forms
YAML may be recommended as a human-authoring format, but it must not be required by the framework itself.
Generated Representations
Representations are derived views of the canonical model.
Examples:
- Mermaid diagrams
- Graphviz diagrams
- mind maps
- markdown reports
- HTML
- dashboards
- web UI
- printed forms
Representations should not contain semantic information that cannot be expressed in the canonical model.
Tools
Tools may validate, render, compare, transform, or assist framework artifacts.
Tools support the framework.
Tools do not define the framework.
Principles
Implementation Independence
A framework must not require a specific programming language, file format, database, or toolchain.
Someone should be able to use the framework on paper, in markdown, in a spreadsheet, in YAML, in JSON, in a database, or in a custom application.
Meaning Before Encoding
The canonical model defines meaning.
Serializations encode meaning.
Representations display meaning.
Tools assist with meaning.
Do not confuse the encoding with the framework.
Single Semantic Source
Semantic information should exist in one place: the canonical model.
Generated artifacts should derive from the canonical model rather than being independently maintained.
Existing Ecosystems First
Frameworks should reuse established formats, tools, and mental models when they adequately express the intended meaning.
New notation, syntax, or tooling should be introduced only when existing approaches cannot represent the concept without material loss of clarity or capability.
Low-Friction Adoption
Framework representations should be easy enough to use that they do not get in the way of the work.
If people spend more time learning the representation than using the framework, the representation has failed.
YAML Guidance
YAML is a strong candidate for human-authored serialization because it is familiar, readable, diff-friendly, and widely supported.
However:
YAML is a supported serialization, not the framework.
A framework may recommend YAML without requiring it.
Example: EDF
EDF Grammar:
- System Context
- Manifestations
- Origin Network
- Propagation
- Control Points
- Calibration
EDF Canonical Information Model: Defines the entities, relationships, and constraints behind those concepts.
Supported serializations may include:
- YAML
- JSON
- Markdown
- database records
Generated representations may include:
- narrative report
- origin map
- propagation flow
- control point table
- calibration panel
Compliance
A framework complies with this standard if:
- its grammar is defined separately from implementation
- its canonical information model is implementation-independent
- it identifies supported serializations
- generated representations can be traced back to the canonical model
- tools do not become required to understand or apply the framework