Grouped by what they belong to, each with the page that explains it properly.
Packages§
Package Source. A folder with a jess.toml at its top: what you edit, test, and keep in git. One of the two forms a package takes. Packages.
JPK. The same package packed into one file by jess pack: a narrow subset of ZIP, immutable, canonical, with the same bytes from every machine. The other form. A changed package is a new JPK. @jess/jpk.
Package. What jess sees after opening either form: a manifest, modules, layers, targets, and a payload. The two forms are the same package, down to the digest, and no package code may tell them apart.
Provider. The thing that hands jess a package's bytes: the folder or the archive. The boundary above which Package Source and JPK are indistinguishable.
Payload. Every file the package ships: jess.toml and everything under [package] include, in canonical order. The digest is over exactly these. The Manifest.
Digest. The content hash of a package's payload, identical for a source and the JPK packed from it. What jess.lock pins and what jess package test compares across providers. @jess/package.
Manifest. jess.toml: identity, payload, modules, layers, managed modules, targets, dependencies. Unknown keys are errors. The Manifest.
Module. A .jsl file a manifest names under [modules], by a name like @greeter/words. Not requirable until a layer exports it and a host activates that layer.
Export. A module a layer offers as public API. Inert: requiring one starts nothing. What comes back from require is frozen.
Layer. A named semantic system a host asks for by id, such as example.greetings: the layers it requires, the modules it exports, and the entrypoints that run when it is activated. Packages.
Entrypoint. A module a layer runs once, in dependency order, because the layer was activated. The only way package code runs without being required.
Dependency. A package another package's modules may require exports from, declared with a version requirement in [dependencies]. Also a resolution constraint. [dev-dependencies] are selected only for the package's own tests and type check.
Resolution. Asking for layers over a set of packages and getting back an activation plan. Runs no code. jess package graph shows it.
Activation plan. What resolution produces: the layer order, the packages selected, the module names, and the capabilities the entrypoints require.
Activation. Mounting a plan so its exports resolve through require, then running its entrypoints. The host's decision, never a side effect of opening something.
Target. Something jess package run runs, declared under [targets]: a command target, a script with a package around it that runs and returns, or an application target, which keeps running. Each declares the capabilities it needs. The Manifest.
Managed module. A module an application target loads into its script domain, declared under [managed], which binds host callbacks and event handlers and may provide an interface. Applications.
Interface. A table a managed module provides under a dotted id, published to @jess/interfaces for the whole domain, which a package later in the load order may override. jess.interfaces.
Built-in module. Luau that ships inside the binary and resolves in every runtime: @jess/log, @jess/test, @jess/jpk, @jess/package. Built-in Modules.
Built-in package. org.dreamweave.jess, the one package jess embeds and the only one allowed to export @jess/ names: @jess/style, @jess/json, @jess/l10n, and the rest. Accepted only when it is byte-for-byte the copy jess carries.
Authority§
Capability. A named permission, such as filesystem.read, denied by default and checked by the function that would use it. Fourteen exist. Capabilities.
Grant. The set of capabilities a runtime, domain, context, or worker holds. Made by the operator (--capability, --trusted) or the host, never by a package.
Trusted. --trusted: grant a target everything it declares. jess package inspect shows what that is.
Domains§
Script domain. One isolated Luau authority in a process: a runtime, the contexts that say when its code runs, a capability grant, workers, owned resources, and a queue of events. A host may run several. Script Domains.
Context. A named slot in a domain that a host declares with the phases it may run in, and that a script binds handlers to with jess.context.bind. jess.context.
Phase. When a context's handler runs: load, startup, update, fixedUpdate, lateUpdate, input, renderPrepare, event, message, timer, onDemand, shutdown.
Worker. A second Luau state a domain owns, with its own globals, modules, and collector, which sees nothing of the domain but the messages it is sent. jess.worker.
Generation. A counter a domain advances on every restart, so a handle from before a reload can be recognised as stale instead of pointing at something that no longer exists.
Teardown. Releasing everything a domain's ownership registry recorded, in order, when the domain stops or restarts.
Event. A named message with a payload, emitted with jess.events.emit, queued, and delivered to handlers on the next drain. Routed between domains when the host says so. jess.events.
Host. The thing that owns a domain and advances it: for an application target, a Host that joins the domain to live input and runs frames. Has no window and no renderer. Application Kernel.
Frame. One advance of a host: the input tick, the contexts' phases in order, the event drain. An application runs until it calls jess.application.exit, --frames runs out, or Ctrl+C.
L3i. The Luau binder jess runs on, and the owner of the native @dream/* modules: bytes, files, processes, the network, text. The only place a missing native primitive belongs. The @dream modules.
Development§
Workspace. A set of Package Sources developed together, named by jess-workspace.toml, found from any folder inside it. A development arrangement, not part of any package's identity. jess workspace.
Member. A Package Source a workspace file lists.
Lock. jess.lock: what the members depend on beyond each other, pinned by id, exact version, and digest, with the JPKs kept under .jess/packages. Written by jess workspace sync, never by hand.
Publisher. A site that publishes packages through a project manifest, which sync can pin a package from, recording the manifest URL and the archive's SHA-256 in the lock.
Type stub. The .jsl files jess luau-types writes: jess.d.jsl for the global, one stub module per native @jess/ and @dream/ name, and a copy of each of the built-in package's modules, so luau-lsp can type-check a script under --!strict. Editor Setup.
.jsl. The extension of every Luau source jess reads. The language is Luau; the extension says whose it is. require tries name.jsl and name/init.jsl, nothing else.
.jessrc. The editor alias file jess init writes, mapping @jess/ and @dream/ to the types folder, with strict mode on. What luau-lsp reads; jess itself never does.