NL · EN
  manuals / the Passage

the Passage

open the Passage → maze.swarp.nl/doorgang

The organ between tension and address: what the MAZE awaits, what closed with a return from outside, and what decayed.

documentation in four layers · maze.swarp.nl/doorgang · Leiden, 13 September 2026

This is not a flat manual but documentation in four layers, for four readers: who uses it, who wants to understand the idea, who builds it, and who wants to go further. Each layer carries a label that says how long it lasts.

lastingSurvives a rebuild — the idea, the model, the choices.
moves with the codeDescribes how it is built now — routes, screens, times. This can age.

Layer 1 — for the user1What you do with it moves with the code

On maze.swarp.nl/doorgang you see three columns:

  • What waits — candidates: a change of the market weather, an open question of the net, a report from a customer. Each with two gates as a trit (need · familiar) and the time until closing and until decay.
  • What closed — candidates that, after their closing time, received a return from outside that confirmed them; they are now an address in the net, clickable.
  • What decayed — candidates without a return or without a need. Decay is rest, not an error.

Below that the 0-trit (discharges that did not become candidates, with reason) and the build tests T1–T6, live. What you can do with it: see whether a Financial Weather alarm held before you act on it; see which questions of the net received an answer from outside and which did not; and, as a customer, offer a report that only becomes a case once a second source confirms it.

Layer 2 — for the thinker2The idea & the philosophy lasting

Address is frozen topology, tension is dynamic state. The Passage is the transition: it decides which tension becomes address — and the answer is almost always not.

Cotterill (2001) read the mammalian brain as one machine with one output, movement, in which every component permits passage toward that output only conditionally. Two permissions must coincide: a fast one, steered by need (basal ganglia, amygdala), and a slow one, steered by familiarity — "what usually happens" (cerebellum). There are two thresholds: above the high one action, above the low one thought — a simulated transaction with the environment that does not go outside. And the watchdog predicts: before an act the system simulates its outcome and vetoes it on an adverse prognosis. The major loop runs through the environment; the smallest organisms, the bacterium, have only one number and one choice, no record of context over time.

Vacuum.Net supplies the frame: four states of tension (loading, holding, discharge, rest), the trit as register (+1 passage, 0 no event, −1 blocked), closure only through the outside world, selection by fit. From the two together the machine follows:

  • The candidate is the low threshold: holding. Tension that exists without being an address, with decay toward rest.
  • The trial landing is the watchdog: where would this come home, without writing. The return is later held against that expectation; only the deviation loads.
  • The need gate (fast) asks whether the net or a circle asks for this now — a repeatedly hit gap, a change that alters the lending appetite. Proximity alone is not a need.
  • The familiarity gate (slow) asks whether the return comes home where the candidate came from. It can only judge once there is a return.
  • The probe is the efference copy: what the net itself sent out (the search term) stays with the candidate, so the return can be held against it.
  • Closure only from outside — a premise of Vacuum.Net, not of Cotterill (in his reading thought, too, writes memory). Here the inner loop may predict, not write.
  • Time per layer: no candidate closes within the closing time of its layer; after the decay time it is rest.

Financial Weather today knows one number and one choice — bacterium level, on Cotterill's ladder. The Passage adds the record of context over time: an alarm is only an alarm once it held. Cotterill's ladder (bacterium → reflex → sensory processor → sequences → two gates with attention) is at the same time the build order of the family. Source comparison and design: maze/bronvergelijking-cotterill.md, maze/ontwerp-doorgang.md.

Layer 3 — for the builder3How it works — layers, gates & API

The flow lasting

discharge → novelty → candidate [waiting]  ─ trial landing (expectation)
                                          ─ need gate      (+1 / −1, at intake)
                                          ─ familiar gate  (+1 / −1, at return; 0 = none yet)
                                          ─ return from outside, AFTER the closing time
      both +1 → address through the existing gate (generation 1 and 2)
      else    → decay = rest (the log remains)

