Skip to content
View source

Design decisions

docs/DECISIONS.md answers why Entelechy is this way and not another, where the answer is not visible in the code. Each entry is a ruling made inside the architecture documents’ boundaries, holding until it is replaced by name: the choice, why, and where the code holds it (Where).

All 32:

# Decision
1 The Graph computes structure, never values
2 The Host bounds work and memory
3 A loop counted at run time runs whole; the budget bounds it
4 A function never reaches itself; its place in the document is free
5 One expression has one answer on every backend
6 A group’s lanes meet at exchanges
7 A frame runs what something reads; a check says what running would
8 A node may sleep by what a row says
9 The language grows only by the owner’s word
10 A Kernel that walks an input names it
11 A public contract grows; it breaks only with its version
12 Sources are the loader’s; names are the language’s
13 Entelechy describes itself, from the tables it enforces
14 A rule that had two owners is held to one
15 A Kernel’s effects are data the Host carries out after a commit
16 A world may write its own laws
17 What a served scene reaches is what the person running it gave
18 What a scene reads of the Host’s world is an input or a node
19 Reality changes atomically; history records why
20 A live world is changed through three doors, each at its own grain
21 What playing a scene means is decided once
22 The scene names the Host device an output or input meets
23 The pointer is drawn by a Kernel and shown by the system
24 A replay is a test; the framework tests itself
25 A platform is the Host’s world; what a scene computes is not
26 The rasterizer is a package; the native one is its fast path
27 Where a run goes is the backend’s; what it computes is not
28 A change prepares off the frames; nothing invalid publishes
29 Work is spared only where the answer is the same
30 A package speaks in functions, Kernels, graph presets and data
31 A word enters by what a probe could not write
32 A table’s text is an array of codes in its row

The manual cites several: Graph & state (1, 8), Backends (5, 27), Capabilities & security (17), Hot swap (19, 20, 28), Replay tests (24), Packages (30, 31).