SOTER
Logos View File Spec
Purpose
This specification defines the file-level contract for .view files: the
read-side query layer (CQRS Query) that projects .model and .fact data
into analytical and operational visual surfaces, without introducing new
domain entities.
.view answers "how should the model or facts be observed?" It must not
answer "what can exist or happen?" (.model), "what was recorded as having
happened?" (.fact), or "how are operational inputs captured?"
(.interaction).
Scope
This document covers:
- the
Board(analytical) andDashboard(operational) root-element kinds and what each may contain; - the dependency rule that bounds what a
.viewfile may reference and must not define; - the current grammar negative rules and open vocabulary questions shared
with
.interaction.
Non-Goals
- This document does not define the base Logos lexical grammar; see LogosLanguageSpec.md.
- This document does not define
.model,.interaction,.fact, or.apifile contracts; see LogosModelFileSpec.md, LogosInteractionFileSpec.md, LogosFactFileSpec.md, and LogosApiFileSpec.md. - This document does not define the VGM projection pipeline or BPMN/UML rendering rules; see ProjectionOverview.md and ProjectionConfigurationCascadeSpec.md.
Terminology
| Term | Meaning |
|---|---|
.view |
The read-side file kind: projects .model and .fact data for observation. |
Board |
Analytical root element: model verification and forecasting space. |
Dashboard |
Operational root element: insight into current state of reality. |
Diagram |
A Board-only definition type: static rendering of .model nodes. |
Simulation |
A Board-only definition type: data simulation based on hypothetical .fact files. |
Widget |
A Dashboard-only definition type (tables, bar charts, etc.) powered by queries on the .fact graph. |
Model or Contract
Root Elements: Board and Dashboard
For the query/read layer (CQRS Query), a strict division is applied in
.view files:
Board(Analytical): operates in the model verification and forecasting space. It can only contain definitions of typeDiagram(static rendering of.modelnodes) andSimulation(data simulation based on hypothetical.factfiles).Dashboard(Operational): operates in the space of insight into the current state of reality. It can only contain definitions of typeWidget(which have their own subtypes like tables, bar charts, powered by specific queries on the.factgraph).
In a .view file, the root element defining the target of data display is
always Board or Dashboard. They cannot exist simultaneously at the same
level nor contain each other.
Dependency Boundary
| Source | May reference | Must not define |
|---|---|---|
.view |
Model elements and facts | New domain entities |
Rules
- A
.viewfile's root element must be exactly one ofBoardorDashboard, never both, and neither may contain the other. Boardchildren are restricted toDiagramandSimulation;Dashboardchildren are restricted toWidget(and its subtypes).- A
.viewfile must not define new domain entities. It may only reference elements already defined in.modeland facts recorded in.fact. - The grammar for
.view's (and.interaction's) core concepts (View,Widget,Form,Field) is not yet finally closed. - We do not use the word
button, because it too strongly suggests a specific UI implementation. - We do not use the word
action, because this concept is already reserved in the Logos ontology (see PhilosophyConstitution.md).
Examples
An analytical Board containing a Diagram referencing .model elements
(a concrete .view-element attribute example, including standard/target
resolution, is in
ProjectionConfigurationCascadeSpec.md):
Board OrganizationBoard
Diagram OrgChart
renders: MainBoard model elements
An operational Dashboard containing a Widget:
Dashboard OperationsDashboard
Widget OpenOrdersTable
query: open orders from .fact graph
Validation
The parser and strict-mode linter enforce the Board/Dashboard root-element
exclusivity rule and reject .view files that attempt to define new domain
entities rather than reference existing .model/.fact data.
Compatibility
The Board/Dashboard/Diagram/Simulation/Widget vocabulary is stable.
The remaining .view/.interaction concept vocabulary (View, Widget,
Form, Field) is not yet finally closed; see Open Questions.
Open Questions
- The semantics of
.view/.interactioncore concepts (View,Widget,Form,Field) are not yet finally closed. The semantic equivalent of a "button" in.interactionremains particularly important. - The current best working candidate for the button-equivalent concept is
Command, since this term appears in the master CBF operational aspects table for.interactionand in the accompanying documentation describing operational components. This does not close the entire.interaction/.viewvocabulary; it means further work should start fromCommand, not from implementation terms likebutton. See LogosInteractionFileSpec.md for the currentCommandelement.
Related Documents
- LogosLanguageSpec.md - base Logos lexical grammar
that
.viewfiles are written in. - LogosModelFileSpec.md - the read source
.viewprojects from. - LogosInteractionFileSpec.md - the write-side
counterpart sharing the open
Command/vocabulary question. - LogosFactFileSpec.md - the ledger source
WidgetandSimulationdefinitions query. - ProjectionOverview.md - how
.viewcontent is rendered into visual outputs. - ProjectionConfigurationCascadeSpec.md -
configuration cascade that resolves
.viewrendering options. - PhilosophyConstitution.md - the CQRS of Reality axiom and the dependency matrix this file implements.
- LogosOverview.md - entry point for Logos documentation.
- DocumentationStyleGuide.md - writing profile and document-type rules.
- TechnicalSpecTemplate.md - technical document template.