Everything that comes in is in the log dg_ontlading, including what did not become a candidate (trit 0, with reason). Candidates live in dg_kandidaat; the layers with their times in dg_laag, frozen at first start like the consent parameters of a circle. Closing writes through plaatsMateriaal (generation 1: the gate or the field signature, like the existing loops) and zetAdressen2 (generation 2); the candidate remains as history with its address. Nothing is rewritten. If the answer article already lives in the net (encoder layer), the Passage closes on that existing address (homecoming, reason "already in the net") and never places twice — lesson 15-9: "Earl of Carlisle" had a one-sentence summary on which the field signature stayed empty, but the article was already there. A held candidate carries its reason ("held: …") so the page shows why it waits.

The layers and the readers moves with the code

encoder — closing 24 h, decay 7 d

Open questions of the discovery loop (denk:vraag) with a candidate source. Probe = the search term the net sent out. Novelty: if the question already comes home with cos ≥ 0.6 at an inhabitant, it is not a gap. Need +1 for a gap hit ≥ 2 times. Return: the summary of the candidate source (Wikipedia); familiar +1 if the answer comes home with cos ≥ 0.32 at the source names of the question (parents, context). Closing places the answer as enwiki material with gronden.antwoord_op and doorgang, and sets beantwoord on the question. The old answer loop wrote without gates; it is replaced by this.

weather-dag — closing 24 h, decay 3 d

State changes and discharge probabilities from weer.swarp.nl/api/signalen, read every hour; the measurements themselves are not a discharge. Novelty: a state already confirmed within the closing time is flicker. Need +1 if the change alters a circle's lending appetite (calm/light = ample, unsettled = cautious, turbulent/storm = reserved) or if a discharge probability lies above its base rate. Return: after 24 h the Passage reads /api/status; if the state holds, familiar +1 and closure as material doorgang:weather. The Financial Weather code itself is untouched.

weather-jaar — closing 30 d, decay 90 d

The direction of the business climate per country (signal richting). Need +1 for |direction| ≥ 10. Return: the climate label after 30 days.

leefomgeving — closing 3 d, decay 30 d

Reports via /api/doorgang/melding (the customer's signal gate; need +1, the report is the need). Return via /api/doorgang/terugkeer: a second, independent source or a confirmation by a resident; familiar +1 if it says the same with cos ≥ 0.32. The net's own output or language-model text never closes. The first customer and the customer figure (T5) are open.

kring — closing 7 d, decay 14 d

The layer exists; a reader of the bank (the three-number signature, behind the fold, never per member) is not built yet.

The API moves with the code

get /doorgang
The page (NL/EN).
get /api/doorgang
The overview: layers with counts, what waits/closed/decayed, the 0-trit, the tests. Cached 5 min.
get /api/doorgang/lagen
The layers and their times as in the code.
get /api/doorgang/toets
The build tests T1–T6, computed live.
post /api/doorgang/tik
The full tick (Financial Weather reader, encoder reader, return loop). Admin key X-Maze-Sleutel. Also runs nightly in the think tick; the Financial Weather reader every hour.
post /api/doorgang/melding
A report as candidate: {laag, inhoud, verwijzing, bron, bronsoort, sonde}. Admin key. Idempotent on content.
post /api/doorgang/terugkeer
A return from outside for a candidate: {id, inhoud, bron, url}. Admin key. Closes only after the closing time (T4).

The build tests lasting

  • T1 self-closure — closed encoder candidates come home at their source (cos ≥ 0.25 to the source names); baseline 0/40.
  • T2 false addressing — the share of decayed per layer is reported, not removed.
  • T2b the watchdog — the deviation expectation↔return, closed versus decayed; if not narrower, the trial landing predicts nothing.
  • T3 the bridge — Financial Weather changes that became a receipted address, per week; baseline 0.
  • T4 time — no candidate closes within the closing time of its layer (hard rule, counted).
  • T5 the customer — confirmation rate signal → case; to be agreed with the customer.
  • T6 false alarms — changes received versus confirmed (weather-dag, 7 days).

Test of the manual itself: node maze/handleiding-drift.mjs requires every route above to be in NL and EN.