Stone.jsDocs
Paradigm

Reference

Glossary

The words here carry precise meanings across the whole documentation. When a term feels overloaded elsewhere, this is what it means in Stone.js.

#The Continuum vocabulary

Continuum
The architecture Stone.js implements: an application is an act, Domain times Context resolving into a Resolution.
DomainFunctional dimension
What your software means: its rules, entities and use cases. Written once, portable across every context.
ContextIntegration dimension
Everything the domain does not control: runtime, protocol, input and output shapes. Supplied by the framework.
Resolution
The concrete response produced when a domain is applied to a context, once per event.
BlueprintSetup dimension
The single configuration manifest, addressed by dotted stone.* keys, built once before any event runs.
AdapterIntegration dimension
The translator at the boundary: it turns a raw platform cause into an intention, and a resolution back into a native effect. One per platform; stackable.
KernelInitialization dimension
The core that applies the domain to an intention, with a fresh container per event. Knows nothing of any platform.
IncomingEvent
The normalised intention a handler reads. Transport-agnostic: it never reveals whether it came from HTTP, CLI, the browser or an agent.
Intention
The clean, normalised form of a raw cause that a handler acts on, carried by the IncomingEvent. The domain works with intentions, never with platform objects.
Dimension
One of the four stages of the act: Setup (Blueprint), Integration (adapter), Initialization (kernel), Functional (your domain).
Ephemeral context
The per-event container: created for one intention, discarded after. Only the adapter is long-lived.
Superposition
Several contexts stacked on one domain, none yet selected. Adapters coexist until a cause arrives.
Collapse
The run-time selection of one context for one event, performed when the app runs (StoneFactory.run resolves the adapter), never at build or deploy.
Decoherence
The confinement of the platform-specific translation to the adapter, so the messy passage from raw cause to clean intention never propagates inward.
Meta-module
The imperative unit produced by a define* helper: { module, isClass?, isFactory? }, registered onto the Blueprint.
The three forms
Class, factory and function: the three shapes a module can take. The function form never receives the container; providers forbid it.
Middleware
A step in the pipeline an event flows through on its way to a handler; where validation, auth and authorization attach.
Service provider
A unit that registers services into the container during initialization.

Stone.js

Your app exists in every runtime. Until you run it.

An open-source project by Stone Foundation
Created by Mr. Stone (Evens Pierre)