Files
hq/00-META
jochen 709240ec1f ADR 0187: a module's own code is bundles in any language, and a tools bundle speaks MCP to the runtime; design 38 gains WP1b
The operator's direction, absent from every record until now: the SDK must not limit who writes a
module; tools and services may be written in any language; one module may ship several bundles
(tools, a seat's implementation, a daemon); skeleton first, a full implementation when the work
requires it. ADR 0175 had the runtime import a bundle, which only JavaScript can be.

0187 makes a tools bundle a process the node's runtime launches and speaks MCP over stdio to —
the vocabulary the runtime already speaks outward — so any language with an MCP library can write
one today and the mesh's SDK per language is thin; the transport stays in the runtime (0039's
refusal, kept). Importing a TypeScript bundle is the shortcut, not the contract. Notes in 0175,
0039 and 0150 say where their mechanism moved; design 38 records WP1 as built and adds WP1b (the
launcher and the skeleton SDKs); the glossary's bundle widens.
2026-10-02 18:56:57 +02:00
..

00-META

The northern star. What the mesh is, the environment it runs in, and what changes when it works — plus the engineering practice that holds across everything Novox builds. Every research effort and design decision is checked against this folder.

File / folder Purpose
mission.md Vision, mission, and the values that decide arguments
context.md The environment — conditions, not aspirations
effect.md What is different when the work is done
how-we-build.md The rules that hold across the mesh, each one earned. The source of the mesh constitution — the governed page the mesh injects into design sessions is derived from it.
glossary.md One name per thing — the authority on vocabulary, and the words that were retired
repos.md Where implementation lives, and what each repository owns
process/ The playbooks — how work moves through this repository, for engineers and agents alike

Rules

  • Markdown only.
  • Stable by nature. Changes here reflect a genuine shift in intent, not iteration. The one exception is how-we-build.md, which changes whenever a rule is earned — and only through its amendment process.
  • Research and design must be traceable back to what is written here.
  • Instance-agnostic. These documents describe the mesh as a concept. No machine names, no counts, no topology.

On the architecture overview in the code repository

The code repository carries an architecture overview predating this folder. It is a useful description of how the mesh works, and its content now lives — anonymised and checked against the implementation — in 03-DESIGN/00-as-is/. GENESIS answers why; that document answered how, which is the design layer's job.

It had also drifted from the implementation in ways worth recording, since both were found by comparing it against the code rather than by anyone noticing:

  • It described the pipeline as having a separate builder process and a build stage that packages. Neither was true after 2026-08-04; the documents stayed stale until 2026-08-06 (ADR 0010).
  • It listed the mesh as spanning a fixed number of named machines, which is exactly the content this repository cannot carry.

It also lists "symlinks, not copies" as a key design principle, and that is a genuine contradiction rather than a stale detail. The mesh's stated intent is that it creates no symlinks at all — the rule is not merely "only the installer may link", and a founding document elevating linking to a principle points the opposite way from where this is going.

What exists today is that the installer owns and reconciles every link (ADR 0012) — an as-is fact, recorded in 03-DESIGN/00-as-is/05-runtime-and-installation.md. Centralising who may link narrowed the incident class; it did not close it. The intent is to remove the mechanism, recorded as ADR 0012.

A founding document contradicting the direction of travel is precisely the failure this folder exists to prevent.