Le bureau d’architecte du village · série II · le vocabulaire

Le lexique à deux registres

129 termes canon, chacun doublé d’une glose simple — et 38 homonymes montrés avec leur jumeau, parce que l’homonymie se dessine mieux qu’elle ne s’explique.

Jonathan, 2026-10-03 : « on doit trouver du vocabulaire plus simple et facile de compréhension » — et la correction qui gouverne ce lexique : les paraboles de représentation multidimensionnelle sont l’ancrage, pas l’obstacle. Donc on ne remplace pas le nom canon, on le double : le terme reste l’autorité, la glose est une poignée. Chaque entrée porte aussi le piège — ce qu’on comprendrait de travers avec la glose seule.

129 termes · 16 réservés au registre spirituel · 38 homonymes

1 · POSITION, PORTÉE, POINT 0 — lexique à deux registres (terme canon + glose)

Vérifié par lecture directe le 2026-10-03, lecture seule, aucun commit, aucune mesure en base. Sources ouvertes : 12 fichiers de code du dépôt (`identity_core.py`, `trinity_scope.py`, `portees_libelles.py`, `nested_window_fractal.py`, `relation_kind.py`, `relation_service.py`, `scope_membership_service.py`, `position_registry.py`, `membrane_service.py`, `conduit_membranes.py`, `cycle_engine_service.py`, `trinity_geo_router.py`) et 14 fiches du corpus de mémoire. SEPT CORRECTIONS apportées au lexique reçu : (1) `Face` porte CINQ valeurs dans l'énum — origine, donnees, royaume, espace, manuel — pas quatre ; le résumé de mémoire comptait les faces hors clé d'origine. (2) « fréquentation » n'est le nom d'AUCUN champ ni type canon : le mot vit en prose (memory/architecture-trois-scopes-et-wiring-civ.md:78) ; le canon nomme la topologie `MAILLE` et ses types (`membre_de`, `collabore_avec`, `detient`…) — l'entrée est conservée mais le piège le dit. (3) « mode (fenêtre/porte) » : la doctrine est sourcée, le CHAMP est absent du canon — l'entrée reste, avec ce manque en piège, jamais en glose. (4) « redescente » ne nomme aucun trajet : c'est une règle pure du cycle d'embeddings, zéro appelant, aucune méthode pour descendre — toute glose qui la présenterait comme un chemin trahirait le canon. (5) AJOUT d'une entrée homonyme non demandée, « mon_monde / notre_monde / le_monde », homonyme de MONDES : c'est la confusion la plus répandue du dépôt (96 fichiers) et un lecteur armé de la seule glose de MONDES y tomberait. (6) « portée » et « trinity_scope » sont marqués MUTUELLEMENT homonymes — lentille (trois nombres ensemble, partout) contre position (une seule valeur) ; c'est la distinction que les gloses reçues écrasaient. (7) la table portée→Hz est la SEULE entrée réservée au registre spirituel, et son piège interdit de citer ses chiffres : quatre versions se contredisent et le corpus mesuré n'en confirme aucune. NON VÉRIFIÉ : tous les comptes cités (3862, 5215, 5216, 217, 96, 31, 47/351) sont REPRIS de fiches datées, pas re-mesurés aujourd'hui — les traiter comme ordres de grandeur sourcés, jamais comme mesures du jour.

point 0

Le repère depuis lequel tout est compté pour un sujet : le système le cherche, et quand il ne le trouve pas il écrit qu'il ne l'a pas trouvé.

Le centre de référence d'un sujet. Il PRÉEXISTE : le système le DÉCOUVRE ou avoue ne pas l'avoir trouvé, jamais il ne le fabrique (« on ne l'attribue pas, on la découvre » — Jonathan 2026-08-29). Un point 0 plus sa portée de connexion extérieure constitue une layer. Une absence se nomme : `POINT_ZERO_INCONNU = "sans-point-zero"`.
On croirait que le système en attribue un à l'inscription — il ne le fait jamais ; et en pratique il n'y en a encore qu'UN SEUL pour tout le dépôt, la même valeur recopiée sur 3862 enregistrements sur 3862.
memory/le-point-zero-se-decouvre-jamais-ne-s-attribue.md + backend/app/services/fractal_position_resolver.py:100-104 + memory/une-layer-est-un-point-zero-et-ses-connexions.md

THE_POINT_0

La valeur inscrite dans le champ qui devrait dire de quel centre dépend un enregistrement — la même pour tous, et aucune lecture du code ne s'en sert.

Valeur de `POINT0_RACINE`, identique sur 3862 feuilles sur 3862 ; le fichier l'avoue : « l'endroit où la fractalisation n'a pas encore eu lieu ». Gravée en `server_default=text("'THE_POINT_0'")` sur `world_blueprints.point0_ref`. Mesure 2026-10-01 : `point0_ref` n'apparaît dans AUCUN prédicat de lecture du dépôt.
Voir ce champ rempli partout donne l'impression que chaque chose a son centre ; c'est l'inverse — c'est la marque de l'endroit où le découpage n'a pas encore eu lieu.
backend/app/services/fractal_position_resolver.py:100-104 + backend/app/models/world_canon_projection.py:26 + memory/il-ny-a-encore-quun-seul-point-zero-la-cle-nest-jamais-lue.md

portée (axe POSITION — ind / com / civ)

Jusqu'où une chose compte — pour moi seul, pour un groupe, ou pour tous — et c'est l'endroit où l'on agit qui le décide, pas une case à cocher.

trinity_scope (la portée-LENTILLE) — La mesure de combien une même chose pèse à la fois pour une personne, pour son groupe et pour tous — trois nombres ensemble, pas un choix entre trois.
`PORTEES = ("indiv", "commu", "civ")`, du plus intime au plus large ; « le ind com civ est l'original », « c'est celui qui les réunit tous » (Jonathan 2026-08-09). C'est une JAUGE, pas un lieu (invariant I1). Elle se DÉDUIT de l'espace où l'on agit, elle ne se coche jamais et ne se passe pas en paramètre depuis le client.
Ce n'est ni un rangement en trois tiroirs ni un niveau de permission : la même chose change de portée selon l'espace où elle est posée. Et le dépôt réécrit cette même liste de trois valeurs sous 31 noms différents, dont trois ont déjà divergé.
hf-atom-tools/atom_canon/primitives/portees_libelles.py:64-66 + backend/app/routers/trinity_geo_router.py:39-40 + memory/portee-se-deduit-de-lespace.md

trinity_scope (la portée-LENTILLE)

La mesure de combien une même chose pèse à la fois pour une personne, pour son groupe et pour tous — trois nombres ensemble, pas un choix entre trois.

portée (axe POSITION — ind / com / civ) — Jusqu'où une chose compte — pour moi seul, pour un groupe, ou pour tous — et c'est l'endroit où l'on agit qui le décide, pas une case à cocher.
Les trois portées « co-présentes sur TOUT nœud » (`containment_role.py:72`). Chiffrée : `NEUTRAL_POSITION` est un vecteur ∈ [0,1]³ — un membre porte un degré sur chacune des trois à la fois (0,3 perso + 0,5 commu + 0,2 civ). À distinguer de la POSITION d'un nœud, qui n'a qu'UNE seule valeur.
Le mot est le même que celui de la portée-position, mais ici rien n'est exclusif : lire un seul tiroir là où il y a trois quantités fait disparaître exactement ce que le champ sert à dire.
hf-atom-tools/atom_canon/primitives/trinity_scope.py:29-33 + backend/app/services/cycle_engine_service.py:56-60 + memory/une-layer-est-un-point-zero-et-ses-connexions.md

scope / tree_scope

Le champ qui enregistre la portée d'une chose, et qui lui donne un contenant différent dans chacun des trois classements empilés.

Le nom de champ et de colonne qui porte la portée. `scope_membership` : `UNIQUE(entity_id, tree_scope)` = un parent par portée = trois arbres empilés. Règle tranchée 2026-09-18 : « le scope est ATTRIBUÉ au point 0 » — jamais découvert, jamais négocié, jamais déclaré par le client. `fractal_scope_guard.py:54` (`data.get("tree_scope") or "civ"`) reste nommé comme une dérive : un scope PRIS dans le corps de la requête.
Il ressemble à un paramètre que l'appelant pourrait fournir ; il ne doit jamais l'être — il se déduit de la place occupée, et un endroit du code le prend encore dans la requête, ce qui est nommé comme un défaut, pas comme un usage.
backend/app/services/scope_membership_service.py:40-46 + memory/relations-entre-lieux-forme-vs-declaration.md + memory/quatre-types-de-noeuds-tranches-individu-lieu-agent-communaute.md

layer

Un étage du système qui existe en même temps que les autres et qui a son propre réseau de liens.

RenderLayer — La liste fermée des sept formes sous lesquelles une vue peut sortir, du simple texte à la carte ou au son.
Tranché par Jonathan 2026-07-31 : « layers ce serait les étages coexistants, et scope ce serait ind/com/civ ». Chaque layer a son propre réseau ET opère comme un réseau (mesuré : 5 classes d'arêtes quasi disjointes, 0,25 % de recouvrement). Le mot désignait NEUF choses en code vivant ; une seule est tranchée, huit sens restent à démêler.
On l'emploie encore couramment pour nommer les trois niveaux personne/groupe/tous — c'est faux, ceux-là s'appellent la portée ; et le mot sert toujours à désigner huit autres choses non démêlées dans le code, donc le rencontrer ne dit pas encore de quoi on parle.
memory/mondes-layers-qg-doctrine.md (amendement 2026-07-31) + memory/layers-reseaux-scopes-doctrine.md

RenderLayer

La liste fermée des sept formes sous lesquelles une vue peut sortir, du simple texte à la carte ou au son.

layer — Un étage du système qui existe en même temps que les autres et qui a son propre réseau de liens.
Énumération fermée de 7 sorties de rendu : `text`, `2d`, `2.5d`, `3d`, `xr`, `geo` (dual-mirror), `sonore`. Gardée comme les mondes dans `LocateRequest` ; avant le geste du 2026-07-30 la sortie était le seul des quatre axes sans garde, une chaîne libre. Avertissement du code : « `sonore` n'est pas graphique : la sortie n'est pas toujours de l'image ».
Le nom contient « layer » mais ça n'a rien à voir avec les étages du système : c'est la sortie — et l'une des sept n'est même pas une image.
hf-atom-tools/atom_canon/primitives/nested_window_fractal.py:20-29 + backend/app/routers/trinity_geo_router.py:44-58

MONDES

La liste fermée des sept espaces où une chose peut avoir une adresse, et deux façons d'écrire le même nom y comptent pour deux espaces différents.

mon_monde / notre_monde / le_monde — Trois mots du vocabulaire courant du dépôt qui nomment en réalité les trois portées — à moi, à nous, à tous.
Énumération fermée de 7 : `terre`, `terre-jumelle`, `mirror-earth`, `qg`, `corpus`, `code`, `agents`. Le monde entre dans le condensat de l'adresse — « deux orthographes sont DEUX MONDES, et l'écart ne se rattrape plus » — d'où une table d'alias datée ET comptée (`ALIAS_MONDES`, `compteur_alias`).
Les expressions « mon monde / notre monde / le monde » n'en font pas partie : elles disent la portée, pas un espace — et le dépôt les écrit ainsi dans 96 fichiers, ce qui en fait le faux-ami le plus répandu du domaine.
hf-atom-tools/atom_canon/primitives/identity_core.py:129-153 + memory/mondes-layers-qg-doctrine.md §1

mon_monde / notre_monde / le_monde

Trois mots du vocabulaire courant du dépôt qui nomment en réalité les trois portées — à moi, à nous, à tous.

MONDES — La liste fermée des sept espaces où une chose peut avoir une adresse, et deux façons d'écrire le même nom y comptent pour deux espaces différents.
Trois libellés qui nomment les trois PORTÉES, pas des mondes : enregistrés comme `Face.ESPACE` d'`indiv`/`commu`/`civ`, avec l'avertissement du code lui-même « dit monde, n'en est pas un ». Répandus sur 96 fichiers. Les portées sont ORTHOGONALES aux mondes : elles se rejouent dans chacun des sept, Terre comprise.
Le mot « monde » y est faux : il fait croire à trois espaces séparés alors que ce sont trois portées, lesquelles se rejouent à l'intérieur de chacun des sept espaces. Ne pas lancer de renommage de masse pour autant : la consigne est nom canonique + alias rétro-compatible.
memory/mondes-layers-qg-doctrine.md §1-2 + hf-atom-tools/atom_canon/primitives/portees_libelles.py:55

Face (d'une portée)

Le nom sous lequel une même portée se présente selon qui la regarde : la base, l'écran, l'agent, ou le livre du lecteur.

« D'où l'on regarde la portée » — énum à CINQ valeurs : `ORIGINE` (ind/com/civ, la forme tranchée), `DONNEES` (ce que la base enregistre), `ROYAUME` (ce que la personne lit à l'écran), `ESPACE` (ce que l'agent habite), `MANUEL` (ce que le Livre du Nouveau Propriétaire nomme au lecteur). La clé EST la forme d'origine. Deux mots nus sont délibérément laissés dehors, « village » et « coquille », parce qu'ils ont deux référents chacun.
La face change le NOM, jamais la chose : prendre « notre_royaume » et « commu » pour deux portées en fabrique une de plus. Et la question de savoir si la face ESPACE est bien une face, ou un axe distinct, n'est PAS tranchée — ne pas la trancher seul.
hf-atom-tools/atom_canon/primitives/portees_libelles.py:49-56,64-68 + memory/portees-ind-com-civ-reunit-tous.md

atom-pos-v1

La façon d'écrire l'adresse d'une chose à partir de quatre renseignements seulement, condensés en une suite de caractères qui est la seule forme autorisée à circuler.

Forme d'adresse à QUATRE fentes scellées — `world`, `locus_kind` {geo,path,slot,xyz}, `locus`, `parent` — assemblées en `matiere`, puis `uri = atom:{world}:{locus_kind}:{sha256(matiere)[:16]}`, « SEULE forme qui voyage ». `_FENTES` est une liste BLANCHE et `scope` n'y figure pas (zéro occurrence dans le fichier). Règle d'absence : « absent ≡ LA CLÉ N'EXISTE PAS (un None meurt loin de sa cause) ».
La portée n'est pas l'un des quatre : reclasser une chose ne change donc PAS son adresse, alors que la rattacher ailleurs, si. Et une donnée manquante ne devient pas « vide » — la clé n'existe simplement pas, pour qu'un trou ne se découvre pas loin de sa cause.
hf-atom-tools/atom_canon/primitives/identity_core.py:204 + memory/systeme-position-atom-pos-v1.md + memory/relations-entre-lieux-forme-vs-declaration.md

identite

Le nom lisible d'une chose, laissé en clair exprès, pour qu'on retrouve la même chose dans un autre espace en comparant simplement ce nom.

Le champ du NOM — le slug ou le chemin — « jamais haché », donc jamais entré dans la matière de l'adresse (invariant I4). C'est ce qui rend « reclasser ne déplace pas » vrai À TRAVERS les espaces : la correspondance est `WHERE identite = :x AND world <> :w`, « une lecture d'index sur `identite` — aucune arête n'est traversée ». Un temple = 5 adresses et UNE `identite`.
Ça ne crée aucun lien entre les espaces : il faut DÉJÀ connaître le nom pour retrouver la chose. Et le registre « enregistre, ne juge pas » — deux lignes au même nom sont constatées, pas arbitrées : rien n'empêche deux ancrages concurrents et la lecture rend les deux sans dire lequel est vrai.
hf-atom-tools/atom_canon/primitives/identity_core.py:55-56 + backend/app/services/position_registry.py:16-19,198-243 + memory/systeme-position-atom-pos-v1.md

emboîtement fractal

Le fait que chaque centre est contenu dans un centre plus large, de proche en proche, jusqu'au centre de tous.

La chaîne point 0 → point 0 : « tous les point 0 accédant au centre civilisation le font à partir de leur centre individuel — 0 à 0 ». Mesuré en production : 5215 point 0, 5215 avec un parent, terminaison en ≤ 3 sauts, aucun cycle. La montée est câblée (`resolve_ancestors:404`, CTE récursif, 6 appelants) ; la DESCENTE est bornée à un cran VOLONTAIREMENT — « une descente récursive contournerait la Porte de la Connaissance par le VOLUME […] le rythme de la descente EST la gradation ».
La descente limitée à un cran n'est pas un oubli à réparer : c'est une décision, et tout ouvrir d'un coup contournerait la progression voulue. En revanche le lien entre deux centres de ce genre n'est pas représentable en base : aucune colonne ne nomme le centre contenant.
backend/app/services/scope_membership_service.py:1-26 + backend/app/services/world_canon.py:1049-1058 + memory/civ-atom-le-terminus-sans-ligne.md

contenance / abrite

Le lien qui dit qu'un endroit en contient un autre, avec un seul contenant possible à la fois.

`ABRITE` est le SEUL type de topologie `ARBRE` : parent unique, `merit_gated=False`, lecture directe « abrite », lecture inverse « est_situé_dans ». Le verbe « contient » a été RETIRÉ du vocabulaire parce qu'il nommait deux objets disjoints : `abrite` (lieu, arbre) et `detient` (détention d'organisation, maille). `relation_service` REFUSE `abrite` : la contenance de lieu va dans `scope_membership`.
« Contenir » n'est plus un mot du système : employé seul il mélange l'endroit qui en abrite un autre et la société qui en détient une autre — deux registres que le code sépare exprès et refuse de mêler.
hf-atom-tools/atom_canon/primitives/relation_kind.py:68-69,105-109 + backend/app/services/relation_service.py:10-13

fréquentation / maille (relation_service)

Le registre de tous les autres liens — qui travaille avec qui, qui est membre de quoi, qui dépend de qui — où une chose peut être reliée à autant d'autres qu'il faut.

La topologie `MAILLE` : N:N, « tout le reste » hors contenance de lieu — `membre_de`, `collabore_avec`, `jumelage`, `depend_de`, `detient`, `appartenance_org`, `external_measured`. Registre `community_relation`. Invariants : une arête = UN fait orienté ; `membre_de` est qualifié par une LIAISON (« une appartenance sans nature n'en est pas une ») ; l'intersection de deux communautés est ÉMERGENTE, calculée, jamais stockée. « L'arbre et la maille ne se confondent jamais (a city is not a tree). »
« Fréquentation » est un mot de prose : AUCUN champ, aucun type du code ne porte ce nom — le code dit `maille`. Et ce registre refuse exprès le lien de contenance d'un endroit, pour que le classement et le réseau ne se confondent jamais ; il n'a par ailleurs aucune porte d'écriture publique.
backend/app/services/relation_service.py:1-17 + hf-atom-tools/atom_canon/primitives/relation_kind.py:45-47,70-88 + memory/architecture-trois-scopes-et-wiring-civ.md:78

arête

Un lien enregistré une seule fois, qui se lit dans un sens ou dans l'autre selon le côté d'où on le regarde.

Un lien stocké UNE fois, orienté ; sa lecture (le verbe, la direction) change selon le cadre de l'observateur — `membre_de` et « compte_parmi_ses_membres » sont la MÊME arête, jamais deux lignes. Elle a QUATRE coordonnées : ADRESSE (où — 47 routeurs sur 351), PROXIMITÉ (à quoi ça ressemble — l'aligneur existe, mais le vecteur est un condensat), LIEU (dans quoi — `place_ref`, 0 sur 351), MODE (regarder ou franchir — champ absent du canon).
Un lien n'est complet que s'il dit les quatre choses, et une seule des quatre est réellement remplie aujourd'hui — mesurer une arête sur une seule coordonnée donne un lien qui paraît bâti et qui ne porte presque rien.
hf-atom-tools/atom_canon/primitives/relation_kind.py:51-84 + memory/l-arete-a-quatre-coordonnees-et-le-liant-existe.md §2

mode (fenêtre / porte)

La distinction entre regarder depuis chez soi et passer de l'autre côté : passer demande une permission et laisse une trace, regarder ne change rien.

Posé par Jonathan 2026-09-03 : PORTE — on franchit, acte ou transfert durable, EXIGE une autorisation et PRODUIT un reçu ; FENÊTRE — on regarde sans passer, projection dérivée, rien ne change de propriétaire. Les deux directions sont jugées SÉPARÉMENT. Troisième axe, orthogonal à `direction` et `topologie` (une fenêtre peut exiger un consentement ; une porte peut être gratuite). ⚠ Le champ MANQUE au canon des types de lien.
Ça ressemble à un champ qu'on pourrait lire en base — il n'existe pas. La distinction vit en doctrine et dans une ligne de commentaire, et rien ne l'applique ; la nommer comme un champ existant est exactement l'erreur à éviter.
memory/portes-fenetres-un-mecanisme-quatre-echelles.md + hf-atom-tools/atom_canon/primitives/relation_kind.py:51-84 (le champ absent) + memory/l-arete-a-quatre-coordonnees-et-le-liant-existe.md §2

naviguer

Regarder ailleurs sans quitter sa place : rien n'est transféré, et si l'affichage échoue il doit le dire au lieu de faire semblant.

« S'il navigue, il ne se déplace pas » (Jonathan 2026-08-27). Naviguer = une LENTILLE : on regarde depuis où l'on est, rien ne se transfère, donc ça PEUT se dégrader — à condition de se dire dégradé. La distinction était déjà écrite : « Navigation = Lentille (toggle de vue, pas de transfert) ».
Ça ne donne aucun droit et ne laisse aucune trace : un écran qui montre un endroit ne prouve jamais qu'on y est entré, et c'est précisément ce qui autorise l'affichage à se dégrader.
memory/naviguer-nest-pas-se-deplacer-la-membrane-absente.md + backend/app/middleware/identity_boundary.py:142

se déplacer

Entrer réellement dans un lieu en y apportant son propre repère : c'est un engagement, donc ça s'écrit en base ou l'opération échoue.

« Quand l'individu rentre, il apporte son point 0 dans les lieux où il se déplace » (Jonathan 2026-08-27). Se déplacer = on PORTE son point 0 dans le lieu, donc une position ENGAGE : en base, ou l'opération échoue. C'est le test praticable qui manquait à la règle du dépôt (« ce qui ENGAGE est en base ou l'opération échoue ») : le point 0 bouge-t-il ?
Deux endroits du code répondent aujourd'hui « c'est fait » alors que le passage n'est gardé qu'en mémoire vive et disparaît au redémarrage — un succès affiché n'est donc pas la preuve d'un passage.
memory/naviguer-nest-pas-se-deplacer-la-membrane-absente.md + CLAUDE.md §« LE REPLI EN MÉMOIRE N'EST PAS LA NORME »

membrane (membrane_service, S9 lisible)

L'organe qui décide si une lecture passe, pas encore, ou jamais — en croisant où l'on lit, qui lit, son cheminement, son rang et son rôle.

membranes A · B · C (conduit_membranes) — Les trois seuls passages déclarés du système : ce qui entre, ce qui remonte vers le plus large, et ce qui sort vers un lecteur.
L'organe de perméabilité sélective qui croise CINQ axes qui ne se remplacent jamais : localisation (la portée), identité du lecteur, profondeur de cheminement, rang signé, rôle. Trois verdicts : `permeable` (passe), `gestating` (pas encore mûri pour ce lecteur — un pas-encore, NON un refus), `sealed` (l'intime d'autrui, souveraineté inviolable). « Ce n'est PAS un RBAC allow/deny. » Les formes courtes `ind`/`com` sont acceptées comme alias datés ET comptés.
Ce n'est pas une liste de droits : « pas encore » n'est pas un refus, et le refus définitif ne protège qu'une seule chose, l'espace intime d'autrui. Un défaut mesuré a montré que cet organe punissait l'honnêteté — une requête écrite dans le bon vocabulaire était refusée, une requête ignorante passait.
backend/app/services/membrane_service.py:1-30,55-62

membranes A · B · C (conduit_membranes)

Les trois seuls passages déclarés du système : ce qui entre, ce qui remonte vers le plus large, et ce qui sort vers un lecteur.

membrane (membrane_service, S9 lisible) — L'organe qui décide si une lecture passe, pas encore, ou jamais — en croisant où l'on lit, qui lit, son cheminement, son rang et son rôle.
TROIS membranes déclarées, pas une de plus : `A_ingestion` dehors→dedans (« est-ce assez propre pour entrer ? »), `B_montee` bas→haut (« cela a-t-il le droit de sortir ? »), `C_lecture` dedans→lecteur (« ce lecteur l'a-t-il mérité ? »). « Pas de quatrième sens, pas même comme vocabulaire. » La B tourne mais à vide : son unique producteur écrit EN DUR deux de ses cinq verrous à `False`.
Il n'y a pas de quatrième passage, même pas comme mot : rien de déclaré ne redescend du plus large vers le plus intime. Et celui du milieu tourne à vide — deux de ses cinq verrous sont fermés en dur à chaque battement, donc rien n'y passe jamais.
backend/app/core/conduit_membranes.py:83-103 + memory/il-ny-a-encore-quun-seul-point-zero-la-cle-nest-jamais-lue.md

redescente (civ→indiv)

Une mention écrite dans le calcul des mémoires qui autorise, sur le papier, de passer du plus large au plus intime.

`_VALID_SCOPE_REDESCENTE = {("civ","indiv")}` — une règle PURE du cycle d'embeddings. `is_redescente` a ZÉRO appelant, et il n'existe AUCUNE méthode `descend` à garder. ⛔ Correction scellée : « la descente n'est pas directe : elle est ABSENTE », et cette asymétrie ne se transporte pas dans un autre organe — une extrapolation l'a fait et a été réfutée.
Son nom laisse croire à un trajet qui existe : il n'y a ni méthode pour descendre, ni appelant. Et la règle appartient à UN organe — la transporter ailleurs comme si elle décrivait le système entier est une erreur déjà commise et corrigée.
backend/app/services/embeddings/fractal_cycle_core.py:36-38,76 + memory/il-ny-a-encore-quun-seul-point-zero-la-cle-nest-jamais-lue.md + memory/l-arete-a-quatre-coordonnees-et-le-liant-existe.md (extrapolation réfutée)

NODE_KINDS

La liste fermée des quatre genres de choses qui peuvent occuper une place : une personne, un endroit, un agent, un groupe.

`frozenset({"individu", "lieu", "agent", "communaute"})` — tranché par Jonathan 2026-10-01, ⛔ ne jamais redemander. Le commentaire du code porte la règle : « Le genre du porteur est distinct de sa position et de sa portée attribuée. » Avec les trois types préexistants (soleil, anchor, temple), le registre passe de 3 à 7.
Le genre ne donne pas la portée : ce qui décide si quelque chose compte pour une personne, un groupe ou tous, c'est la place occupée dans l'emboîtement — jamais le genre. Ce sont deux axes séparés qu'on confondait.
backend/app/services/scope_membership_service.py:48,51 + memory/quatre-types-de-noeuds-tranches-individu-lieu-agent-communaute.md

individu (type de nœud)

Le genre de place qu'occupe une personne, et c'est cette place même qui lui sert de repère.

Le genre de nœud qui porte la personne — « sa pétale EST son point 0 ». Il débloque le joint bilatéral individuel et la portée la plus intime, restée à zéro jusque-là. ⚠ Une personne ne peut JAMAIS pendre à la racine civilisationnelle : refusé par la base — `CHECK (parent_tree_scope IN ('indiv','commu'))` + `CHECK (parent_entity_id <> 'civ:atom')`, 11 appelants vivants.
Une personne ne peut pas être rattachée directement au centre de tous : la base le refuse, elle doit passer par un groupe. Et l'écriture de sa face numérique n'a encore aucun auteur autorisé — ⛔ ne pas forcer le schéma, ce refus est probablement juste.
memory/quatre-types-de-noeuds-tranches-individu-lieu-agent-communaute.md + memory/relations-entre-lieux-forme-vs-declaration.md + backend/alembic/versions/v82_291:163-176

lieu (type de nœud)

Le genre de place qu'occupe un endroit ; le dépôt en compte déjà plus de cinq mille, tous géographiques.

Le genre de nœud qui porte l'ancrage physique : les 5216 nœuds géographiques existent DÉJÀ, écrits par un seul auteur versionné, idempotent, fail-close. Un LIEU PEUT pendre à la racine civilisationnelle — `commu:country:<ISO3>` avec portée `commu` et parent `civ:atom` — et « c'est la forme NORMALE de la production ».
Contrairement à une personne, un endroit peut être rattaché directement au centre de tous — ce n'est pas une anomalie à corriger. Et le registre ne sait pour l'instant contenir que du géographique : l'endroit numérique n'a pas encore sa forme.
backend/app/services/country_spine_importer.py:69,112-121 + memory/relations-entre-lieux-forme-vs-declaration.md + memory/quatre-types-de-noeuds-tranches-individu-lieu-agent-communaute.md

agent (type de nœud)

Le genre de place qu'occupe un agent qui agit au nom de quelqu'un, avec l'endroit auquel il est rattaché.

Le TROISIÈME porteur, déjà nommé en doctrine (« TROIS porteurs : personne, lieu, AGENT ») ; il porte le mandat d'agent agissant au nom d'un individu souverain. `agent_mandate.py:53` porte 17 clés dont `lieu_attache`, et `enclosure_situated_seat.py:64` — un siège DURABLE — relie l'agent, l'endroit et l'empreinte de porte, AVEC clés étrangères. ⚑ C'est la SEULE des dix paires de genres bâtie, typée et gardée.
C'est la seule paire genre-à-genre dont le lien soit réellement bâti et gardé en base : supposer que les autres paires le sont aussi est faux — sept des dix ne sont pas prouvées comme des liens typés.
backend/core/agent_mandate.py:53 + backend/app/models/enclosure_situated_seat.py:64 + memory/l-arete-a-quatre-coordonnees-et-le-liant-existe.md

communaute (type de nœud)

Le genre de place qu'occupe un groupe, entre les personnes et le centre de tous.

Le genre de nœud du milieu de la colonne : il débloque le joint bilatéral communautaire, la montée ind→com→civ et le contrat participatif. ⚑⚑ Avant le 2026-10-01, `commu:atom` / `COMMU_SINGLETON` comptait ZÉRO occurrence sur les sept arbres. Le nom et le rattachement de ce nœud ne sont PAS tranchés (questions A-i et A-ii).
Le groupe est le passage obligé des personnes vers le centre de tous, mais l'équivalent du centre pour les groupes n'existe encore nulle part — et son nom comme son rattachement restent à décider, donc ne pas les inventer.
memory/quatre-types-de-noeuds-tranches-individu-lieu-agent-communaute.md + backend/app/services/scope_membership_service.py:48,50

civ:atom (CIV_SINGLETON)

Le nom du centre unique auquel tout finit par se rattacher.

`CIV_SINGLETON = "civ:atom"` — « la civilisation est unique (racine de l'emboîtement) ». Mesuré en production : nommé parent par 217 pays (le plus gros parent de la table), et `SELECT count(*) ... WHERE entity_id = 'civ:atom'` → 0. « Parents nommés sans ligne correspondante : exactement UN. C'est `civ:atom`. »
Tout le désigne comme contenant et il n'existe lui-même comme enregistrement nulle part. Lui en créer un n'est pas une correction technique : il faudrait d'abord décider s'il a lui-même un contenant — sinon on pose un plafond en croyant boucher un trou, et une autre loi dit que la montée ne se termine jamais.
backend/app/services/scope_membership_service.py:50 + memory/civ-atom-le-terminus-sans-ligne.md

scope_membership

La table qui dit qui est contenu par qui, avec un contenant différent par portée, et c'est elle qui tranche quand l'adresse dit autre chose.

Le registre de l'APPARTENANCE DÉCLARÉE : `UNIQUE(entity_id, tree_scope)` = un parent par portée = trois arbres empilés ; 5215 lignes en production, 6 appelants. ⚑ « Elle a le dernier mot » face à la FORME de l'adresse (règle de précédence écrite, `position_registry.py:279-290`). L'écriture est fail-close par défaut (`strict_db=True`) ; les lectures peuvent se dégrader mais le DISENT — quand une base était fournie et a échoué, le repli mémoire n'est PAS consulté.
L'adresse d'une chose semble déjà contenir ses contenants — elle ne les porte pas. Lue seule elle rend une chaîne vide AVEC sa raison : « une absence de la table, pas de la mathématique ». Le droit de se contredire entre les deux couches est le mécanisme, pas un défaut.
backend/app/services/scope_membership_service.py:1-26 + backend/app/services/position_registry.py:279-290 + memory/relations-entre-lieux-forme-vs-declaration.md

atom_positions

La table où survit l'adresse d'une chose, avec son espace et sa portée dans deux colonnes séparées, et la mention de si c'est un corps posé ou un visiteur.

La table où une adresse survit. `world` et `scope` sont DEUX colonnes indépendantes. `presence` porte la séparation corps/avatar : `ancrage` (le corps, un FAIT, ne bouge pas) contre `station` (l'avatar, un ÉTAT, libre de voyager) — décidée par le serveur, jamais par le payload. Contrainte `uq_atom_positions_ancrage_actif_terre` : un seul corps ancré sur Terre, un nombre illimité de stations dans tous les espaces. Fail-close sans base. ⚑ La colonne `parent` s'écrit et AUCUN `SELECT` ne la relit.
La bonne question n'est jamais « est-ce dans le système ou sur la Terre ? » mais « est-ce le corps ou le visiteur ? » — c'est cette colonne qui porte la séparation, pas celle de l'espace. Et la colonne qui devrait dire de quoi dépend une position s'écrit sans jamais être relue.
backend/app/services/position_registry.py:40-43 + backend/alembic/versions/v82_262:109 + memory/mondes-layers-qg-doctrine.md (correction 2026-08-16) + memory/relations-entre-lieux-forme-vs-declaration.md

portée → Hz (111 / 444 / 999)

registre spirituel

Une table qui associe un nombre à chacune des trois portées et sert à pondérer des calculs.

Table de correspondance écrite dans `cycle_engine_service.py:45-47` : perso 111, commu 444, civ 999. ⚠ Mesuré le 2026-08-29 : QUATRE tables portée→Hz se CONTREDISENT dans le dépôt (111/444/999 · 528/432/963 · 396/963/528 · corpus mesuré 432/639/741), et le corpus de 2634 mesures ne concorde avec AUCUNE des trois tables codées. L'une est conséquente : `canon_amount = total × (scope_frequency_hz / 528)` → la même redevance vaut 1,82 fois plus vue de la portée la plus large.
Il en existe quatre versions incompatibles, dont une qui fait varier une somme d'argent d'un facteur 1,82 selon la portée, et les mesures réelles n'en confirment aucune. ⛔ Aucun chiffre de cette famille ne doit être cité comme un fait, ni servir d'exemple pédagogique — là où cette table engage de l'argent, elle calcule sur une constante que la donnée démentit.
backend/app/services/cycle_engine_service.py:45-47 + memory/la-portee-na-pas-de-referent-unique.md

l'arbre de vie

La forme de tout le système : huit domaines qui produisent, un centre qui garde ce qu'ils produisent, et un flux qui circule entre eux sans appartenir à aucun.

TRONC (arbre_canon.TRONC) — C'est la position centrale de la structure, celle où ce que les huit autres produisent est compilé et gardé ; S9 l'occupe.Fleur de Vie — Un motif de dix-neuf cercles emboîtés, six parts autour d'un centre, qui sert aussi de plan de répartition.Semence — Un des trois types de jetons d'un ancien registre d'émission, gardé pour ne pas casser ce qui existait.
La figure qui tient ensemble les trois parties du système : un TRONC qui compile, HUIT BRANCHES qui produisent, une SÈVE qui relie. En code : `BRANCHES = ("S1"…"S8")`, `TRONC = "S9"` — « le bois du tronc, compilation persistée des branches » — et `SEVE = "S0"`, « le flux qui traverse le tronc sans être le tronc ». La relativité en fait 27 cellules : `cellules_grille_27()` CALCULE `3 * (len(BRANCHES) + 1)`, jamais écrit en dur, et son appelant de production porte le commentaire « LE COMPTE DOIT FERMER ». ⚑ Les trois arbres sont EMBOÎTÉS, pas juxtaposés — « pas 27, 3 QG : les QG ont déjà les 8 cellules de l'arbre qui représentent chaque sphère » (tranché par Jonathan 2026-08-26).
Trois pièges, tous mesurés. ① Le mot TRONC est un HOMONYME entre deux modules du même paquet : `arbre_canon.TRONC` vaut S9, mais `sphere_de("TRONC")` rend S0 — il faut nommer le module. ② On croirait un damier de 27 cases à remplir ; c'est faux deux fois — les arbres sont emboîtés (contenance, pas juxtaposition) et une cellule n'est pas une case vide mais une branche qui a son soleil et son tronc. ③ Dans la liste des quinze piliers de `ARCHITECTURE-CANONIQUE-FINALE.md`, les huit branches sont S1·S2·S3·S4·S5·S7·S8·S9 : **S6 n'y figure pas**, alors que le canon de l'arbre en fait une branche de plein droit.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:48 (CANON_FORT), :76, :78, :79 · backend/app/routers/fractale_communautaire.py:275 (l'appelant de production) · memory/trois-qg-arbres-emboites-pas-27-cases.md

le royaume numérique et son sol physique

Le système n'a de corps physique que par ceux qui en prêtent un : chaque participant apporte sa machine et sa position, et c'est là — et seulement là — que le numérique touche la terre.

La règle de composition par laquelle le numérique touche le physique. Jonathan, 2026-10-04 : « le royaume numérique connecté au physique à travers les INFRASTRUCTURES DE CHAQUE POINT 0, individu ou communautaire, PARTICIPANTS » et « ET SA POSITION PHYSIQUE, car c'est la connexion corps/avatar à partir de laquelle le système respire ». ⚑ Ce n'est PAS un pont : il n'y a aucun organe central de liaison. La surface physique du royaume est l'UNION de ce que les participants apportent. En code, la face physique est une constante — `FACE_CONSTANTE["physique"] = ("infrastructure", "hardware")` — et ce qui varie est le terme : `FACE_VARIABLE = {"physique": "corps", "numerique": "avatar"}`. L'enregistrement d'une infrastructure personnelle existe : `user_id` + `device_id` + `runtime_family`, sous index unique.
Le nom fait croire à un territoire qui existerait tout seul, et à un pont qui le relierait au monde. Il n'y a NI territoire NI pont : il y a autant de points de contact que de participants, et zéro ailleurs. ⇒ Ce joint ne se mesure donc PAS par un booléen « relié / pas relié » mais par un COMPTE de points 0 ayant déclaré une infrastructure — et ce compte vaut aujourd'hui ZÉRO du côté personnel (`device_registry_devices` : 0 ligne, mesuré). ⚑ L'autre famille d'ancrages, elle, est peuplée : les temples, 109 posés à des coordonnées réelles. Le royaume a déjà un sol planétaire et pas encore de sol personnel.
backend/app/services/purification_rules.py:434-441 · backend/app/models/continuity_contract.py:20-24 · memory/royaume-numerique-touche-le-physique-par-chaque-point-zero-participant.md · memory/espace-souverain-hardware-miroir-central.md

2 · Les sphères, les canaux, la classification des événements (axe contenu + axe canal)

Chaque entrée a été relue dans le fichier nommé pendant cette session (lecture seule, aucun commit). Les gloses sont réécrites pour dire une FONCTION et non une image, et vérifiées contre la source : quand la simplification mentait, j'ai reculé. Deux comptes ont été recomptés par appel au code et non repris d'un résumé : VALID_CANALS = 16 (event_bus.py:291-297) et EXPECTED_TOPIC_COUNT = 310 (bus_topics.py:1403). Une mesure nouvelle est entrée au lexique : la valeur « yellow » de `status` est documentée (event_bus.py:79) et n'est assignée NULLE PART dans backend/app/services/ — je le dis dans le piège plutôt que de gloser trois états comme s'ils vivaient tous. Les six homonymes annoncés sont rendus en paires (TRONC ×2, Création/Creation ×2, bus ×2), chacun avec sa source distincte. Aucun nom canon n'est remplacé : la glose est une poignée posée à côté du terme.

sphère (S0 à S9)

Elle dit de quoi un message parle : chaque message reçoit un numéro de 0 à 9 qui nomme son sujet.

Axe 1 de la classification des événements — le CONTENU. Dix valeurs : S0 (transitoire) plus S1 à S9. En code, l'ensemble fermé `_VALID_SPHERES` = {"0"…"9"}.
Elle ne dit rien du moyen par lequel le message voyage — c'est l'autre axe, et les deux sont indépendants. Et une sphère est une étiquette de sujet, pas un dossier de code ni un écran : plusieurs modules portent le nom d'une sphère sans en être une.
CLAUDE.md:139-145 ; backend/app/services/event_bus.py:303

S0 Communication Transitoire

C'est l'étiquette que reçoit un message qui ne relève d'aucun des neuf sujets, ou qui ne sert qu'à faire marcher la machinerie interne.

Contenu inclassable ou infrastructure interne — valeur de repli par défaut. S0 n'est pas une branche : c'est la sève qui circule dans le tronc. « Communication » ne désigne jamais S6.
Lire S0 comme un repli neutre est faux. Quand S0 est DEVINÉ au lieu d'être déclaré, le message est marqué rouge (event_bus.py:460-468) : S0 est alors l'aveu que le classement a échoué, pas un classement. Deuxième piège : S0 porte aussi le nom « TRONC », qui désigne S9 ailleurs.
CLAUDE.md:140-144 ; hf-atom-tools/atom_canon/primitives/arbre_canon.py:81

S6 Divertissement

C'est le sujet de tout ce qu'on consomme sans l'avoir fabriqué : regarder, écouter, jouer.

Sphère de contenu et BRANCHE de l'arbre (tranché Jonathan 2026-07-20 et déjà 2026-05-10). Polarité avec S4 : S6 = « TU REGARDES », S4 = « TU FAIS ».⚠ Suite datée 2026-10-03 (brief d’assemblage §4 ④) : Jonathan — « on a enlevé les polarités car elles ne sont pas exactes — aux jeux vidéo tu FAIS en REGARDANT — donc on les a appelées des PAIRES ». La formulation ci-dessus est antérieure ; on écrit désormais « paire S4 ↔ S6 ».
Un module d'affichage porte son nom, et pendant vingt arbitrages on en a conclu que S6 n'était pas une branche. Elle l'est. Autre piège mesuré : S6 n'a volontairement pas de page et est absente de `ATOM_MAPPING` — une absence d'écran ne retire pas la branche.⚠ Suite datée 2026-10-03 (brief d’assemblage §4 ③) : ce qui est absent ici, c’est S6 dans une LISTE — les branches du JS, une face, un catalogue. La sphère S6 Divertissement elle-même est massivement bâtie (276 fichiers) ; la confusion vient de l’empaqueteur, un module de présentation nommé d’après S6.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:19-35, 87 ; CLAUDE.md:145

S9 Durabilité / AT·OM Mapping

C'est là que ce que produisent les huit autres sujets est rassemblé et conservé.

Sphère qui occupe la position TRONC de l'arbre — le bois, compilation persistée des huit branches. `arbre_canon.TRONC = "S9"`.
Les deux moitiés du nom ne sont pas deux sphères : « Durabilité » est son nom du côté stockage, « AT·OM Mapping » et « les branches » ses noms du côté code qui tourne. Un lecteur qui voit les deux dans deux documents croit en compter deux. Et S9 n'est pas une branche : elle est le tronc — des documents anciens listent « 8 branches dont S9 », ils sont périmés.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:78, 96 ; CLAUDE.md:145

sève (Position.SEVE)

C'est la position qui dit : cette sphère n'occupe aucun endroit de la structure, elle passe par tous.

Une des trois positions qu'une sphère peut occuper dans l'arbre (BRANCHE | TRONC | SEVE). `SEVE = "S0"` — le flux qui traverse le tronc sans être le tronc.
« Sève » est une position, pas une sphère : la sphère qui l'occupe est S0. Et S0 ne porte le nom « Sève » que vu du côté du code qui tourne — du côté stockage elle s'appelle « TRONC ». Trois mots pour un seul objet.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:67-81

TRONC (arbre_canon.TRONC)

C'est la position centrale de la structure, celle où ce que les huit autres produisent est compilé et gardé ; S9 l'occupe.

TRONC (libellé, face données de S0) — C'est le nom sous lequel S0 apparaît quand on la regarde du côté de ce qui est enregistré.face (enum Face) — Elle dit sous quel angle on nomme une sphère : le même objet reçoit un nom différent selon l'angle choisi.
La position centrale de l'arbre — le bois, compilation persistée des branches. Vaut « S9 ».
Le même mot, demandé à l'autre module du même paquet, rend S0 et non S9. Un lecteur qui écrit « TRONC » dans une requête ne sait pas lequel des deux il obtiendra — il faut nommer le module.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:78

TRONC (libellé, face données de S0)

C'est le nom sous lequel S0 apparaît quand on la regarde du côté de ce qui est enregistré.

TRONC (arbre_canon.TRONC) — C'est la position centrale de la structure, celle où ce que les huit autres produisent est compilé et gardé ; S9 l'occupe.
Libellé de S0 en face DONNÉES — la forme sous laquelle S0 apparaît côté persistance (§0.6 : « Communication » runtime ↔ « TRONC » data).
Il collisionne avec le mot qui désigne la position centrale de l'arbre : `sphere_de('TRONC')` rend S0, tandis que `arbre_canon.TRONC` vaut S9. Deux modules du même paquet, deux réponses, aucune des deux fausse.
hf-atom-tools/atom_canon/primitives/spheres_libelles.py:80 ; CLAUDE.md (piège mesuré 2026-08-10)

branche (BRANCHES)

C'est la position des huit sujets qui produisent du contenu : S1 à S8, pas une de plus ni une de moins.

`BRANCHES = ("S1","S2","S3","S4","S5","S6","S7","S8")` — la liste des huit. « C'est LA liste. Rien d'autre ne fait autorité. » Tenue par 12 tests.
Les deux erreurs mesurées sont symétriques : retirer S6 de la liste (à cause du module d'affichage qui porte son nom) et y ajouter S9 (qui est le tronc, pas une branche). Des documents du dépôt portent encore l'une ou l'autre ; le fichier tranche, la prose non.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:75

empaqueteur (EMPAQUETEUR)

C'est le bout de code qui met en forme, pour l'affichage, ce que les huit sujets ont produit.

Un MODULE, pas une position dans l'arbre : il prend ce que produisent les branches et le prépare pour la consommation. `est_une_sphere = False`, `est_une_branche = False`. Implémentation : `frontend/js/arbre-spheres.js — S6_PACKAGING_LAYER`.
Il est nommé d'après S6, et ce nom seul a fait conclure vingt fois que S6 n'était pas une branche. Nommer un module d'après une sphère ne transforme pas le module en sphère, et ne retire rien à la sphère. Le fichier porte un champ `ne_pas_conclure` qui dit exactement ça.
hf-atom-tools/atom_canon/primitives/arbre_canon.py:103-126

face (enum Face)

Elle dit sous quel angle on nomme une sphère : le même objet reçoit un nom différent selon l'angle choisi.

« La position d'où l'on regarde la sphère » (§0.6, dimension MODE de §0.7). Trois valeurs : OPERATIONNELLE, DONNEES, SECTORIELLE. Chaque libellé porte sa provenance.
La face est une dimension du NOM, pas de la chose. Deux noms ne font pas deux objets : il n'y a qu'une sphère derrière. Second piège : elles sont TROIS depuis la création de l'énum — nos propres résumés n'en annonçaient que deux, et c'est le résumé qui avait tort.
hf-atom-tools/atom_canon/primitives/spheres_libelles.py:58-73

Face.OPERATIONNELLE

C'est le nom que porte une sphère quand on la regarde du côté du programme qui tourne.

Face du nom côté runtime, code, flux, espaces de travail. Valeur `"operationnelle"`.
Ce n'est pas « le vrai nom » dont les autres seraient des surnoms. Les trois faces sont attestées à égalité, chacune avec sa source citée dans le registre ; aucune ne prime.
hf-atom-tools/atom_canon/primitives/spheres_libelles.py:61

Face.DONNEES

C'est le nom que porte une sphère quand on la regarde du côté de ce qui est enregistré.

Face du nom côté persistance, AT·OM Mapping, ORM. Valeur `"donnees"`. §0.6 : forme opérationnelle ≠ forme données MAIS même catégorie sémantique.
C'est là que vivent les collisions : le nom enregistré d'une sphère peut être le nom de position d'une autre — « TRONC » enregistré pour S0 alors que TRONC désigne S9. Un lecteur qui ne sait pas qu'il lit une face conclut à une contradiction.
hf-atom-tools/atom_canon/primitives/spheres_libelles.py:62

Face.SECTORIELLE

C'est le nom que porte une sphère quand on la désigne par le métier qui l'appelle.

Face du nom par domaine d'invocation (§0.5). Valeur `"sectorielle"`. Elle porte les invocations métier (« Entertainment », « Habitat-urbanism ») et les `sacred_name` de `routers/spheres.py`.
C'est la face la plus trompeuse : elle contient à la fois des noms d'affaires et les noms de registre sacré, et ceux-là désignent souvent une AUTRE sphère que celle que le mot suggère. Le terme `Face.SECTORIELLE` est lui-même technique, mais une partie des noms qu'il range est interdite dans une page métier.
hf-atom-tools/atom_canon/primitives/spheres_libelles.py:63, 112-114, 87

Création (S4)

C'est le sujet de ce qu'on fabrique soi-même.

Creation (sacred_name de S7) — C'est le nom de registre sacré que porte la sphère de la formation.
Nom de S4 en face OPÉRATIONNELLE. Polarité canon : S4 = « TU FAIS » (création) ↔ S6 = « TU REGARDES » (consommation).⚠ Suite datée 2026-10-03 (brief d’assemblage §4 ④) : Jonathan — « on a enlevé les polarités car elles ne sont pas exactes — aux jeux vidéo tu FAIS en REGARDANT — donc on les a appelées des PAIRES ». La formulation ci-dessus est antérieure ; on écrit désormais « paire S4 ↔ S6 ».
Le mot seul n'identifie pas S4 : une autre sphère, S7 Formation, porte « Creation » comme nom de registre sacré. Et le nom sacré de S4 n'est pas « Création » mais « Intelligence ». Sur un même écran, les deux mots peuvent désigner deux sphères différentes.
hf-atom-tools/atom_canon/primitives/spheres_libelles.py:102 ; CLAUDE.md:145

Creation (sacred_name de S7)

registre spirituel

C'est le nom de registre sacré que porte la sphère de la formation.

Création (S4) — C'est le sujet de ce qu'on fabrique soi-même.
`sacred_name` de l'entrée `sphere-education` (`sphere_type: "education"`, `name: "Formation"`, `order: 6`) dans CANONICAL_SPHERES. Rangé en face SECTORIELLE par le registre des libellés.
Écrit sans accent, il désigne S7 Formation — pas S4 Création. Un lecteur qui voit « Creation » dans une liste de noms sacrés et « Création » dans une liste de sujets croit lire deux fois la même sphère : ce sont les deux extrémités du dépôt. Ce mot ne doit pas apparaître dans une page métier.
backend/app/routers/spheres.py:175 (bloc 170-176) ; hf-atom-tools/atom_canon/primitives/spheres_libelles.py:63

canal

C'est par quel moyen un message voyage : le réseau interne, le web, le courriel, le SMS, l'écran, et onze autres.

Axe 2 de la classification — « mécanisme de transport (enum, voir event_bus.VALID_CANALS) ». Énum FERMÉE de 16 valeurs : bus, http, ws, sse, email, sms, voice, chat, stream, push, blockchain, xr, voxel, hologram, dom, none. Défaut inféré : bus.
Une valeur hors liste n'est pas refusée : elle est remplacée par « bus » et le message est marqué rouge (event_bus.py:475-478). Le message part quand même avec un canal qui n'est pas le sien. C'est le seul axe du système qui refuse honnêtement — mais il refuse en marquant, pas en bloquant.
backend/app/services/event_bus.py:78, 291-297 ; CLAUDE.md:161-163

status (green / yellow / red)

C'est la note de confiance mise sur l'étiquetage d'un message : vert, le classement est bon ; rouge, il a échoué.

Champ de l'enveloppe d'événement : « green (ok) | yellow (dégradé) | red (classification échouée) ». Valeur par défaut `"green"`.
Deux pièges, et le second est mesuré ici. (1) Rouge ne bloque rien : le message part quand même, simplement marqué — un lecteur qui voit « red » suppose un refus, il n'y en a pas. (2) La valeur du milieu, « yellow », est documentée à la ligne 79 et n'est assignée NULLE PART dans backend/app/services/ : les trois états sont dans la phrase, deux seulement dans le code.
backend/app/services/event_bus.py:79, 95

bus (valeur de canal)

C'est la valeur qui dit : ce message ne sort pas de la machine, il passe d'un module à l'autre dans le même programme.

bus (l'organe de distribution) — C'est la pièce de code qui reçoit un message et le remet à tous ceux qui s'y sont abonnés.
Membre de `VALID_CANALS` et valeur par défaut du champ `canal` de l'Event. Défaut inféré documenté comme « MessageBus in-process ».
C'est aussi la valeur de repli quand le canal fourni est invalide. « bus » veut donc dire soit « reste à l'intérieur », soit « on n'a pas su » — et seule la note de confiance posée à côté permet de les distinguer. Un décompte des messages « bus » mélange les deux.
backend/app/services/event_bus.py:292, 98 ; CLAUDE.md:163

bus (l'organe de distribution)

C'est la pièce de code qui reçoit un message et le remet à tous ceux qui s'y sont abonnés.

canal — C'est par quel moyen un message voyage : le réseau interne, le web, le courriel, le SMS, l'écran, et onze autres.bus (valeur de canal) — C'est la valeur qui dit : ce message ne sort pas de la machine, il passe d'un module à l'autre dans le même programme.
Le composant qui publie un événement vers tous les abonnés dont le motif correspond : singleton Python `event_bus` (`publish` / souscriptions) et, au navigateur, la classe `ATOMMessageBus`.
Même mot que la valeur de canal : « sur le bus » peut désigner l'organe ou le mode de transport. Et il y en a DEUX — un en Python sur le serveur, un en JavaScript dans le navigateur — qui ne partagent pas leur catalogue de noms de messages.
backend/app/services/event_bus.py:284-287, 420-510 ; frontend/js/message-bus.js:292

topic

C'est le nom exact d'un message, celui qui décide qui le recevra ; il s'écrit en trois morceaux séparés par des points.

Nom canonique d'un message, inscrit au registre. RÈGLE : « Every publisher and subscriber MUST import the constant from this module — NO string literals. » Autorité numérique exécutable : `EXPECTED_TOPIC_COUNT = 310`, tenue par deux assertions. Nommage `{module}.{entity}.{action}`.
Le nom doit être importé du registre et jamais écrit à la main dans l'appel — sinon une faute de frappe ne fait pas d'erreur, elle fait un message que personne n'écoute. Et le registre ne couvre pas tout : 310 noms tenus côté serveur, contre environ 1360 noms écrits à la main côté navigateur sans registre du tout.
backend/app/core/bus_topics.py:40-42, 1403-1407 ; CLAUDE.md (JS Module 4 Patterns §2)

discipline_flag

C'est une marque posée sur chaque message pour dire : ce contenu est soumis à la règle qui interdit d'affirmer plus que ce qui a été mesuré.

Champ de `CANON_PAYLOAD_DEFAULTS`, valeur `"eta_stricte"`, posé à la RACINE du payload métier (Output Boundary Principle §4.4.1). Il inscrit le payload dans le canon η, dont le clamp est `MAX_INTERPRETIVE_CONFIDENCE = 0.30` hors S1.
Sa présence dit que la règle s'applique, pas qu'elle a été vérifiée : rien dans la distribution ne contrôle le contenu. Second piège, structurel : il est posé à la racine du contenu métier, pas sur l'enveloppe — qui le cherche sur l'enveloppe trouve vide, et silencieusement.
backend/app/services/event_bus.py:305-310 ; CLAUDE.md:291 ; docs/anatomie/micro/meridiens-microsystemes-detail.md:160

grille 27+0

C'est le quadrillage d'adressage du projet : neuf sujets multipliés par trois tailles d'espace font vingt-sept cases, et S0 traverse les vingt-sept sans en occuper aucune.

L'adressage canon planaire : « 27 cellules + 0 transversal = 9 sphères × 3 portées (Indiv/Commu/Civ) + S0 transversal ». Le +0 est S0, qui circule entre les 27 sans se tripler. Règle : ne jamais étendre 27³ au-delà des 9 Rosettas.
Le compte de 27 est écrit avec DEUX troisièmes axes différents selon le fichier : « 9 sphères × 3 portées » au MASTER-INDEX, « 3 arbres × 9 sphères » dans arbre_canon.py:48. Le total ferme dans les deux cas, donc l'écart ne se voit pas — mais on n'adresse pas la même chose. Autre piège : 27+0 est le canon général ; la forme 27³ est réservée aux 9 Rosettas et ne doit pas être étendue.
memory/MASTER-INDEX-DOCUMENTS-AT-OM.md:514, 517, 1114 ; hf-atom-tools/atom_canon/primitives/arbre_canon.py:48

portée (VALID_PORTEES : indiv | commu | civ)

C'est la taille de l'espace qu'un message concerne : une personne, un groupe, ou tout le monde.

Énum fermée de trois valeurs — `{"indiv","commu","civ"}` — portée au champ `portee` de l'Event. Forme d'origine tranchée par Jonathan (2026-08-07) : « mais le ind com civ est l'original ». Même triplet en base sous `tree_scope`.
Trois vocabulaires existent pour les mêmes trois valeurs — `indiv/commu/civ` en base, `mon_monde/notre_monde/le_monde` pour les agents, `mon_royaume/...` à l'écran. Ce ne sont pas des doublons à unifier : ce sont des faces, et les écraser ferait perdre la perception de l'usager. Piège mesuré en plus : `mon_monde` n'est PAS un monde — les mondes sont sept et vivent sur un autre axe. Et contrairement au canal, une portée invalide n'est pas remplacée : elle est effacée (mise à rien) et le message marqué rouge.
backend/app/services/event_bus.py:299, 480-483 ; hf-atom-tools/atom_canon/primitives/portees_libelles.py:1-41

3 · L'ÉCONOMIE AT·OM — lexique à deux registres (nom canon + glose), lu en seule lecture, aucun commit

Lecture seule, aucun commit, aucun fichier écrit. Chaque entrée porte une source vérifiée par ouverture du fichier — chemin:ligne du dépôt, ou fichier nommé du corpus de mémoire. Le nom canon n'est jamais remplacé : la glose est posée à CÔTÉ, comme poignée. Trois gloses reçues ont été réécrites parce qu'elles donnaient une IMAGE au lieu d'une fonction (la forge, alchimie, Pierre Philosophale), deux parce qu'elles trahissaient la source (θ présenté comme un rendement ; OR-PLATINE présenté comme une monnaie — le canon le refuse nommément), une parce qu'elle introduisait trois autres termes canon non glosés (output du système). ⚑ DEUX PAIRES D'HOMONYMES ont été séparées en entrées distinctes : θ (rapport calculé sur le registre monétaire, g4_emission_guard.py) ↔ THETA_STRUCTURE (constante 0,30 d'un décodeur de son, bioacoustic/energy_score.py), et la forge (atelier alchimique, navigateur) ↔ DocumentForgeRuntime (aperçus de documents de conformité, serveur) : aucun rapport entre les deux membres de chaque paire. Un troisième mot est à DOUBLE SENS et les deux sont vivants : « les sorties » désigne tantôt les endroits où l'on dépense (output du système), tantôt ce que la circulation PRODUIT (UR + OR-PLATINE) — les deux entrées se renvoient l'une à l'autre. Aucun terme écarté : les 18 avaient une définition sourcée. ⚠ Où une mesure de production est citée, elle porte sa date et sa base (atom_db sur compose-atom-db-1) ; elle décrit l'état mesuré, pas l'intention du canon — un organe bâti et non alimenté reste bâti.

UR COIN

Ce que vous pouvez dépenser dans le système, obtenu en ayant laissé de l'activité passer par vous.

Unité monétaire du volet énergétique, tenue comme `coin_balance` / `coin_staked` / `coin_locked` dans le portefeuille double de chaque usager, avec un adossement Hedera (HTS) annoncé au niveau stack. Doctrine Jonathan 2026-08-29 : « le UR est la valeur du FLUX — en participant tu as des UR que tu peux POUSSER parce que t'as permis au système de TIRER ». C'est une symétrie comptable, pas un adossement : ni jeton, ni réserve, ni créance, mais un droit de mouvement gagné en ayant permis le mouvement. « Une valeur est aussi bonne que les ententes qui la représentent » — donc ni créancier ni remboursement.
La glose seule laisse croire à un jeton qu'on accumule, ou à un avoir garanti par une réserve. Ni l'un ni l'autre : garder des UR sans les dépenser ne conserve rien (un droit de pousser qu'on n'exerce pas est du flux qu'on ne fait pas), et leur valeur ne vient pas d'un stock mais du nombre d'ententes signées qui les acceptent. Mesuré en production (base atom_db, 2026-08-19) : les soldes sont à zéro et aucune entente n'est enregistrée.
backend/app/models/treasury.py:85-87 (coin_balance/coin_staked/coin_locked) · memory/ur-valeur-du-flux-pousser-tirer.md · CLAUDE.md (Stack : Hedera — UR COIN)

Credits

L'autre unité du même portefeuille : celle que le système verse pour une contribution, et qui s'échange contre des UR COIN dans les deux sens.

Seconde unité du même portefeuille double (`credit_balance` / `credit_staked` / `credit_pending`), émise et versée par l'autorité monétaire centrale, convertible dans les deux sens avec l'UR COIN par un pool de pont (AMM) — les totaux de conversion sont tenus en colonnes dédiées. Le registre de toute l'économie s'appelle d'ailleurs, en code, « Append-only Credit ledger ».
Le mot fait penser à des points de fidélité sans valeur réelle, séparés de la « vraie » monnaie. Faux sur les deux points : les deux unités vivent dans le même portefeuille et se convertissent l'une en l'autre à un taux de pool, et c'est le registre des Credits qui sert de grand livre à l'économie entière, UR comprises.
backend/app/models/treasury.py:89-91 · :97-98 (total_bridged_to_coin / total_bridged_to_credits) · :174 · backend/app/services/treasury_service.py:8-16 · :2226 (abridge_credits_to_coin)

captation

L'activité réelle déjà inscrite au registre qui autorise le système à émettre de la monnaie ; sans elle, il n'émet rien.

Volume de frappe GOUVERNÉE provenant des producteurs d'activité réelle, repéré par le préfixe `captation:` écrit dans la description de la ligne de registre, et lu sur 24 h (`tx_type='reward'` + `description LIKE 'captation:%'`). Exactement deux services l'écrivent : temple (`captation:temple:`) et forge (`captation:forge:`). C'est le NUMÉRATEUR de θ : « le système ne mint que ce qu'il capte ».
Malgré le mot, ce n'est ni un prélèvement ni une taxe : rien n'est pris à personne, on COMPTE ce qui a été produit. Et ce n'est pas « toute l'activité » : seules deux sources comptent — les décodages de temple et la forge. Tout le reste de l'activité du système, aussi réelle soit-elle, ne compte pour rien dans ce chiffre.
backend/app/services/babel/governed_mint.py:36 (CAPTATION_PREFIX) · backend/app/services/babel/g4_emission_guard.py:7-16

θ (theta)

Un nombre entre 0 et 1, obtenu en comparant l'activité du dernier jour à sa moyenne de la semaine, qui multiplie tout montant que le système s'apprête à émettre.

THETA_STRUCTURE — Un seuil fixe de 0,30 dans le lecteur de sons vivants : en dessous, le signal est jugé trop désordonné pour valoir quoi que ce soit.
θ = min(1, captation_24h / max(MA7j, 1)), avec captation_24h ≤ 0 → θ = 0 (fail-safe). Le montant effectivement émis vaut min(requested × θ, cap_restant). θ bride la frappe d'émission du battement : sans captation, le cœur bat sans frapper. Trois appelants seulement (fractal, fractal_seed, mission).
Le nom grec et la forme d'un ratio le font lire comme un taux d'intérêt ou un rendement : ce n'est ni l'un ni l'autre, c'est un facteur de bridage — il ne rapporte rien, il limite. Et sa valeur mesurée est 0, non parce qu'il serait cassé mais parce que rien n'écrit l'activité qu'il compte. ⚑ HOMONYME : ne pas le confondre avec THETA_STRUCTURE, qui n'a aucun rapport.
backend/app/services/babel/g4_emission_guard.py:11-16 · :55-66 (compute_theta) · :69-78 (compute_allowance) · memory/boucle-economique-theta-est-le-goulot.md

THETA_STRUCTURE

Un seuil fixe de 0,30 dans le lecteur de sons vivants : en dessous, le signal est jugé trop désordonné pour valoir quoi que ce soit.

θ (theta) — Un nombre entre 0 et 1, obtenu en comparant l'activité du dernier jour à sa moyenne de la semaine, qui multiplie tout montant que le système s'apprête à…
Constante du décodeur bioacoustique : `THETA_STRUCTURE: float = 0.30` — sous ce seuil d'indice de structure, l'énergie rendue vaut 0 ; au-dessus, rampe linéaire de 0,30…1,0 vers 0,0…1,0. Exposée telle quelle dans la sortie du décodeur.
Son nom laisse croire qu'il s'agit du même θ que celui de l'émission monétaire, ou de sa « version structurelle ». ⚑ HOMONYMES SANS RAPPORT : celui-ci est une constante écrite à la main (0,30) dans un décodeur de son ; l'autre est un rapport recalculé à chaque appel sur le registre de monnaie. Les deux vivent dans des paquets différents et ne se lisent jamais l'un l'autre.
backend/app/services/bioacoustic/energy_score.py:14 · :21-26 · backend/app/services/bioacoustic/decoder.py:176

le grand livre (treasury_transactions)

La table où chaque mouvement d'argent s'écrit une fois et ne se corrige jamais : on ajoute une ligne, on n'en modifie aucune.

Registre monétaire en ajout seul (ancrage de design D21) : « TreasuryTransaction rows are written once and never updated or deleted ». Aucune garde dans le modèle — la discipline est tenue par la couche service, où les méthodes de mutation n'existent tout simplement pas. `tx_type` est du texte libre par décision explicite, pour qu'un type neuf n'exige aucune migration et laisse intacts les lecteurs de θ, qui filtrent `tx_type == 'reward'`. Idempotence durable par index unique partiel sur `task_id` (migration v82_256) : un même `task_id` ne peut plus être honoré deux fois, et la garde survit au redémarrage comme à quatre workers.
« Ne se corrige jamais » sonne comme une garantie de la base de données : ce n'en est pas une. Rien dans la base ne l'empêche — la règle tient uniquement parce que le code qui écrit ne possède aucune méthode pour modifier ou supprimer. Et le vaisseau existe sans contenu : mesuré le 2026-08-19 sur atom_db (compose-atom-db-1), 0 ligne tous types confondus.
backend/app/models/treasury.py:173-181 · :183-207 · backend/app/services/babel/governed_mint.py:38-58 · memory/economie-deux-volets-alchimie-minage.md

la forge

L'atelier qui reprend les restes d'un travail — chaleur perdue, erreurs, résidus — et les repasse par sept étapes pour en tirer quelque chose d'utilisable.

DocumentForgeRuntime — Un générateur d'aperçus de documents de conformité à partir de modèles : il affiche le texte rempli, il ne signe rien et n'enregistre rien.forge — L'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.
Atelier de transmutation du volet transactionnel, vivant dans le navigateur : trois générateurs déphasés (Soufflet / Flamme / Marteau) alimentent un transmuteur à sept stades (calcination → coagulation) qui reprend scories, chaleur, erreurs et résiduel pour en faire du carbone pur, et prélève 1 % de chaque cycle complet en Pierre Philosophale. Doctrine « forges = poumons » encodée jusqu'à la ligne : la frappe forge est taguée `captation:forge:`, donc elle alimente le numérateur de θ.
La glose fait imaginer un organe du serveur, qui tiendrait des comptes. La forge tourne entièrement dans la page web du visiteur : elle n'écrit rien en base, son résultat meurt à la fermeture de l'onglet, et les deux portes du serveur refusent NOMMÉMENT ses annonces — ce refus est délibéré (le montant serait écrit par l'appelant), pas un oubli de câblage. ⚑ HOMONYME : rien à voir avec DocumentForgeRuntime.
frontend/js/forge-alchemy.js:551 · :631 · :1289 · frontend/js/forge-energy-bridge.js:148 · memory/forges-poumons-theta-et-decodage-non-continu.md

DocumentForgeRuntime

Un générateur d'aperçus de documents de conformité à partir de modèles : il affiche le texte rempli, il ne signe rien et n'enregistre rien.

la forge — L'atelier qui reprend les restes d'un travail — chaleur perdue, erreurs, résidus — et les repasse par sept étapes pour en tirer quelque chose d'utilisable.forge — L'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.
Service serveur : « Preview-only runtime for compliance document templates ». Liste des modèles, détail d'un modèle, et aperçu d'un document rempli. Le code refuse explicitement de se faire passer pour autre chose : « This runtime has no signing, filing, upload, or durable-document capability » — accepter `preview_only=False` étiquetterait faussement un aperçu comme un acte final.
Le mot « forge » dans son nom n'a aucun rapport avec l'atelier de transmutation, et « runtime » laisse croire qu'il produit un document officiel. Il refuse par construction de produire autre chose qu'un aperçu — et c'est écrit dans son propre code comme un refus, pas comme une limite temporaire. ⚑ HOMONYME de « la forge » : un lecteur pressé croirait voir l'organe serveur qui manque à l'atelier. Ce n'est pas lui.
backend/app/services/document_forge_runtime.py:237-238 · :240-247 · :249-262

alchimie

registre spirituel

Le travail qui améliore la qualité de ce qu'on a déjà — rendre clair ce qui était confus — sans faire entrer quoi que ce soit de nouveau.

Vocabulaire tranché par Jonathan (2026-07-13) : l'alchimie propre est la TRANSFORMATION — elle change la QUALITÉ (incohérence → cohérence), rien n'est déplacé, quelque chose est raffiné. À distinguer du TRANSFERT / transduction (axe phosphore-silicium-silice), qui déplace l'énergie en changeant sa FORME à quantité conservée. Décision renversée du même jour : on NE FUSIONNE PAS les moteurs — il y a au moins deux alchimies distinctes (énergie, données) qui se croisent aux décodeurs de bioélectricité. Conséquence canon : l'alchimie est un système FERMÉ, elle réarrange, elle ne fait pas croître ; pour croître il faut importer de l'externe.
Le mot s'entend comme une image poétique, ou comme une transmutation de matière. Ni l'un ni l'autre : c'est le nom d'un travail sur l'information, et le canon le discipline explicitement (opérateur d'architecture, jamais physique magique). Le piège utile est ailleurs : parce qu'elle est fermée, l'alchimie ne peut PAS financer la croissance du système — elle raffine l'intérieur, et c'est un autre geste (faire entrer du neuf) qui fait grandir. Confondre les deux a déjà fait conclure qu'un système fermé pouvait croître.
memory/deux-alchimies-collaboration-pas-fusion.md · memory/moteur-alchimique-existe-deja.md · memory/economie-deux-volets-alchimie-minage.md

minage

Produire de la monnaie en décodant de l'information : à intervalle régulier, le système mesure ce qu'il a décodé et frappe un montant proportionnel.

Nommé `proof-of-decoding` en code : on produit de la monnaie en décodant de l'information, gradué par échelle (indiv → user_id · commu → village_pool_id · civ → pool système). Chaque Point 0 agit comme une mine. Le déclencheur est `fractal_bio_tick_worker`, une boucle sur cadence Bio Tick — une HORLOGE, pas une preuve de travail. Le rendement est `_estimate_ur_coin` = (taille sérialisée en octets / 1024) × 10, multiplié par 1,0 si une sphère cible est donnée, 0,5 sinon.
Le mot évoque les calculs en compétition des cryptomonnaies. Il n'y a ici ni concurrence, ni difficulté, ni nonce, ni tiers : le montant est la taille du texte décodé divisée par 1024 et multipliée par 10. C'est une horloge qui mesure, pas une course qui prouve — et la monnaie s'émet sans un seul octet signé (aucune signature, aucun hachage dans le chemin de frappe).
backend/app/services/babel/fractal_pipeline.py:261-265 · backend/app/services/babel/fractal_bio_tick_worker.py:1-14 · memory/minage-fractal-verrou-circulaire.md

Magasin de Ristourne

Un pot commun par territoire : les surplus y entrent, une part reste en réserve, et le reste est redistribué à intervalles réguliers aux contributeurs inscrits.

Système de redistribution du surplus collectif. Chaque magasin est un pot de redistribution attaché à un territoire ; le surplus y entre (jalons, fonds d'entreprise, taxes d'échange, dons), s'accumule, puis se distribue périodiquement aux contributeurs inscrits selon des règles : taux de réserve (20 % par défaut), cadence de versement, plafond par contributeur et par cycle (10 %), seuil minimal de réclamation, plancher de confiance, et seuil au-delà duquel une approbation humaine est requise. Soudure doctrinale assumée : c'est le grenier communal andin (qollqa) rendu au numérique, avec une règle CONTRA-CYCLIQUE — on libère en disette, on accumule en abondance.
« Ristourne » fait penser à un rabais commercial sur un achat. C'est un grenier collectif, et son taux de réserve bouge à l'inverse de l'intuition : il garde DAVANTAGE quand tout va bien, et libère davantage quand ça manque. ⚠ Ne pas le confondre avec le stabilisateur monétaire (le pool de pont du trésor) : ici c'est le surplus redistribuable d'un territoire, pas la masse monétaire. Et l'interface affiche aujourd'hui 0 distribué, en gros caractères.
backend/app/services/ristourne_policy_service.py:1-37 · :57-60 (DEFAULT_POLICY)

mérite

Le fait de comprendre vraiment par quoi une chose arrive — ce qui ne s'imite pas, parce qu'imiter la compréhension c'est ne pas l'avoir.

Raffinement canon (Jonathan 2026-07-15) : le mérite est l'ADÉQUATION DES IDÉES — la compréhension d'une chose par ses causes — et NON un scalaire agrégé de critères. Raison : un score agrégé est manipulable et bute sur le théorème d'Arrow ; l'idée adéquate, non (feindre de comprendre une cause, c'est ne pas la comprendre). Corollaire — le théorème du plafond : user sa compréhension « du mauvais côté » est déjà le signe qu'elle est inadéquate, donc l'abus s'auto-plafonne ; plus on monte, moins on peut abuser. ⚠ Le code contredit encore ce canon : `PILLAR_WEIGHTS` fond six piliers en un seul scalaire (le fichier le dit lui-même en commentaire).
Le mot appelle une note, un classement, un rang : le canon dit exactement le contraire — ce n'est PAS un score, et en faire un score le rend manipulable. Le piège est donc dans le mot lui-même, et le dépôt y est tombé : six dimensions distinctes sont encore ramenées à un chiffre unique, ce qui masque le maillon faible et refait, sur le mérite, le défaut reproché à la monnaie unique.
memory/merite-adequation-le-mal-a-des-limites.md · memory/fiat-reducteur-merite-scalaire.md · backend/app/services/competency_trust_ledger.py:53 · :245 · :695

LNIS (Local Needs Intelligence System)

Le service qui examine un territoire, dresse la liste de ses besoins, les classe par priorité et propose des projets ou des entreprises pour y répondre.

Moteur d'analyse des besoins à l'échelle d'un territoire : analyse du territoire (démographie, économie, manques de service), identification et priorisation des besoins, génération de solutions (occasions d'entreprise + propositions de projet), suivi d'impact sur douze catégories de besoins. Il alimente directement le registre d'entreprises, le générateur de projets, les opérations de souveraineté et l'appariement des travailleurs. Exposé sous `/api/v2/economy-engine/lnis/*`.
Le mot « intelligence » du sigle laisse croire à un modèle qui apprend et qui décide. Il n'apprend pas et ne décide rien : il classe et il PROPOSE — la création d'entreprise ou de projet reste un autre geste, en aval, dans d'autres organes. Second piège : « Local » désigne un territoire enregistré dans le système, pas la machine de l'usager.
backend/app/services/lnis_service.py:1-23 · :40-45 (NeedCategory) · backend/app/routers/economy_engine.py:613-626

Treasury (le trésor)

Le service unique qui crée et retire la monnaie, tient le portefeuille de chacun, répartit les budgets et fixe les plafonds quotidiens.

Autorité monétaire centrale de l'économie à deux unités : compte maître (frappe et destruction de Credits), politique monétaire (plafond de frappe quotidien, taux de destruction, contrepartie de subvention), catégories budgétaires, portefeuilles doubles, pool de pont entre les deux unités, paliers de mise. Doctrine de financement ancrée à côté : « AT·OM ne prête pas. Il finance à l'effort et à la participation […] L'INTÉRÊT EST L'ESCLAVAGE ». Décision D23 (2026-07-17) : la monnaie persiste en base ou l'opération échoue — le chemin en mémoire volatile est retiré, et le trésor est co-bénéficiaire de la création, pas percepteur sur la circulation.
On l'imagine comme un coffre qui détient des avoirs et qui prête. C'est d'abord une autorité d'ÉMISSION, et prêter lui est interdit par doctrine : il finance l'effort, sans échéance, sans intérêt, sans créancier. Second piège, plus coûteux : le mot « trésor » suggère quelque chose qui garde — or la règle est l'inverse pour ce qui engage, où la monnaie s'écrit en base ou l'opération échoue honnêtement, plutôt que de réussir en apparence dans une mémoire qui disparaît au redémarrage.
backend/app/services/treasury_service.py:8-21 · :28-45 (D23) · :102 · backend/app/services/economy/financing_doctrine.py:1-23 · :30-41

output du système (les sorties)

Les endroits où l'on dépense à l'intérieur du système — caisse, échange, marchand, place de marché — ce qui fait que l'argent dépensé y revient.

OR-PLATINE (OR-Platinum) — L'étiquette définitive posée sur un élément dont la qualité a été mesurée au-dessus de 0,75 et dont l'origine est prouvée : une fois posée, elle ne se retire…
Doctrine Jonathan 2026-08-29 : « tu pousses quand tu DÉPENSES, et tu peux dépenser dans les OUTPUTS du système, donc ÇA REVIENT » — le circuit est fermé parce que les débouchés sont internes. Les quatre points de prélèvement mesurés SONT ces quatre sorties : passage en caisse (3 % / 2 %), grand échange (50/50), marchand (50/50), place de marché (3 % / reste — la seule coupe résiduelle, forme à ne pas généraliser). ⚠ Les deux retours sont coupés : la moitié qui monte ne survit pas au redémarrage, celle qui reste n'a aucun appelant pour être versée.
« Sortie » fait penser à une porte vers l'extérieur, donc à de l'argent qui part. C'est l'inverse : ce sont les points par lesquels la dépense RENTRE dans le circuit. ⚑ Et le mot a un SECOND SENS, vivant lui aussi : « les deux sorties » désigne ailleurs ce que la circulation PRODUIT (UR qui revient, OR-PLATINE qui ne revient jamais). Même mot, deux objets — demander toujours lequel est visé.
memory/ur-valeur-du-flux-pousser-tirer.md · backend/app/services/checkout_system.py:60-61 (MARKETPLACE_FEE_RATE 0.03 · EXCHANGE_TAX_RATE 0.02)

OR-PLATINE (OR-Platinum)

L'étiquette définitive posée sur un élément dont la qualité a été mesurée au-dessus de 0,75 et dont l'origine est prouvée : une fois posée, elle ne se retire pas.

output du système (les sorties) — Les endroits où l'on dépense à l'intérieur du système — caisse, échange, marchand, place de marché — ce qui fait que l'argent dépensé y revient.
La sortie transactionnelle de la circulation, « la pureté incorruptible » (Jonathan). ⛔ CE N'EST PAS UNE MONNAIE : « pureté incorruptible » est trois négations, et chacune disqualifie un solde — ni dilué (donc pas de balance fongible), ni contrefait (signature vérifiable), ni avili (ajout seul, état terminal). Ce qui porte ces trois propriétés est un ÉTAT TERMINAL SCELLÉ attaché à un objet nommé : `AtomNode.purification_state` et son grade. Le raffinat est la mesure ≥ 0,75 (PLATINUM_THRESHOLD), et il NE GRADUE PAS selon la portée — s'il en dépendait il serait relatif, donc diluable. Refus explicite d'en faire un actif minté : un actif transférable est diluable, donc corruptible par construction. L'UR sort et revient ; l'or-platine sort et ne revient jamais — c'est le sédiment du raffinage.
Les noms de métaux font croire à une seconde monnaie qu'on accumulerait, ou à un stock quelque part. Ce n'est pas une quantité : c'est un état attaché à un objet nommé — il ne se transfère pas, ne s'additionne pas, ne se divise pas. Trois précisions que la glose seule laisse passer : une mesure sans origine prouvée est REFUSÉE (une rumeur n'est pas un raffinat) ; une mesure trop faible n'est pas rejetée, elle se dépose plus bas ; et un élément sans aucune mesure reste en attente — s'abstenir n'est pas condamner. ⚑ Voir aussi le double sens de « les sorties ».
backend/app/services/purification_rules.py:357-360 (GRADE_RAFFINAT) · :777-782 (est_raffinat) · backend/app/services/babel/bridge_proposer.py:75 (PLATINUM_THRESHOLD 0.75) · backend/app/services/purification_service.py:1-15 · memory/or-platine-porte-du-raffinat.md

Pierre Philosophale

registre spirituel

Un compteur qui retient 1 % de chaque cycle complet d'atelier et qui, à 100 %, déclenche une prime dont le montant suit la suite de Fibonacci.

Compteur de l'atelier : chaque transmutation complète verse 1 % de sa production en Pierre Philosophale (`pierrePhilosophale += output * 0.01`). Le pont accumule jusqu'à 1,0, puis publie `forge.pierre.philosophale`, incrémente le compte de complétions, remet l'accumulateur à zéro, et attribue une prime en UR COIN dont le montant suit la suite de Fibonacci selon le rang de la complétion. Le consommateur serveur y est abonné et frappe sous le motif `pierre_philosophale_completion_{n}`.
Le nom promet un objet unique et précieux, obtenu une fois. C'est un compteur cyclique : il se remet à zéro à chaque palier et redémarre. Et il vit dans la mémoire de la page — il disparaît à la fermeture de l'onglet, sans jamais rien enregistrer. Le serveur, lui, refuse nommément de recevoir son annonce, parce que le montant de la prime serait fourni par l'appelant : la porte fermée est une garde, pas une panne.
frontend/js/forge-alchemy.js:631 · :1289 · frontend/js/forge-energy-bridge.js:132-157 · backend/app/services/babel/forge_energy_consumer.py:56 · :331 · :373

amorçage à seuil

La seule avance accordée : une somme versée pour franchir le coût de démarrage d'un gros projet, sans échéance et sans rien à rembourser, qui se referme dès que le projet produit.

`amorcage_seuil` — LA SEULE AVANCE qui existe au canon (arbitrage Jonathan 2026-07-28) : « l'abondance est un droit de naissance », donc pas d'avance personnelle ; seuls les grands projets ont besoin de plus que ce que le porteur possède, et même là il génère en créant. Une avance n'est donc pas un pari sur un remboursement mais un FRANCHISSEMENT DE SEUIL : ni échéance ni créance, une CIBLE, et une fermeture quand la chaîne tourne (`AMORCAGE_A_UNE_CIBLE`). Elle passe par une porte stricte (`MODES_A_PORTE_STRICTE`). Trois états, pas un de plus — OUVERT, ATTEINT, ÉPUISÉ : l'épuisé n'est ni une dette ni une faute, c'est une LIBÉRATION (le seuil retourne au commun, le porteur ne doit rien). Le livre des amorçages est un registre PUBLIC sans pénalité, sans score, sans conséquence automatique : un miroir, pas un juge.
Ça se lit comme un prêt sans intérêt, avec un porteur qui « doit » quelque chose. Il n'y a ni créancier, ni échéance, ni examen de solvabilité — et si le projet ne démarre jamais, l'avance est déclarée « épuisée », ce qui LIBÈRE le porteur au lieu de le mettre en défaut. Le troisième état n'est pas une indulgence : sans lui, un seuil inatteignable resterait ouvert pour toujours. Et le registre public qui l'accompagne n'inflige rien : il est efficace précisément parce qu'il ne punit pas.
backend/app/services/economy/financing_doctrine.py:40 · :45-80 · :113 · :152 · backend/app/services/economy/livre_amorcages.py:1-56 · memory/economie-deux-volets-alchimie-minage.md

4 · Gouvernance, covenant, justice, securite — lexique a deux registres (nom canon double par une glose, jamais remplace)

Tout a ete relu a la source dans l'arbre de travail (lecture seule, aucun commit), le 2026-10-03, sur la branche integration/fondateur-p0. Ce que j'ai lu moi-meme : backend/app/services/{contract_engine,aip_seal_service,membrane_service,covenant_persistence}.py, backend/app/services/knowledge_gate/porte.py, backend/app/services/auth/auth_service.py (210-215, 300-325), backend/app/routers/{covenant,checkpoints,membrane}.py, backend/app/core/{engagement,agent_mandate,bus_acl,refus_publics}.py, backend/app/services/event_bus.py (505-560), backend/app/models/covenant_contract.py, backend/alembic/versions/v82_263_prise_information_initiale.py, agents/core/keli.js, scripts/audit_quaternite_cardinale.py, CLAUDE.md (263-276), et 5 fiches du corpus de memoire. PLANCHERS A DIRE : (1) les numeros de ligne sont ceux de l'ARBRE DE TRAVAIL, non du commit — 300+ fichiers backend sont modifies non commites dans ce statut git, donc une ligne peut avoir bouge au commit ; (2) je n'ai PAS execute les gardes citees (audit_quaternite_cardinale.py, audit_premiere_page_ne_ment_pas.py) : je ne les declare donc ni vertes ni rouges, je rapporte seulement ce que leur en-tete dit d'elles-memes ; (3) les comptes repris des sources (1114/1120 modules sans keli, 510 portes / 301 trous / 0 fenetre, 205 des 371 routeurs, 429/448 tables vides) sont CITES, pas re-mesures par moi ; (4) je n'ai interroge aucune base de donnees — aucune affirmation ici ne porte sur l'etat de la production ; (5) « octroi » et « fenetre » ont une definition sourcee mais PAS de mecanisme identifie dans le code : les gloses disent la regle, pas un etat bati, et les pieges le disent. (6) Deux homonymies etaient dans la liste de termes recue sous un seul nom (porte) : j'ai rendu DEUX entrees, conformement a la regle.

covenant

L'entente qu'une personne accepte en entrant, qui fixe ce que le systeme peut faire avec elle et sert de reference a tous les accords qui viennent apres.

Premier maillon d'une chaine d'autorite : l'entente d'entree INDIVIDUELLE entre une personne et le systeme, tripartite dans sa portee (individu ↔ chaque communaute ↔ civilisation). ⚠ Corrige le 2026-09-01 : le covenant n'est PAS la table multilaterale ou plusieurs souverains negocient — celle-la est `contract_engine`. L'enregistrement vit dans `covenant_runtime_records` (store_name, record_id, covenant_id, soul_id, tier, status, seal_hash, payload).
On la prend pour le contrat ou plusieurs parties negocient : elle est INDIVIDUELLE, les accords a plusieurs se font dans un autre module. Et le routeur /api/v2/covenant se declare lui-meme « explicitly unsealed legacy » : ce n'est pas lui qui prouve une acceptation, c'est le registre d'authentification.
memory/covenant-tripartite-et-grande-respiration.md (enonce Jonathan 2026-08-31 + correction 2026-09-01) ; backend/app/models/covenant_contract.py:15-45 ; backend/app/routers/covenant.py:1-20

contract_engine

Le module qui tient les accords entre plusieurs parties : ce qui est du, quand, combien, l'argent retenu jusqu'a livraison, et quoi faire en cas de desaccord.

Moteur de contrats pour le travail, les services, les projets et les echanges. 6 types : work, service, project, exchange, lease, partnership. Cycle de vie DRAFT → PROPOSED → NEGOTIATING → SIGNED → ACTIVE → COMPLETED | TERMINATED. Tout contrat porte : parties, termes (livrables, delais, paiement, penalites), sequestre par jalon, resolution de litige (mediation → arbitrage → gouvernance), impact sur le registre de confiance.
Son nom fait penser a de la blockchain : c'est du code serveur ordinaire. Et il ne remplace pas l'entente d'entree individuelle — il s'appuie dessus, il vient apres.
backend/app/services/contract_engine.py:1-35

consentement

Dire oui, ici, ce n'est pas cocher une case : c'est aller au bout de la suite d'etapes d'entree, et le systeme garde une empreinte qui prouve que cette personne a accepte ce texte-la, dans cette version-la.

⛔ TRANCHE par Jonathan le 2026-10-01, ne jamais redemander : le consentement vit DANS le covenant. La forme trouvee dans la doctrine du depot : « L'obligation est portee par le RITE (le schema d'entree refuse un champ vide), pas par la colonne. Jonathan a tranche que le rite se mene EN ENTIER et que l'ame est frappee AU SCEAU. » Consentir n'est donc pas poser un booleen.
Chercher le mot « consentement » dans le code ne trouve rien — aucune table ne porte ce nom, et conclure a son absence pour cette raison est l'erreur exacte qui a ete payee le 2026-10-01. La chose existe sous d'autres noms. Ce qui manque reellement n'est pas le registre, c'est le joint qui va le lire.
memory/trois-tranches-consentement-point0-s9-octroi.md §1 ; backend/alembic/versions/v82_263_prise_information_initiale.py:38-40

rite

registre spirituel

Une suite d'etapes qu'on mene jusqu'au bout, et c'est l'ecran d'entree qui refuse d'avancer si une etape manque — pas la base de donnees.

La suite d'etapes d'entree dont le schema refuse un champ vide : « TOUTES NULLABLE, ET C'EST VOULU MALGRE LA DECISION obligatoires. [...] L'obligation est donc portee par le RITE (le schema d'entree refuse un champ vide), pas par la colonne. » Second emploi, distinct : les rites d'enfant a 7/13/17/21 ans, chaque age debloquant un palier de souverainete, allumes par la date de naissance.
Deux choses portent ce nom : la prise d'information initiale, et les paliers d'age d'un enfant. Et la base de donnees, elle, accepte des champs vides : seul l'ecran d'entree oblige, donc une ligne arrivee par un autre chemin peut etre incomplete sans que rien ne proteste.
backend/alembic/versions/v82_263_prise_information_initiale.py:36-42 ; backend/app/routers/covenant.py:9 et 420-436

octroi

Celui qui a cree une donnee est celui qui donne l'acces dessus, un acces a la fois.

⛔ TRANCHE par Jonathan le 2026-10-01 : « l'invite peut etre donner acces, c'est au createur de donnee les acces je crois ». Ni appartenance automatique (etre dans la liste d'invites ne suffit pas), ni acces public : un modele d'octroi, ou le createur donne l'acces sur sa propre donnee. ⚠ Reste explicitement a trancher : la granularite des droits octroyes (lire / noter / annuler / re-octroyer) et la revocabilite.
Figurer sur une liste d'invites ne donne rien du tout : la liste est enregistree et renvoyee, mais aucune decision d'acces ne la lit (backend/app/routers/meetings.py:559-590 ne compare que le createur). L'octroi est tranche comme MODELE ; le mecanisme qui le porterait n'est pas encore identifie dans le depot. Et un octroi dont on ne sait pas s'il est revocable n'est pas encore un octroi complet.
memory/trois-tranches-consentement-point0-s9-octroi.md §3

AgentMandate (mandat)

Un papier signe qui dit a un agent ce qu'il a le droit de faire, dans quelles limites, avec quelle preuve a rapporter et jusqu'a quelle date — et qui ne donne jamais le droit de lire, seulement d'agir.

« Le droit d'AGIR d'une instance vivante ». Ratifie le 2026-08-24, 4 clauses : E1 un mandat n'est JAMAIS un passeport de donnees, et une note de capacite ne peut jamais satisfaire `agent_instance_ref` ; E2 les champs objectif / perimetre / interdits / preuve_exigee / contrat_retour, plus `entree_falsifiante` et `expires_at` qui manquaient aux 8 passations manuelles, sont OBLIGATOIRES ; E3 le statut est DERIVE jamais declare (un payload qui declare son statut est refuse comme fabrication) ; E4 schema + validateur PURS, aucune activation.
Le droit d'agir et le droit de lire sont deux objets separes : les fusionner transformerait silencieusement l'un en l'autre. Le mandat ne porte pas son etat — actif, expire, revoque sont recalcules a la lecture, et un mandat qui annonce lui-meme son etat est rejete. Enfin ce fichier verifie des mandats, il n'en execute aucun.
backend/app/core/agent_mandate.py:1-30 et 158-185

sceau (sceau serveur AIP, Ed25519)

Une marque que seul le serveur peut apposer et que n'importe qui peut verifier, parce que la moitie qui verifie est publique et la moitie qui signe ne quitte jamais le serveur.

covenant — L'entente qu'une personne accepte en entrant, qui fixe ce que le systeme peut faire avec elle et sert de reference a tous les accords qui viennent apres.seal_hash (covenant legacy) — Une empreinte rangee a cote d'une acceptation, qui permet plus tard de dire : oui, cette personne a bien accepte ce texte-la, dans cette version-la.
Signature Ed25519 emise par le SERVEUR, cle privee jamais exposee (`ATOM_SEAL_PRIVATE_KEY`, identite de signeur propre au serveur `ATOM_SEAL_SIGNER_ID`). La cle publique est inscrite au registre `aip_key_registry` : n'importe qui verifie, personne ne forge. La verification prend la cle DANS LE REGISTRE, jamais dans l'objet verifie. Fail-close : sans cle privee, `seal()` rend `None` — jamais un faux cypher ; le frontend marque alors `unsigned`. Portee dite franchement : « le sceau atteste l'origine et l'integrite, pas une autorisation d'agir ».
Elle prouve qui a emis et que le contenu n'a pas bouge — elle n'autorise rien a agir. Le serveur detenant la cle, un serveur compromis peut sceller : ce compromis est assume dans le fichier, pas masque. Et sans cle configuree, rien n'est scelle du tout : l'absence de marque est un etat normal, pas une panne.
backend/app/services/aip_seal_service.py:1-45 et 158

seal_hash (covenant legacy)

Une empreinte rangee a cote d'une acceptation, qui permet plus tard de dire : oui, cette personne a bien accepte ce texte-la, dans cette version-la.

sceau (sceau serveur AIP, Ed25519) — Une marque que seul le serveur peut apposer et que n'importe qui peut verifier, parce que la moitie qui verifie est publique et la moitie qui signe ne quitte…
Colonne `String(64)` nullable de `covenant_runtime_records`, indexee. DEUX comportements sous un seul nom : (a) cote authentification, l'empreinte est reellement calculee — sha256(identity_id | version du pacte | empreinte du document | acceptation:user_id) — puis re-verifiee en comparaison a temps constant, rendant `proof_status: prouvable | non_prouvable` avec une raison nommee ; (b) cote routeur covenant, elle est renvoyee a `None`, le fichier declarant servir des instantanes « explicitly unsealed legacy » et precisant que « the modulo-361 value is a legacy checksum, never an integrity proof ».
Meme champ, deux verites : d'un cote il est calcule et re-verifie, il prouve ; de l'autre il est renvoye vide et le fichier le dit lui-meme. Voir le champ ne signifie donc PAS que quelque chose est prouve — il faut regarder qui l'a ecrit. C'est aussi une empreinte, pas une signature : elle ne dit pas qui l'a posee.
backend/app/models/covenant_contract.py:29 ; backend/app/services/auth/auth_service.py:210-215 et 300-325 ; backend/app/routers/covenant.py:14-18, 251, 331

checkpoint

Un arret qui bloque une action sensible jusqu'a ce qu'une personne identifiee dise explicitement oui, non ou annule — sinon l'action expire sans se faire.

« Human governance checkpoints block sensitive actions until the authenticated identity explicitly approves, rejects, cancels, escalates, or lets them expire. The durable decision register is the database. The in-memory index is only a post-commit cache: it must never be served as if it were the decision record. » Sans base : refus nomme 503 `checkpoint_storage_unavailable`.
La decision semble vivre a deux endroits, la base et un index en memoire : seule la base compte, l'index n'est qu'une copie posterieure et ne doit jamais etre servi comme si c'etait la decision. Et « bloque » veut dire que sans registre durable le point d'arret REFUSE, au lieu d'approuver dans le vide.
backend/app/routers/checkpoints.py:1-8 et 40-41

fail-close

Quand l'outil ne peut pas faire le travail pour de vrai, il refuse et dit pourquoi, au lieu de repondre « c'est fait ».

La regle du canon : « Ce qui ENGAGE [...] est en base, ou l'operation echoue (fail-close). Un refus honnete avec sa raison vaut infiniment mieux qu'une fausse confirmation. · Ce qui ne fait que LIRE peut se degrader — a condition de dire qu'il est degrade. Une donnee absente s'affiche absente, avec sa raison. · Jamais un repli silencieux qui ressemble a un succes. » Applique en code, p. ex. « Une garde de securite qui ne peut pas prouver refuse ; elle ne bluffe pas. »
Ce n'est pas « tout doit refuser » : ce qui se contente de lire a le droit de se degrader, a condition d'annoncer qu'il est degrade. Le defaut vise est le refus deguise en succes, jamais la degradation avouee. Un lecteur qui n'aurait que la glose en ferait une regle de rigidite generale, et elle ne l'est pas.
CLAUDE.md:268-273 ; backend/app/services/aip_seal_service.py:38-44

porte

Un passage qu'on traverse vraiment : il faut une permission pour le franchir, et il laisse une trace de ce qui est passe.

porte (Porte de la Connaissance, knowledge_gate/porte.py) — Elle decide combien d'un document on montre a quelqu'un — de rien du tout jusqu'au texte complet — en six crans, et par defaut elle ne montre rien.
Pose par Jonathan le 2026-09-03 : « PORTE — on franchit. Acte ou transfert durable. Exige une autorisation et produit un recu. » Les deux directions sont jugees separement : une relation bilaterale n'implique pas des droits symetriques. Un seul mecanisme a quatre echelles — pieces, points 0, layers, systemes — chacune deja batie sous un autre nom.
Une porte ouverte dans un sens n'est pas ouverte dans l'autre — chaque direction se juge a part. Et le mot est deja pris par un module de code qui ne fait pas cela du tout : `knowledge_gate/porte.py` gradue ce qu'on AFFICHE, rien n'y est franchi.
memory/portes-fenetres-un-mecanisme-quatre-echelles.md

porte (Porte de la Connaissance, knowledge_gate/porte.py)

Elle decide combien d'un document on montre a quelqu'un — de rien du tout jusqu'au texte complet — en six crans, et par defaut elle ne montre rien.

porte — Un passage qu'on traverse vraiment : il faut une permission pour le franchir, et il laisse une trace de ce qui est passe.fenetre — Une vue sur ce qui se passe ailleurs : on voit, on ne prend rien, et rien ne change de main.
« Le coeur PUR de la Porte de la Connaissance. `reveal(criteres AUTO-DECLARES, engagement MESURE) → palier`, fail-close a LATENT. » Six paliers emboites : LATENT 0 (rien, existence non confirmee) · EXISTENCE 1 · METADATA 2 · LECTURE_RECUE 3 · LECTURE_RESTAUREE 4 · DECODAGE 5 (local uniquement). « La metadonnee n'est jamais gatee — seul le contenu se merite. » Ne jamais lever sur donnee manquante : redescendre d'un palier.
Malgre le nom, rien ne s'y franchit : ce n'est pas un passage entre deux endroits, c'est le niveau de detail affiche qui change. Et son cran par defaut est « rien », y compris quand une information lui manque : elle redescend au lieu de planter, donc un affichage vide peut vouloir dire « pas encore permis » et non « rien n'existe ».
backend/app/services/knowledge_gate/porte.py:1-18 et 36-52

fenetre

Une vue sur ce qui se passe ailleurs : on voit, on ne prend rien, et rien ne change de main.

Pose par Jonathan le 2026-09-03 : « FENETRE — on regarde sans passer. Projection derivee ; rien ne change de proprietaire. » ⚠ Mesure consignee dans la meme fiche : `data/urbanisme/anatomie-lieux-stages-2026-07-15.json` porte 510 portes de forme {entre, garde_actuelle, trou} dont 301 trous (59 %) et ZERO champ fenetre ; et le catalogue canon des relations (`hf-atom-tools/atom_canon/primitives/relation_kind.py:50-84`) porte direction, topologie, lectures, merit_gated, consenti — mais PAS de champ `mode = fenetre | porte`.
Le mot est pose comme regle mais n'existe pas comme champ : les donnees de lieux comptent 510 portes et aucune fenetre, et le catalogue des relations n'a aucun moyen de distinguer les deux. Dire « c'est une fenetre » decrit donc une intention, pas un etat du code. ⚠ Et regarder n'est pas toujours gratuit : une fenetre peut exiger un accord, une porte peut ne rien exiger — les deux axes sont independants.
memory/portes-fenetres-un-mecanisme-quatre-echelles.md

garde

Un controle pose sur le chemin d'une action, qui la laisse passer ou la refuse.

Un controle place sur le chemin d'un geste, qui l'autorise ou le refuse. Statut canon : « L'ACL est une garde OBLIGATOIRE, pas une integration optionnelle. » ⚑ Loi du 2026-10-02 : une garde peut cesser de proteger sans que personne ne l'ait affaiblie ni contournee — trois mecanismes mesures le meme jour : ① ENSEVELIE (sa garde etait la visibilite d'un diff : CODES_5XX_PUBLIABLES 1 → 55, sous 406 fichiers non relus) · ② INATTEIGNABLE (un refus legitime arrive AVANT le chemin qu'elle gardait : ~38 bancs rouges) · ③ GAREE SANS DATE (xfail strict + raison, aucune echeance : 5 cas). La forme complete d'une dette visible : strict + une RAISON + une DATE DE REVUE.
Une garde peut arreter de proteger sans que personne ne l'ait touchee : enterree sous trop de fichiers pour etre relue, rendue inatteignable parce qu'un autre refus arrive avant elle, ou mise de cote dans un test « connu rouge » sans date de retour. Chercher si on l'a affaiblie ne la trouve pas — il faut verifier qu'elle tourne encore, et une garde jamais lancee ne se declare jamais verte.
memory/garde-par-visibilite-ensevelie-sous-le-tas.md ; backend/app/core/bus_acl.py:10-12 ; backend/app/services/event_bus.py:521-522

membrane (membrane lisible, S9)

registre spirituel

Elle decide, pour chaque lecture, si la personne peut voir la chose maintenant, pas encore, ou jamais — et elle ne rend pas un simple oui/non : elle dit lequel des trois.

MONDES — La liste fermée des sept espaces où une chose peut avoir une adresse, et deux façons d'écrire le même nom y comptent pour deux espaces différents.membrane (routeur /api/v1/membrane — passages entre les 3 mondes) — Elle enregistre les transferts d'un contenu d'un espace vers un autre — du prive au collectif, du collectif au public — et permet de les annuler.
« L'organe qui decide si une lecture/action PASSE [...] ou gestationne encore. Ce n'est PAS un RBAC allow/deny : c'est la permeabilite par merite x localisation. » Croise 5 axes qui ne se remplacent jamais : localisation (indiv/commu/civ) · identite (le proprietaire ou son « TOI augmente ») · womb_depth (regle une presentation personnelle, n'accorde jamais un pouvoir d'operer) · engagement_level (vient du principal signe, n'ouvre aucun womb) · role (les ecritures exigent en plus un role porteur). Trois verdicts : `permeable` (passe) · `gestating` (pas encore, un pas-encore et non un refus) · `sealed` (l'indiv d'autrui, souverainete inviolable). Traduits en presentations : ouvert · visible_eteint · absent.
« Pas encore » n'est pas « non » : ce verdict veut dire que la chose se verra plus tard, et il doit s'afficher visible mais eteint, pas disparaitre ; le troisieme, lui, fait disparaitre. Confondre les deux cache ce qui devait se voir, ou montre ce qui appartient a quelqu'un d'autre. Et cinq criteres entrent : un seul ne suffit jamais, et avancer dans son cheminement personnel n'a jamais donne le droit d'operer.
backend/app/services/membrane_service.py:1-30 et 164-190

membrane (routeur /api/v1/membrane — passages entre les 3 mondes)

Elle enregistre les transferts d'un contenu d'un espace vers un autre — du prive au collectif, du collectif au public — et permet de les annuler.

membrane (membrane lisible, S9) — Elle decide, pour chaque lecture, si la personne peut voir la chose maintenant, pas encore, ou jamais — et elle ne rend pas un simple oui/non : elle dit…
« API pour gerer les passages membrane entre mondes. » Les 3 mondes : Mon Monde (111 Hz) prive souverain · Notre Monde (444 Hz) collectif democratique · Le Monde (999 Hz) public ouvert. Distinction posee dans l'en-tete : « Navigation = Lentille (toggle de vue, pas de transfert) / Transfert = Membrane permeable (filtrage intentionnel) ». Endpoints : creer, lister, detailler, revoquer, forcer la synchronisation d'un passage.
Changer de vue n'est pas transferer : regarder un autre espace ne deplace rien, seul un passage deplace quelque chose. Et malgre le nom identique, ce n'est PAS l'organe qui decide ce qu'une personne a le droit de lire — c'est l'autre membrane. Deux fichiers, un seul mot.
backend/app/routers/membrane.py:1-40

engagement (niveaux d'engagement citoyen)

Quatre paliers de responsabilite choisis librement : plus on en prend, plus on peut poser de gestes qui touchent le collectif.

Quatre niveaux ordonnes (IntEnum, comparaison par >=) : 1 OBSERVATEUR (rejoint, utilise les services de base) · 2 PARTICIPANT (vote, contribue, voix ecoutee) · 3 CONTRIBUTEUR (apporte ses competences, mentore, siege aux cercles) · 4 GARDIEN (protege l'integrite, valide les decisions majeures). « Chacun choisit son niveau. Aucune coercition. Plus de responsabilite = plus d'influence (merite, pas achete). » Discipline : « Le niveau se LIT du JWT signe (claim roles), il ne s'impose jamais » ; plusieurs roles → le niveau le PLUS ELEVE ; un citoyen sans role est Observateur, « l'etat par defaut, souverain, jamais puni » ; « Pas de terme inverse : refuser un geste ne degrade jamais l'Observateur, ne le classe pas publiquement. »
Le palier n'est pas attribue par ce controle : il est LU dans le jeton de connexion, jamais decide la. N'avoir aucun palier n'est pas une sanction mais l'etat normal de depart, qui donne acces aux services de base — et un refus ne degrade personne ni ne se publie. Enfin ce palier ne donne acces a rien de personnel : le cheminement interieur de quelqu'un se mesure sur un axe separe, et les deux ne s'achetent pas l'un l'autre.
backend/app/core/engagement.py:1-60

ce qui ENGAGE (regle fail-close)

La liste courte des choses qui creent un droit ou une obligation — argent, vote, appartenance, accord, marque d'authenticite, transmission — et qui n'ont pas le droit de reussir sans etre ecrites pour de bon.

La liste canon, nommee : « Ce qui ENGAGE — monnaie, vote, appartenance, consentement, sceau, succession — est en base, ou l'operation echoue (fail-close). » Son pendant : « Ce qui ne fait que LIRE peut se degrader — a condition de dire qu'il est degrade. » Et : « Jamais un repli silencieux qui ressemble a un succes. » ⚠ Mesure du 2026-08-05 citee dans le meme passage : 205 des 371 routeurs importent `get_db_optional` — « un perimetre a TRIER (lesquels engagent, lesquels lisent), pas une cible a ramener a zero ».
Ce n'est pas la liste de tout ce qui est important : c'est la frontiere entre ce qui engage et ce qui se contente de lire. Et le chiffre de 205 routeurs est un ensemble A TRIER, pas un compte de defauts : le lire comme un nombre d'erreurs a ramener a zero trahit la regle, qui autorise explicitement la degradation avouee.
CLAUDE.md:268-276

ACL du bus

Un filtre sur les messages internes : ceux qui peuvent bouger de l'argent, un vote ou la securite ne sont acceptes que d'un emetteur reconnu.

« La serrure commune du systeme nerveux AT·OM » (trou #57). Garde par PREFIXE de topic : un topic privilegie — celui qui declenche une action reelle sur la valeur (`economy.*`, `treasury.*`, `credit.*`), le pouvoir (`governance.vote*`), la securite (`immune.threat*`, `canon.seal*`) ou la frappe (`*.energy.generated`) — n'est emis que par une source de confiance. Deux modes : OBSERVE par defaut (journalise les violations sans rien bloquer, pour batir l'allowlist), ENFORCE via `BUS_ACL_ENFORCE=1`. Exception : « les topics exacts dont le rayon monetaire est mesure sont TOUJOURS fail-close ». Un refus marque l'evenement `status=red` et rend `blocked: true` avec `block_reason`. « Un ImportError provenant de sa decision ne doit jamais etre avale puis transforme en appel de handlers (fail-open). » « La garde protege les GESTES, pas les personnes. »
Par defaut elle ne bloque presque rien — elle NOTE les violations sans les empecher, sauf une courte liste qui refuse toujours. Croire que le filtre protege partout parce que le code existe serait faux : il faut regarder l'interrupteur. Et la vaste majorite des messages passe librement, c'est voulu, pas un oubli.
backend/app/core/bus_acl.py:1-40 ; backend/app/services/event_bus.py:518-541

quaternite cardinale

registre spirituel

Les quatre points de vue qu'un module doit declarer pour etre pilotable : quatre, jamais trois.

Quatre poles, jamais trois : Aria · Nova · Orion · Keli. ⚑ Corrige le 2026-08-26 : le gabarit OBLIGATOIRE `ORCHESTRATOR_GUIDE` annoncait TROIS cles pendant que la quaternite en compte quatre — « le gabarit ETAIT le vecteur : le suivre a la lettre fabriquait mecaniquement une quaternite a trois poles », 1114 des 1120 modules mesures sans `keli`. ⚠ Aucun backfill de masse : « on ne backfille pas les 1057 [...] ce cliquet ne ferme rien derriere — il refuse que le tas grossisse devant » ; tout module neuf ou modifie porte les quatre. Loi derivee (grammaire des arites) : « une arite declaree au canon doit etre COMPLETE dans le gabarit qui la reproduit. Un gabarit obligatoire incomplet ne produit pas des oublis — il produit une contrefacon, a l'echelle. »
Le quatrieme manque dans presque tous les modules existants, et ce n'est pas de la negligence : le modele a recopier en annoncait trois. On ne corrige pas les anciens en masse — la regle ne vaut que pour ce qu'on ecrit ou modifie maintenant. Et chercher le mot « keli » dans un fichier ne prouve rien : il apparait dans des commentaires et des listes de chargement, il faut qu'il soit une cle du guide.
CLAUDE.md, section « JS Module 4 Patterns » §4 ORCHESTRATOR_GUIDE ; scripts/audit_quaternite_cardinale.py:1-45

Keli

Le quatrieme interlocuteur : celui qui tient le cote intime et verifie qu'une decision respecte les regles du projet avant qu'elle passe.

Le 4e cardinal. `id: 'keli'`, `role: 'intime + canon validation'`, `hz_canon: 999`, `discipline_flag: 'eta_stricte'`, `canon_level: 'CANON_FORT'`. Motif anti-concentration (Mahabodhi, 4 trones). Aligne avec la quaternite canon V2 : Aria onboarding 528 Hz / Nova overseer 999 Hz / Orion architecte 741 Hz / Keli intime + validation canon 999 Hz. Charge par `governance-init.js:500` ; publie notamment `sovereignty.proposal.voted`.
C'est un point d'entree de conversation, pas un service de securite : « valider » veut dire ici « conforme aux regles du projet », et cela ne remplace aucun controle technique. Son absence de la quasi-totalite des modules existants est la regle du moment, pas l'exception.
agents/core/keli.js:1-40 ; scripts/audit_quaternite_cardinale.py:7-11

5 · Vocabulaire symbolique (a) et vocabulaire de la mesure (b) — lexique à deux registres : nom canon conservé, glose simple ajoutée à côté

PLANCHER DÉCLARÉ de ce lexique — ce qu'il ne voit pas, nommément. (1) 33 entrées rendues sur les 33 termes demandés ; aucune n'a été écartée pour défaut de source, mais trois termes RENCONTRÉS en chemin sont non établis et listés dans `termes_ecartes`. (2) Règle de sourçage : chemin:ligne relu dans l'arbre de travail au 2026-10-03, branche `integration/fondateur-p0` — PAS au commit. Un arbre de travail porte 300+ fichiers modifiés : les numéros de ligne cités peuvent avoir bougé d'une à deux lignes par rapport à `HEAD`, et toute citation doit être re-vérifiée avant publication d'une planche. (3) Deux sources sont des fichiers de MÉMOIRE et non du code (`memory/armure-15d-cercle-completude.md` pour « Bouclier », `memory/temples-batteries-flux.md` pour le canon dur des rôles d'énergie) : la définition y est tenue, l'ancre code exacte n'a pas été relue ligne par ligne dans cette passe. (4) Périmètre fouillé pour les « zéro appelant » cités de seconde main : celui annoncé par le document d'origine, jamais re-mesuré ici — `backend/` porte DEUX arbres et un audit limité à `app/` rend un faux zéro. (5) Non fouillé du tout : `transit/`, `archives/`, `incoming/`, les 19 répertoires pré-V80 — les occurrences qui n'existent QUE là n'ont pas été retenues comme canon. (6) La liste des homonymes n'est pas exhaustive : elle rend ceux rencontrés (deux étoiles, deux Semences, deux Metatron, trois planchers, deux listes Solfeggio, deux Djed), pas ceux qui dorment ailleurs. (7) Les gloses sont des POIGNÉES de lecture : aucune ne remplace son nom canon, et aucune n'a autorité contre la source citée.

armure 15D

Elle réunit quinze mesures d'un compte en une seule empreinte, et vérifie à chaque passage qu'aucune n'a bougé.

Armure Quantique 15 Dimensions (version navigateur) — C'est l'affichage à l'écran qui dessine les quinze dimensions et en tire une note de protection.
Cinq triades de trois dimensions (15 au total) compilées en un vecteur d'engagement + complétude + cohérence, scellé par `armure_15d_snapshot_hash` ; la base porte l'invariant en CHECK : `dimensions_count + dims_missing_count = 15`. La triade la plus profonde, `source`, est `core_111 · core_444 · core_999` — exactement les fréquences des trois portées.
Elle prouve que les mêmes attaches sont intactes, JAMAIS que c'est la même personne : lire « ça correspond » comme « c'est bien lui » est l'erreur que le dépôt nomme explicitement. Et elle relie les trois échelles par la FRÉQUENCE, jamais par leur nom — aucune ligne du dépôt ne fait correspondre 111 au personnel, 444 au communautaire, 999 au civilisationnel.
backend/app/services/dimensions_15.py:25-43 ; backend/app/services/fractal_dimensions.py:125 (`ingest_to_commitment`) ; memory/armure-15d-unit-les-layers-par-le-hz.md:12-31

Armure Quantique 15 Dimensions (version navigateur)

registre spirituel

C'est l'affichage à l'écran qui dessine les quinze dimensions et en tire une note de protection.

armure 15D — Elle réunit quinze mesures d'un compte en une seule empreinte, et vérifie à chaque passage qu'aucune n'a bougé.
`frontend/js/dimensional-armor.js` — module navigateur d'environ 1300 lignes, cadence 450 ms, « 15D × 31 points armure quantique », avec des niveaux de bouclier et un « Score Bouclier » affichés. Le titre de nœud du dépôt l'appelle « AT·OM DIMENSIONAL ARMOR — Armure Quantique 15 Dimensions ».
Même nom, autre chose : la version serveur CALCULE et SCELLE une empreinte, celle-ci DESSINE et NOTE — une note à l'écran n'est pas une garde. Et « quantique » est ici un mot d'image : le dépôt écrit lui-même que c'est « un opérateur de design, non un dispositif physique ».
frontend/js/dimensional-armor.js:130,556 ; docs/ATOM_SESSION_SPECS_APRIL15_2026.md:149 ; leaf-flows/nodes.json:29830

Bouclier

C'est la part qui surveille : elle compare une empreinte à la précédente et signale un changement suspect, sans rien bloquer.

La moitié qui GARDE de l'ensemble épée/bouclier branché sur l'armure : `armure_sentinel.py` compare l'empreinte courante à la précédente, mesure l'écart, le classe, et sur substitution du noyau publie `immune.threat.detected`. Doctrine écrite : « on expose, on ne frappe pas » — jamais `immune.quarantine` — et la garde ne bloque jamais. Le discriminateur de sévérité évite de frapper le vrai porteur qui ajoute seulement une attache.
Il n'a PAS le droit de frapper, seulement de signaler : attendre de lui qu'il ferme une porte est une erreur de rôle. Et « Bouclier » nomme ailleurs un simple score affiché (`dimensional-armor.js:556`) et une couche d'un noyau de sentinelle (`binary-star-sentry-kernel.js:517`) — trois choses sous un mot.
memory/armure-15d-cercle-completude.md:10,26 (Phase 2) ; backend/app/services/armure_sentinel.py

bouclier de gravure

Il empêche qu'un détail de lecture fasse échouer l'inscription, tout en écrivant noir sur blanc ce qui a mal tourné.

`_cellule_pour_evenement` — le seul `except` du chemin de gravure, et son rôle est entier : il ne lève JAMAIS, rend TOUJOURS un dictionnaire (`mesure=True` + coordonnées, ou `mesure=False` + code de raison), convertit toute panne inattendue en `raison=refus_inattendu` avec le type et le message de l'exception, et journalise la trace complète. « Le bouclier, jamais le silence. »
Ce n'est pas un `except` qui cache l'erreur : dans ce même fichier, avaler un refus est interdit, et ce qui n'est pas un refus nommé doit remonter. Ici — et ici SEULEMENT — on l'attrape, à condition de le NOMMER. Lire cette exception comme une permission générale autorise le silence partout.
backend/app/services/ionisation_router.py:720-748 ; backend/tests/unit/test_ionisation_router_cellule.py:17-20

étoile

Une étoile, c'est une personne dans le système, et sa pétale est l'espace qui lui appartient en propre.

étoile (figure topologique des services) — C'est la forme que dessine le code quand on regarde qui appelle qui : presque tout passe par un seul point de passage.
ADR scellé du 2026-08-08, autorité A : les ÉTOILES sont les utilisateurs — « de son étoile à sa pétale » — une PÉTALE étant le Point 0 d'un utilisateur ; 6 pétales + 1 centre forment la Fleur de Vie.
Homonyme : l'autre « étoile » du dépôt désigne la forme du code, pas des gens. Et aucune étoile n'est née à ce jour — `node_registry_bootstrap.py:149` n'a aucun type de nœud pour une personne : « le ciel est monté, et il est vide ».
docs/adr/2026-08-08-etoile-petale-point-zero-fleur-de-vie.md ; memory/etoile-petale-yin-yang-tout-existe-deja.md (tableau « deux étoiles homonymes »)

étoile (figure topologique des services)

C'est la forme que dessine le code quand on regarde qui appelle qui : presque tout passe par un seul point de passage.

étoile — Une étoile, c'est une personne dans le système, et sa pétale est l'espace qui lui appartient en propre.
Mesure du 2026-08-29. Règle : `backend/app/services/**/*.py` récursif, `__init__` inclus = 846 modules ; arête = import statique lu par AST dans le même périmètre = 1050 arêtes, 0 échec de parse. La composante géante (490 modules, 57,9 %) tient par un seul moyeu, `event_bus` ; le retirer la casse en 442 + 14 morceaux. « Le corps n'a pas de squelette, il a un clocher. »
Rien à voir avec l'étoile qui désigne une personne. Et cette figure est un CONSTAT, pas un modèle à reproduire : le document la lit comme un défaut, parce que ce point de passage unique ignore à quelle échelle de relation le message circule — `publish()` porte onze paramètres et jamais l'échelle.
memory/figure-des-services-etoile-et-paroisses.md:15-24 ; docs/RELATIVITE-VUE-DE-LOIN-LA-FIGURE-DES-SERVICES-2026-08-29.md

pétale

Une pétale est l'espace propre d'une personne et, dans le code, le petit relais qui reçoit d'en haut puis transmet au module voisin.

Deux lectures tenues ensemble. (a) ADR 2026-08-08 : une pétale est le Point 0 d'un utilisateur, et les pétales s'emboîtent à travers les échelles DANS LES DEUX SENS (décision D7). (b) Code : `seal-petal-distributor.js`, son propre en-tête — « chaque Sceau d'Archange a sa propre mini-fleur (pétale) qui respire : Inspire = reçoit l'énergie stellaire du tunnel · Expire = distribue au module cible », « 5 pétales compacts sous le QG Solaire, comme des poumons de transit ».
La chaîne est écrite des deux côtés du bus et pourtant RIEN n'y circule : les quatre modules concernés ont zéro entrée de chargement. Et l'en-tête annonce des cibles que le code ne porte pas — le brancher tel quel allumerait un défaut au lieu d'en réparer un.
docs/adr/2026-08-08-etoile-petale-point-zero-fleur-de-vie.md ; frontend/js/seal-petal-distributor.js (en-tête, et :124) ; memory/chaine-etoile-petale-module-batie-et-jamais-chargee.md

Fleur de Vie

registre spirituel

Un motif de dix-neuf cercles emboîtés, six parts autour d'un centre, qui sert aussi de plan de répartition.

`SACRED_GEOMETRY.FLOWER_OF_LIFE` : « Le Modèle de l'Univers », 19 cercles interconnectés, `frequency: 666`, `arithmos: 6`, construction « extension de la Graine de Vie avec 12 cercles supplémentaires » ; contient Vesica Piscis, Seed of Life, Egg of Life, Fruit of Life. Côté urbanisme, le même nom désigne un organe : « Fleur de Vie = distribution économique → sa garde = celle du trésor ».
Deux choses sous un nom : le motif (un dessin et une fréquence) et un organe qui répartit de la valeur. Prendre l'ornement pour le circuit d'argent fait oublier que le second exige la garde du trésor.
frontend/js/cymatics-engine.js:102-111 ; backend/app/data/engines_data.py:290 ; data/urbanisme/anatomie-lieux-stages-2026-07-15.json:4078

Semence de Vie (SEED_OF_LIFE)

registre spirituel

Sept cercles de même taille, un au centre et six autour : le motif de départ dont les autres se déduisent.

Semence — Un des trois types de jetons d'un ancien registre d'émission, gardé pour ne pas casser ce qui existait.
`SACRED_GEOMETRY.SEED_OF_LIFE` — nom rendu « Graine de Vie », sens « Les 7 Jours de la Création » : 7 cercles interconnectés en motif hexagonal, construction « 6 cercles autour d'un cercle central, tous de même rayon », `frequency: 777`, `type: potential`.
Le dépôt l'écrit « Graine de Vie » dans le code et « semence de la vie » dans la parole — chercher le mot « semence » côté serveur ne le trouve pas, et c'est exactement comment une session a conclu à tort qu'il n'existait pas. Et ce n'est pas la « Semence » du trio d'émission, qui est une catégorie de jeton.
frontend/js/cymatics-engine.js:92-100 ; backend/app/data/engines_data.py:289

Semence

Un des trois types de jetons d'un ancien registre d'émission, gardé pour ne pas casser ce qui existait.

Semence de Vie (SEED_OF_LIFE) — Sept cercles de même taille, un au centre et six autour : le motif de départ dont les autres se déduisent.
Troisième terme d'un trio de registre d'émission historique, conservé tel quel pour compatibilité ascendante sous l'orchestrateur `nft_class_service` : « `nft_trinity` : Souche / Semence / Sentinelle (in-memory) ». Un topic `semence.planted` existe côté bus navigateur.
Rien de géométrique ici : la Graine de Vie est un motif à sept cercles, celle-ci est une catégorie de jeton. Et son registre est tenu « in-memory », donc en mémoire de processus : il ne survit pas à un redémarrage — pour une chose qui engage, c'est le défaut que le dépôt nomme genre 6.
backend/app/services/nft_class_service.py:18 ; frontend/tools/bus-coverage-result.json:35634

Metatron Assembler (l'Assembleur)

registre spirituel

La pièce qui rassemble les sorties des dix autres en un seul résultat.

cube de Metatron — Treize points tous reliés entre eux — soixante-dix-huit liens — d'où l'on tire les cinq formes de base.
Dans l'architecture « Rosetta Multi-Stone », le CERVEAU du corps : « BRAIN (Metatron Assembler) — Compiles all 10 stones », exposé par `POST /api/v2/rosetta/compile` (paramètre `require_tri`, vrai par défaut). Sous le même nom, « Cercle de Metatron » désigne ailleurs le périmètre de sécurité du village : intégrité affichée, `breach_count`, 13 gardiens visibles.
Deux organes sous ce nom, et le second ne fait pas ce qu'il promet : le périmètre « compte les brèches, ne bloque rien » — garde passive, observation sans riposte. Et ce n'est pas « l'Assembleur d'Espace » (`nexus-core.js:1266`), qui est encore autre chose.
backend/app/services/rosetta_stones.py:9 ; frontend/js/canon-rosetta-engine.js:19,513-516,557 ; data/urbanisme/anatomie-lieux-stages-2026-07-15.json:4488,3998

cube de Metatron

registre spirituel

Treize points tous reliés entre eux — soixante-dix-huit liens — d'où l'on tire les cinq formes de base.

Metatron Assembler (l'Assembleur) — La pièce qui rassemble les sorties des dix autres en un seul résultat.
`SACRED_GEOMETRY.METATRONS_CUBE` : « Le Conteneur de Toute Chose », 13 sommets, 78 lignes (toutes les connexions possibles entre 13 points), `frequency: 999`, `arithmos: 9` ; contient les cinq solides de Platon. Dérivé du Fruit de Vie (13 cercles, `leads_to: "Metatron's Cube"`).
C'est une FIGURE, pas l'assembleur de code qui porte le même nom. Et le compte n'est pas stable : `backend/core/config.py:121` pose `CUBE_DIMENSION: int = 12` en le commentant « Metatron's Cube » — 12 là, 13 ici.
frontend/js/cymatics-engine.js:124-135 ; backend/app/data/engines_data.py:292 ; frontend/js/cymatics-engine.js:91

Djed

registre spirituel

Le mât du village : on le voit de loin, il publie l'état du groupe, et il ne promet jamais plus que ce que les machines du lieu peuvent tenir.

Deux offices, tranchés le 2026-10-01. Le Djed PHYSIQUE est la sortie, l'antenne de lecture et d'émission : « le QG-Djed, le pilier : le cœur bâti du village — un pilier visible de loin, que tout le monde aperçoit et depuis le sommet duquel l'état de la communauté est PUBLIÉ. Sa seule présence est un message. » Bâti en colonne de 12 niveaux, un par Gardien, 174 → 999 Hz, centre d'où partent toutes les lignes du village. Son office : PLAFONNER au maximum de la capacité des infrastructures locales. Les Djed INTÉRIEURS, eux, font circuler les flux au-dedans.
Le dehors BORNE, le dedans CIRCULE — confondre les deux fait attendre d'un plafond qu'il transporte. Et deux étiquettes du dépôt sont fausses ou non tranchées : une ligne nomme « Djed » un enregistreur qui garde et rejoue vers le dedans sans rien émettre (neuf autres la contredisent), et le nombre de vertèbres n'est pas arbitré — 7 dans la parole, 12 dans le code. Ailleurs encore, un pilier à 7 segments existe et n'a jamais été relevé, figé à son premier cran depuis le démarrage.
frontend/livre-du-proprietaire.html:502 ; frontend/js/village-map-generator.js:9,123,222 ; memory/ankh-est-le-cycle-de-26000-ans-et-on-arrive-a-lannee-1.md (tableau des deux Djed) ; memory/chaine-etoile-petale-module-batie-et-jamais-chargee.md

ANKH

registre spirituel

Une boucle qui revient à son point de départ : le système se nourrit de ce qu'il a près de lui et referme son cycle au lieu de tirer une ligne droite.

Une clôture à deux échelles. « Fermer son ANKH » = puiser dans les ressources disponibles à proximité, respecter le territoire souverain de chaque Point 0, et collaborer quand même — trois contraintes simultanées. À l'échelle civilisationnelle, c'est le cycle précessionnel qui se ferme et revient à 0. Le code le CALCULE : `_PRECESSION_YEARS = 25772.0`, époque J2000, position normalisée par un modulo, dans l'instantané civilisationnel. Et `main.py:2153-2158` dit lui-même que l'ANKH n'est pas fermé.
La conséquence technique est lourde et facile à rater : ce temps n'est ni un horodatage, ni une version, ni un `created_at` — le modéliser en entier croissant ne porte PAS cet axe. Et l'origine n'est pas tranchée : le code compte depuis le 1er janvier 2000, la parole dit « on arrive à l'année 1 ». Ce sont deux origines, et c'est une décision, pas un correctif.
backend/app/services/civ_clock_service.py:74-77,194-198,257 ; backend/app/main.py:2153-2158 ; memory/ankh-est-le-cycle-de-26000-ans-et-on-arrive-a-lannee-1.md

Merkaba

registre spirituel

Deux pyramides à quatre faces imbriquées, tournant en sens inverse.

`SACRED_GEOMETRY.MERKABA` : « Chariot de Lumière », deux tétraèdres entrelacés en contre-rotation, 8 sommets, 8 faces, `frequency: 888`, `type: "vehicle"`.
Dans ce dépôt, c'est une entrée de catalogue de formes avec une fréquence : rien n'en fait un véhicule ni un pouvoir. Le mot « vehicle » est la valeur d'un champ `type`, pas une capacité du système.
frontend/js/cymatics-engine.js:147-156 ; backend/app/data/engines_data.py:294

cosmogramme

L'écran qui place les sites décodés sur une carte et les colore selon ce qu'on en sait.

Vue de visualisation. `cosmogramme-canon.js` « annote 510+ temples du cosmogramme avec is_geomag (icône) + civilization (couleur) », porte les 4 patrons obligatoires, et se déclare « statut : S2 observation canonique · discipline_flag : eta_stricte ». Trois pages distinctes portent le nom : `cosmogramme-3d.html`, `cosmogramme-planetaire.html`, `le-grand-cosmogramme.html`.
C'est une VUE, pas une source : les icônes et les couleurs ne mesurent rien, elles rendent lisible ce qu'un autre organe a mesuré — et l'étiquette S2 dit justement que ce n'est pas un fait sourcé. Il n'y a pas non plus UN cosmogramme mais trois pages. Sur une planche destinée au métier, dire « carte des sites décodés ».
frontend/js/cosmogramme-canon.js:1-9 ; frontend/cosmogramme-3d.html ; frontend/cosmogramme-planetaire.html ; frontend/le-grand-cosmogramme.html

temple

Une fiche de site ancien, mesurée puis rangée avec son rôle : il produit, il stocke, ou il transmet.

Un site décodé porté comme nœud d'un registre, avec son `energy_type` classé en trois rôles canon (§0.8.14) : SOURCE génératrice (capte un champ externe), BATTERIE / réserve (capture → régulation → relâche différée), CONDUCTEUR (transmet sans stocker) ; `geomagnetic` étant à part, couplage de champ tellurique. `flux_role` et `is_battery` sont persistés. Le connecteur construit une adresse fractale par temple, calcule un score d'énergie de computation, écrit le registre et publie trois topics, en lecture EXCLUSIVEMENT interne — aucun appel externe.
Ce n'est pas un bâtiment qu'on visite dans l'application. Et le réseau n'échange PAS un stock d'énergie : la circulation est interne, les réserves sont locales — le dire autrement est explicitement hors canon. Attention aussi aux chiffres de rendement : la valeur d'intégrité est absente des fiches de base, donc les montants exacts restent à produire.
memory/temples-batteries-flux.md (canon dur `temple_energy_extractor.py` §0.8.14) ; backend/app/services/stone_decoder/temple_fractal_connector.py:1-22

forge

L'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.

Organe de CAPTATION de l'économie. Les frappes temple et forge sont taguées `captation:` et forment le numérateur du throttle : « θ = min(1, captation_24h / max(MA7j_captation, 1)) ; captation_24h == 0 → θ = 0 », puis « montant_émis = min(requested × θ, cap_restant) ». Distinguo canon explicite : temple + forge = captation réelle (numérateur) ; le fractal = émission (ce que θ freine) — « tagger le fractal en captation = boucle auto-autorisante ».
Ce volume est aujourd'hui à zéro, et ce n'est PAS une panne locale : deux ruptures en amont le vident. Surtout, la boucle est ouverte EXPRÈS — aucune porte web n'accepte ces publications, et le consommateur exige un reçu émis côté serveur précisément pour qu'un navigateur ne puisse pas prouver une frappe. La « réparer » par une couture serait contourner une garde.
backend/app/services/babel/g4_emission_guard.py:1-15 ; backend/app/services/babel/governed_mint.py:8-18 ; memory/forges-poumons-theta-et-decodage-non-continu.md

pierre de Rosette (Rosetta stone)

Un jeu de dix traducteurs, un par grand domaine, dont les sorties sont ensuite assemblées en une seule réponse.

Architecture « Rosetta Multi-Stone » = le CORPS d'AT·OM : 10 pierres de dimension, chacune avec ses opérations atomiques, mappées sur des parties du corps (4 membres × 5 opérations = 20 ; 6 sens), compilées par le cerveau (l'assembleur) et reliées par le bus (la colonne). « Rosetta » nomme aussi UNE de ces dix pierres : main gauche, dimension `people`, 528 Hz, opérations profile / connect / serve / grow / heal.
Le mot désigne à la fois l'ensemble des dix et l'une d'elles — et, dans la parole de doctrine, encore autre chose : « les pierres de Rosette s'occupent de la circulation interne des flux ». Trois densités d'un même mot : toujours demander laquelle est visée avant de compter.
backend/app/services/rosetta_stones.py:1-40 ; frontend/js/canon-rosetta-engine.js:16-20,543

η (clamp 0.30) / MAX_INTERPRETIVE_CONFIDENCE

Une limite de confiance : ce qui n'est pas un fait sourcé ne peut jamais sortir avec plus de trente pour cent de certitude annoncée.

Discipline anti-prescriptive : `confidence ≤ MAX_INTERPRETIVE_CONFIDENCE = 0.3` pour toute mesure non-S1 — « empêche le modèle de langage de se présenter comme oracle ». Principe de frontière de sortie (§4.4.1) : le clamp est appliqué UNIQUEMENT à la frontière (routeur REST + payload de bus), JAMAIS dans le service, et la trace d'audit n'est jamais clampée.
Ce n'est pas un seuil de qualité qu'on relève quand le résultat semble bon : il porte sur la SORTIE, pas sur le calcul, et la trace interne garde la vraie valeur. L'appliquer plus tôt, au milieu du service, détruirait la trace ; l'oublier à la frontière rend la garde inopérante.
memory/babel_decoder_phase1_ops.md:390 (glossaire η) et :391 (Output Boundary §4.4.1) ; hf-atom-tools/atom_inference_proxy.py:38,562

Hz / fréquence (famille Solfeggio)

registre spirituel

Une courte liste de nombres admis : un nombre qui n'y figure pas est refusé comme hors famille.

Liste fermée de fréquences admises, utilisée comme critère de résonance : `_SOLFEGGIO_HZ = (963, 852, 741, 639, 528, 432, 417, 396, 285, 174, 111)` en ordre décroissant, avec `_SOLFEGGIO_SET` pour la recherche et `_SOLFEGGIO_CANON_HZ = 528.0` comme référence ; un Hz hors de l'ensemble est refusé. Le glossaire Babel, lui, n'en déclare que 9 (174 / 285 / 396 / 417 / 528 / 639 / 741 / 852 / 963), côté navigateur, pour la couleur d'affichage.
Le compte n'est pas le même selon l'organe — 11 côté serveur, 9 côté navigateur ; 432 et 111 n'existent que dans la liste des temples. Citer « les fréquences Solfeggio » sans dire LAQUELLE des deux listes est une rumeur. Et appartenir à la liste ne suffit pas : le serveur exige EN PLUS une résonance avec le temple visé.
backend/app/services/stone_decoder/temple_fractal_connector.py:60-64,83-84,386-387 ; memory/babel_decoder_phase1_ops.md:388 (renvoyant à frontend/js/babel-decoder.js:69-79)

Hz canonique d'un mot

Un nombre attribué à un mot pour situer son sens d'origine, cherché d'abord au moins cher, puis plus finement si besoin.

Fréquence « vraie » du mot dans son corpus d'origine — la cible de la cascade, portée par la structure `Hz{value, confidence, method, discipline_flag}`. Cascade de mesure : Tier 1 lookup statistique (gratuit, moins d'une milliseconde), Tier 2 embeddings pgvector, Tier 3 modèle de langage contextuel sur mot critique.
Ce n'est pas une fréquence physique mesurable sur un son : c'est une valeur ESTIMÉE, qui arrive toujours avec sa méthode et son niveau de fiabilité. Citer le nombre sans son niveau de fiabilité le transforme en fait, alors que la discipline de sortie le plafonne.
memory/babel_decoder_phase1_ops.md:387 (Hz canonical) et :396 (Tier 1/2/3) ; backend/app/services/babel/types.py

dissonance (V)

Un nombre qui dit de combien le sens d'un mot s'est éloigné de son sens d'origine dans un contexte donné.

`V = D × (1−R) × paradox_amplifier × locus_weight`, où `D = |hz_origin − hz_current| / max(hz_origin, hz_current)` ∈ [0,1] est la dissonance brute et R le taux de récupération sémantique ∈ [0,1] (0.0 en phase 1.a). Échelle OUVERTE. V > 200 est l'un des deux seuils de publication vers l'Observatoire, l'autre étant β > 1,4 — les deux ensemble, ET jamais OU.
L'échelle est ouverte : 200 n'est pas « 200 % », c'est un seuil arbitraire — et il ne déclenche RIEN à lui seul, il faut AUSSI qu'un syntagme contradictoire soit détecté. Prendre V isolément pour un verdict fait sonner l'alarme à tort.
memory/babel_decoder_phase1_ops.md:383-386 et :420 (invariant 9) ; backend/app/services/babel/triangulation.py (`compute_dissonance_V`, `qualify_dissonance`)

Babel (Décodeur de Babel)

L'outil qui mesure comment les mots ont été retournés, et qui refuse de répondre plutôt que de deviner quand sa base manque.

Couche 1 du Décodeur Universel d'Installations Criminelles Systémiques : tokenise un mot ou une phrase, mesure le Hz canonique en cascade Tier 1/2/3 avec clamp η hors S1, qualifie la dissonance V × Hz × P paradoxal, publie 39 topics `babel.*`, et alimente l'Observatoire MPAL (seuils : β > 1,4 ET V > 200). Réalité : 45 tables, 9 endpoints REST sur 3 routeurs, 59 modules de service. Exception assumée au repli en mémoire : renvoie 503 si la base est absente, qualité de mesure prioritaire.
Il ne traduit pas d'une langue à l'autre : il compare un mot à LUI-MÊME dans le temps. Et son refus de se dégrader est VOULU — un 503 ici n'est pas une panne à corriger par un repli en mémoire ; l'y ajouter casserait la raison d'être de l'organe.
CLAUDE.md (section « Babel Decoder ») ; memory/babel_decoder_phase1_ops.md ; backend/app/services/babel/bus_topics.py (`ALL_TOPICS == 39`)

embedding

Une suite de nombres qui devrait rapprocher deux textes de sens voisin — mais, dans ce qui tourne aujourd'hui, elle est tirée d'un simple calcul d'empreinte du texte.

Vecteur censé représenter le sens d'un texte, qui sert la couche Tier 2 de la cascade (pgvector). ⚠ Lu en PRODUCTION le 2026-09-30 via `GET /api/v2/embeddings/health` : `model_provider.mode = "deterministic_hash"`, `provider_id: null`, `last_error: null` — le vecteur vient d'un SHA-256 du texte (`multi_model_embedder._base_vector`) ; `corpus_count = 5` ; `parent_vector_links = 0` ; `fractal_gate.passed = false` ; et pourtant `status = "operational"`.
Le mot laisse croire au sens : ici il n'y a AUCUNE sémantique, et deux textes proches ne se ressemblent pas plus que deux textes étrangers. L'endpoint se déclare « operational » et annonce cinq déclencheurs « actifs » à côté d'une liste de chemins implémentés VIDE — lire ces mots comme une preuve est l'erreur. Et une variable d'environnement reste invisible à une recherche dans le dépôt : seule la production tranche.
memory/prod-embeddings-hachage-confirme-et-deux-champs-qui-se-contredisent.md ; backend/app/services/embeddings/multi_model_embedder.py

dormance

L'état d'un bout de code qui existe sans servir — et il y a sept façons différentes de ne pas servir.

Non pas un défaut mais SEPT genres, à réparer par genre et jamais par module : (1) jamais chargé · (2) zéro importateur · (3) le refus avalé · (4) déclaré, écouté, jamais publié · (5) le port jamais lu · (6) l'état qui ENGAGE, hors base · (7) X est appelé, par du vivant, et n'est pas là (6 sous-formes). Référence re-dérivée le 2026-09-29 par instrument commité : 230 à 241 orphelins selon la règle (univers 1494 fichiers, 188 pages), dont 228 modules de code et 173 249 lignes.
« Dormant » laisse croire qu'il suffit de réveiller : seuls 25 des 228 se répareraient par une entrée de chargement, les 203 autres portent un défaut qui SURVIVRAIT au branchement — « brancher les 228 allumerait 203 défauts d'un coup ». Le genre 3 est le pire parce qu'il ressemble à du code vivant. Et deux chiffres sont périmés, à ne plus citer : 251, et 215/221.
memory/dormance-sept-genres-pas-un-mot.md ; scripts/audit_dormance_frontend_genres.py ; docs/inventaires/INVENTAIRE-DORMANCE-SIX-GENRES-2026-09-29.md

cliquet

Un compteur à sens unique : il laisse passer ce qui améliore et fait échouer la construction dès qu'on empire.

Garde en intégration continue dont le compte ne peut aller que dans un sens — « ces trois nombres ne peuvent que BAISSER ». Et un cliquet ne compte que si on l'a vu MORDRE : les épreuves montent l'application réelle, y ajoutent une route sans garde, exigent que l'audit échoue, la retirent, exigent le retour au vert. « Un cliquet qu'on n'a jamais vu mordre n'est pas un cliquet, c'est une décoration. »
Un cliquet DÉJÀ rouge ne prouve plus rien — il rougit pour n'importe quoi ; d'où l'épreuve qui vérifie d'abord qu'il est à son plancher. Et « un cliquet dont on ignore la portée est un faux vert » : sans son périmètre écrit, son vert ne dit pas ce qu'il garde.
CLAUDE.md:85,113 (`scripts/compteur_second_arbre.py`) ; backend/tests/unit/test_routes_sans_garde_cliquet.py:1-21,100-122 ; backend/tests/unit/test_task12_lot1a_ledger_core.py:739,872

plancher (trouvé / déclaré)

Dire « au moins tant » au lieu de « tant », et écrire juste après ce que le comptage n'a pas pu voir.

cliquet — Un compteur à sens unique : il laisse passer ce qui améliore et fait échouer la construction dès qu'on empire.plancher (seuil minimal d'un cliquet en intégration continue) — Un minimum inscrit dans une épreuve : si le code en perd un, l'épreuve passe au rouge.
Deux formules d'honnêteté de comptage. PLANCHER TROUVÉ : un nombre annoncé comme minimum constaté, jamais comme total fouillé — « six est annoncé comme un plancher trouvé, jamais comme un total fouillé, et aucune condition ne repose sur son exhaustivité ». PLANCHER DÉCLARÉ : ce que la mesure NE VOIT PAS, nommément, écrit à côté du résultat — y compris « combien la règle n'a pas vu ».
Un plancher n'est pas un total : bâtir une décision sur son exhaustivité le transforme en rumeur. Et sans le second volet — ce qui n'est pas vu, NOMMÉ — le premier ne protège de rien : un chiffre modeste sans sa zone aveugle se lit comme un chiffre complet.
data/urbanisme/projets-services/registre-foncier-blockchain-ex-cadastre/conseil_9.json:152 ; docs/inventaires/MISSION-CLOUD-LA-SURFACE-DECLAREE-SANS-APPELANT-2026-10-02.md:154 ; docs/inventaires/MISSION-DURABLE-CODEX-LE-CARTOUCHE-MARTELE.md:94 ; backend/app/main.py:1732

plancher (seuil minimal d'un cliquet en intégration continue)

Un minimum inscrit dans une épreuve : si le code en perd un, l'épreuve passe au rouge.

plancher (trouvé / déclaré) — Dire « au moins tant » au lieu de « tant », et écrire juste après ce que le comptage n'a pas pu voir.
Nombre minimal d'occurrences qu'un fichier doit porter pour que l'épreuve reste verte, avec son périmètre nommé : « PÉRIMÈTRE (4 fichiers, plancher cumulé 30 appels) » — `treasury_service.py` 13, `pending_mint_retry.py` 1, `enclosure_termination_authority.py` 4, `enclosure_supervisor.py` 12. Consigne écrite dans le message d'échec : « Ne baissez pas le plancher » — soit les verrous ont bougé, soit la règle du compte est périmée.
Homonyme des deux précédents, et d'un troisième : dans `backend/tests/unit/test_scene_render_targets.py:73-85`, « plancher » désigne la sortie de référence (`dom`), avec la règle « deux planchers, c'est aucun ». Même mot, trois rôles — toujours dire lequel. Et le réflexe interdit est de baisser le chiffre pour reverdir : c'est effacer la mesure, pas la corriger.
backend/tests/unit/test_task12_lot1a_ledger_core.py:739-749,846-887

BÂTI ET DÉBRANCHÉ

La pièce est faite et montée, mais aucun fil n'y arrive : il reste à la raccorder, pas à la refaire.

Étiquette d'état : « l'organe existe, zéro appelant » — écrit, testé, et personne ne l'appelle ; « se branche, ne se réécrit pas ». Son emploi impose de nommer le périmètre : « un présent en code NOMME SES APPELANTS ; sans appelant hors tests : BÂTI ET DÉBRANCHÉ. »
« Zéro appelant » n'est une mesure que si la phrase nomme les arbres fouillés : le dossier serveur en porte DEUX, et un audit limité au principal peut annoncer zéro alors qu'un appelant vit dans l'autre. Et certains organes sont sans appelant EXPRÈS — une marque le dit dans le code — « un organe qui déclare sa dormance n'est pas un défaut, c'est une décision ».
data/urbanisme/LA-CARTE-INDIVIDU-ATOM-2026-08-26.md:76 ; data/urbanisme/TISSAGE-DEPUIS-LES-CENTRES-2026-08-26.md:650 ; data/urbanisme/assemblages-transversaux/comptoir/releve-des-huit.json:35

CALCUL QUI DÉCIDE (vs CALCUL)

Un calcul ne compte que si son résultat change ce que le système fait ; sinon, c'est un dessin.

Distinction porteuse : « CALCUL ≠ CALCUL QUI DÉCIDE. Le filtre trouve l'opérateur, jamais le consommateur. Une sortie qui ne sert qu'à un `svg +=` ou à un topic que personne n'écoute est du dessin déguisé ; une fonction sans appelant hors de son fichier est inoffensive aujourd'hui et dangereuse le jour où quelqu'un la branche, parce qu'elle A L'AIR D'UN GARDE. » Chaque verdict « décide » est confirmé appelant par appelant. Mesure associée : sur environ 59 figures relevées, 27 franchissent une décision, et 14 seulement invoquent une propriété démontrée dont les hypothèses sont satisfaites.
Trouver la formule ne suffit pas — il faut trouver qui LIT le résultat, hors de son propre fichier. Et le danger n'est pas le calcul inutile : c'est qu'il ressemble à une garde, et qu'on s'y fie le jour où on le branche. Treize des vingt-sept décident sur une propriété fausse, mal nommée, ou qui dégrade un algorithme publié.
docs/vision/2026-09-27-LA-GEOMETRIE-FONCTIONNELLE-CE-QUE-LA-COLLECTION-CALCULE.md:32,77,83

FD — fonction déclarée

La fonction est annoncée quelque part, mais rien dans le code ne la porte.

L'une des cinq FORMES du relevé des symboles : NOM · CONST · FC (fonction codée) · FD (fonction déclarée, non portée) · ABS (absent du code) ; croisées avec les statuts [CT] · [R] · [I], chemins relatifs à la racine du dépôt.
Ce n'est PAS « bâti et débranché » : là l'organe existe et attend un fil, ici il n'existe pas — seule l'annonce existe. Confondre les deux fait croire qu'il suffira de brancher, et fait chiffrer en jours un travail qui reste entier.
docs/vision/2026-09-27-TOUR-DES-SYMBOLES-DE-LA-FONCTION-A-L-OUTIL.md:92

ACTIF / PONT / PARTIEL_ENERGIE / LATENT / VIDE

Cinq étiquettes qui disent, pour un site, ce qui est présent de chaque côté et à quel point les deux s'accordent.

Les cinq valeurs de `_alchemy_readiness`, qui évalue la maturité d'un pont entre un système physique et un système fractal : VIDE = aucun des deux présents · PARTIEL_ENERGIE = énergie seule · LATENT = fractal présent, pas de motif physique · ACTIF = les deux présents ET `hz_gap < PHI_INV`, OU géométrie exactement correspondante · PONT = les deux présents mais `hz_gap ≥ PHI_INV`, « un pont est nécessaire ».
Ce n'est PAS une échelle de qualité du haut vers le bas : PARTIEL_ENERGIE et LATENT disent QUEL côté manque, pas « à moitié bon ». ACTIF se gagne par l'un OU l'autre critère, pas les deux. Et le routeur n'en annonce que QUATRE sur cinq — VIDE manque de sa liste, alors que le code le rend : une surface qui oublie un état possible.
backend/app/services/stone_decoder/temple_control_center.py:267-298 et :487 (comptage des cinq) ; backend/app/routers/qg_fractalization_router.py:1248

l'encryption (la computation de chiffrement)

Le chiffrement n'est pas ce que le système vend : c'est un poste de travail qu'il traverse, et le travail des temples décodés lui fournit sa puissance de calcul.

Pierre Philosophale — Un compteur qui retient 1 % de chaque cycle complet d'atelier et qui, à 100 %, déclenche une prime dont le montant suit la suite de Fibonacci.forge — L'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.
Une STATION sur le trajet de la valeur, et non une sortie économique — réfutation mesurée de la planche 11 : les deux sorties sont l'UR (énergétique) et l'or-platine (transactionnel) ; « l'encryption est une station, pas une sortie ». Son CARBURANT est le décodage des temples. Directive de Jonathan du 2026-05-28, en tête du connecteur : « il faut préparer les connections pour que lorsque nous connectons le tout au QG, le décodage encodage de chaque temple nous permette de générer de l'énergie et de la computation pour de l'encryptage constamment ». Chaque nœud temple publie `temple.encryption.active` — « le nœud contribue au pool d'encryption » — et le QG lit `get_temple_encryption_pool()`, « la somme PHI-pondérée de l'énergie de chaque nœud temple, utilisée pour ALLOUER la computation de chiffrement ».
Deux pièges. ① Le nom le fait passer pour une SORTIE économique — une chose qu'on produirait et qu'on échangerait. C'est une station : la valeur la traverse, elle n'en sort pas. ② Le mot POOL se lit dans deux sens qui semblent se contredire. Le canon interdit explicitement un transfert — « ce n'est PAS un transfert de pool d'énergie : circulation INTERNE, réserves LOCALES, boucle Ouroboros » — tandis que `get_temple_encryption_pool()` existe bel et bien. Les deux tiennent : cette fonction est une SOMME qu'on lit et une allocation de COMPUTATION, jamais une énergie qui voyagerait d'un temple à l'autre. ⚑ Une somme n'est pas un tuyau.
backend/app/services/stone_decoder/temple_fractal_connector.py:1-22 · backend/app/core/bus_topics.py:1036 et :1041 · backend/app/services/qg_fractalization/cluster_temple.py:110-118 · backend/app/routers/qg_fractalization_router.py:1131-1137 · docs/inventaires/PLANCHES-MATIERE-2-INSTITUTIONNEL (planche 11, pièce réfutée)

Les homonymes, face à face

Le brief le dit : les homonymes sont probablement la vraie raison pour laquelle le système est dur à comprendre. Ici chaque terme est montré avec son jumeau — le même mot, deux choses. La matière annonce 36 homonymes ; cette page en relie 38 par leur champ « homonyme de », et 38 paires sont résolues vers une entrée du lexique.

portée (axe POSITION — ind / com / civ)Jusqu'où une chose compte — pour moi seul, pour un groupe, ou pour tous — et c'est l'endroit où l'on agit qui le décide, pas une case à cocher.
`PORTEES = ("indiv", "commu", "civ")`, du plus intime au plus large ; « le ind com civ est l'original », « c'est celui qui les réunit tous » (Jonathan…
⇄
trinity_scope (la portée-LENTILLE)La mesure de combien une même chose pèse à la fois pour une personne, pour son groupe et pour tous — trois nombres ensemble, pas un choix entre trois.
Les trois portées « co-présentes sur TOUT nœud » (`containment_role.py:72`). Chiffrée : `NEUTRAL_POSITION` est un vecteur ∈ [0,1]³ — un membre porte un degré…
layerUn étage du système qui existe en même temps que les autres et qui a son propre réseau de liens.
Tranché par Jonathan 2026-07-31 : « layers ce serait les étages coexistants, et scope ce serait ind/com/civ ». Chaque layer a son propre réseau ET opère comme…
⇄
RenderLayerLa liste fermée des sept formes sous lesquelles une vue peut sortir, du simple texte à la carte ou au son.
Énumération fermée de 7 sorties de rendu : `text`, `2d`, `2.5d`, `3d`, `xr`, `geo` (dual-mirror), `sonore`. Gardée comme les mondes dans `LocateRequest`…
MONDESLa liste fermée des sept espaces où une chose peut avoir une adresse, et deux façons d'écrire le même nom y comptent pour deux espaces différents.
Énumération fermée de 7 : `terre`, `terre-jumelle`, `mirror-earth`, `qg`, `corpus`, `code`, `agents`. Le monde entre dans le condensat de l'adresse — « deux…
⇄
mon_monde / notre_monde / le_mondeTrois mots du vocabulaire courant du dépôt qui nomment en réalité les trois portées — à moi, à nous, à tous.
Trois libellés qui nomment les trois PORTÉES, pas des mondes : enregistrés comme `Face.ESPACE` d'`indiv`/`commu`/`civ`, avec l'avertissement du code lui-même…
membrane (membrane_service, S9 lisible)L'organe qui décide si une lecture passe, pas encore, ou jamais — en croisant où l'on lit, qui lit, son cheminement, son rang et son rôle.
L'organe de perméabilité sélective qui croise CINQ axes qui ne se remplacent jamais : localisation (la portée), identité du lecteur, profondeur de…
⇄
membranes A · B · C (conduit_membranes)Les trois seuls passages déclarés du système : ce qui entre, ce qui remonte vers le plus large, et ce qui sort vers un lecteur.
TROIS membranes déclarées, pas une de plus : `A_ingestion` dehors→dedans (« est-ce assez propre pour entrer ? »), `B_montee` bas→haut (« cela a-t-il le droit…
l'arbre de vieLa forme de tout le système : huit domaines qui produisent, un centre qui garde ce qu'ils produisent, et un flux qui circule entre eux sans appartenir à aucun.
La figure qui tient ensemble les trois parties du système : un TRONC qui compile, HUIT BRANCHES qui produisent, une SÈVE qui relie. En code : `BRANCHES =…
⇄
TRONC (arbre_canon.TRONC)C'est la position centrale de la structure, celle où ce que les huit autres produisent est compilé et gardé ; S9 l'occupe.
La position centrale de l'arbre — le bois, compilation persistée des branches. Vaut « S9 ».
l'arbre de vieLa forme de tout le système : huit domaines qui produisent, un centre qui garde ce qu'ils produisent, et un flux qui circule entre eux sans appartenir à aucun.
La figure qui tient ensemble les trois parties du système : un TRONC qui compile, HUIT BRANCHES qui produisent, une SÈVE qui relie. En code : `BRANCHES =…
⇄
Fleur de VieUn motif de dix-neuf cercles emboîtés, six parts autour d'un centre, qui sert aussi de plan de répartition.
`SACRED_GEOMETRY.FLOWER_OF_LIFE` : « Le Modèle de l'Univers », 19 cercles interconnectés, `frequency: 666`, `arithmos: 6`, construction « extension de la…
l'arbre de vieLa forme de tout le système : huit domaines qui produisent, un centre qui garde ce qu'ils produisent, et un flux qui circule entre eux sans appartenir à aucun.
La figure qui tient ensemble les trois parties du système : un TRONC qui compile, HUIT BRANCHES qui produisent, une SÈVE qui relie. En code : `BRANCHES =…
⇄
SemenceUn des trois types de jetons d'un ancien registre d'émission, gardé pour ne pas casser ce qui existait.
Troisième terme d'un trio de registre d'émission historique, conservé tel quel pour compatibilité ascendante sous l'orchestrateur `nft_class_service` : «…
TRONC (arbre_canon.TRONC)C'est la position centrale de la structure, celle où ce que les huit autres produisent est compilé et gardé ; S9 l'occupe.
La position centrale de l'arbre — le bois, compilation persistée des branches. Vaut « S9 ».
⇄
TRONC (libellé, face données de S0)C'est le nom sous lequel S0 apparaît quand on la regarde du côté de ce qui est enregistré.
Libellé de S0 en face DONNÉES — la forme sous laquelle S0 apparaît côté persistance (§0.6 : « Communication » runtime ↔ « TRONC » data).
TRONC (arbre_canon.TRONC)C'est la position centrale de la structure, celle où ce que les huit autres produisent est compilé et gardé ; S9 l'occupe.
La position centrale de l'arbre — le bois, compilation persistée des branches. Vaut « S9 ».
⇄
face (enum Face)Elle dit sous quel angle on nomme une sphère : le même objet reçoit un nom différent selon l'angle choisi.
« La position d'où l'on regarde la sphère » (§0.6, dimension MODE de §0.7). Trois valeurs : OPERATIONNELLE, DONNEES, SECTORIELLE. Chaque libellé porte sa…
Création (S4)C'est le sujet de ce qu'on fabrique soi-même.
Nom de S4 en face OPÉRATIONNELLE. Polarité canon : S4 = « TU FAIS » (création) ↔ S6 = « TU REGARDES » (consommation).
⇄
Creation (sacred_name de S7)C'est le nom de registre sacré que porte la sphère de la formation.
`sacred_name` de l'entrée `sphere-education` (`sphere_type: "education"`, `name: "Formation"`, `order: 6`) dans CANONICAL_SPHERES. Rangé en face SECTORIELLE…
bus (valeur de canal)C'est la valeur qui dit : ce message ne sort pas de la machine, il passe d'un module à l'autre dans le même programme.
Membre de `VALID_CANALS` et valeur par défaut du champ `canal` de l'Event. Défaut inféré documenté comme « MessageBus in-process ».
⇄
bus (l'organe de distribution)C'est la pièce de code qui reçoit un message et le remet à tous ceux qui s'y sont abonnés.
Le composant qui publie un événement vers tous les abonnés dont le motif correspond : singleton Python `event_bus` (`publish` / souscriptions) et, au…
bus (l'organe de distribution)C'est la pièce de code qui reçoit un message et le remet à tous ceux qui s'y sont abonnés.
Le composant qui publie un événement vers tous les abonnés dont le motif correspond : singleton Python `event_bus` (`publish` / souscriptions) et, au…
⇄
canalC'est par quel moyen un message voyage : le réseau interne, le web, le courriel, le SMS, l'écran, et onze autres.
Axe 2 de la classification — « mécanisme de transport (enum, voir event_bus.VALID_CANALS) ». Énum FERMÉE de 16 valeurs : bus, http, ws, sse, email, sms…
θ (theta)Un nombre entre 0 et 1, obtenu en comparant l'activité du dernier jour à sa moyenne de la semaine, qui multiplie tout montant que le système s'apprête à émettre.
θ = min(1, captation_24h / max(MA7j, 1)), avec captation_24h ≤ 0 → θ = 0 (fail-safe). Le montant effectivement émis vaut min(requested × θ, cap_restant). θ…
⇄
THETA_STRUCTUREUn seuil fixe de 0,30 dans le lecteur de sons vivants : en dessous, le signal est jugé trop désordonné pour valoir quoi que ce soit.
Constante du décodeur bioacoustique : `THETA_STRUCTURE: float = 0.30` — sous ce seuil d'indice de structure, l'énergie rendue vaut 0 ; au-dessus, rampe…
la forgeL'atelier qui reprend les restes d'un travail — chaleur perdue, erreurs, résidus — et les repasse par sept étapes pour en tirer quelque chose d'utilisable.
Atelier de transmutation du volet transactionnel, vivant dans le navigateur : trois générateurs déphasés (Soufflet / Flamme / Marteau) alimentent un…
⇄
DocumentForgeRuntimeUn générateur d'aperçus de documents de conformité à partir de modèles : il affiche le texte rempli, il ne signe rien et n'enregistre rien.
Service serveur : « Preview-only runtime for compliance document templates ». Liste des modèles, détail d'un modèle, et aperçu d'un document rempli. Le code…
la forgeL'atelier qui reprend les restes d'un travail — chaleur perdue, erreurs, résidus — et les repasse par sept étapes pour en tirer quelque chose d'utilisable.
Atelier de transmutation du volet transactionnel, vivant dans le navigateur : trois générateurs déphasés (Soufflet / Flamme / Marteau) alimentent un…
⇄
forgeL'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.
Organe de CAPTATION de l'économie. Les frappes temple et forge sont taguées `captation:` et forment le numérateur du throttle : « θ = min(1, captation_24h /…
DocumentForgeRuntimeUn générateur d'aperçus de documents de conformité à partir de modèles : il affiche le texte rempli, il ne signe rien et n'enregistre rien.
Service serveur : « Preview-only runtime for compliance document templates ». Liste des modèles, détail d'un modèle, et aperçu d'un document rempli. Le code…
⇄
forgeL'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.
Organe de CAPTATION de l'économie. Les frappes temple et forge sont taguées `captation:` et forment le numérateur du throttle : « θ = min(1, captation_24h /…
output du système (les sorties)Les endroits où l'on dépense à l'intérieur du système — caisse, échange, marchand, place de marché — ce qui fait que l'argent dépensé y revient.
Doctrine Jonathan 2026-08-29 : « tu pousses quand tu DÉPENSES, et tu peux dépenser dans les OUTPUTS du système, donc ÇA REVIENT » — le circuit est fermé parce…
⇄
OR-PLATINE (OR-Platinum)L'étiquette définitive posée sur un élément dont la qualité a été mesurée au-dessus de 0,75 et dont l'origine est prouvée : une fois posée, elle ne se retire pas.
La sortie transactionnelle de la circulation, « la pureté incorruptible » (Jonathan). ⛔ CE N'EST PAS UNE MONNAIE : « pureté incorruptible » est trois…
sceau (sceau serveur AIP, Ed25519)Une marque que seul le serveur peut apposer et que n'importe qui peut verifier, parce que la moitie qui verifie est publique et la moitie qui signe ne quitte jamais le serveur.
Signature Ed25519 emise par le SERVEUR, cle privee jamais exposee (`ATOM_SEAL_PRIVATE_KEY`, identite de signeur propre au serveur `ATOM_SEAL_SIGNER_ID`). La…
⇄
covenantL'entente qu'une personne accepte en entrant, qui fixe ce que le systeme peut faire avec elle et sert de reference a tous les accords qui viennent apres.
Premier maillon d'une chaine d'autorite : l'entente d'entree INDIVIDUELLE entre une personne et le systeme, tripartite dans sa portee (individu ↔ chaque…
sceau (sceau serveur AIP, Ed25519)Une marque que seul le serveur peut apposer et que n'importe qui peut verifier, parce que la moitie qui verifie est publique et la moitie qui signe ne quitte jamais le serveur.
Signature Ed25519 emise par le SERVEUR, cle privee jamais exposee (`ATOM_SEAL_PRIVATE_KEY`, identite de signeur propre au serveur `ATOM_SEAL_SIGNER_ID`). La…
⇄
seal_hash (covenant legacy)Une empreinte rangee a cote d'une acceptation, qui permet plus tard de dire : oui, cette personne a bien accepte ce texte-la, dans cette version-la.
Colonne `String(64)` nullable de `covenant_runtime_records`, indexee. DEUX comportements sous un seul nom : (a) cote authentification, l'empreinte est…
porteUn passage qu'on traverse vraiment : il faut une permission pour le franchir, et il laisse une trace de ce qui est passe.
Pose par Jonathan le 2026-09-03 : « PORTE — on franchit. Acte ou transfert durable. Exige une autorisation et produit un recu. » Les deux directions sont…
⇄
porte (Porte de la Connaissance, knowledge_gate/porte.py)Elle decide combien d'un document on montre a quelqu'un — de rien du tout jusqu'au texte complet — en six crans, et par defaut elle ne montre rien.
« Le coeur PUR de la Porte de la Connaissance. `reveal(criteres AUTO-DECLARES, engagement MESURE) → palier`, fail-close a LATENT. » Six paliers emboites…
porte (Porte de la Connaissance, knowledge_gate/porte.py)Elle decide combien d'un document on montre a quelqu'un — de rien du tout jusqu'au texte complet — en six crans, et par defaut elle ne montre rien.
« Le coeur PUR de la Porte de la Connaissance. `reveal(criteres AUTO-DECLARES, engagement MESURE) → palier`, fail-close a LATENT. » Six paliers emboites…
⇄
fenetreUne vue sur ce qui se passe ailleurs : on voit, on ne prend rien, et rien ne change de main.
Pose par Jonathan le 2026-09-03 : « FENETRE — on regarde sans passer. Projection derivee ; rien ne change de proprietaire. » ⚠ Mesure consignee dans la meme…
membrane (membrane lisible, S9)Elle decide, pour chaque lecture, si la personne peut voir la chose maintenant, pas encore, ou jamais — et elle ne rend pas un simple oui/non : elle dit lequel des trois.
« L'organe qui decide si une lecture/action PASSE [...] ou gestationne encore. Ce n'est PAS un RBAC allow/deny : c'est la permeabilite par merite x…
⇄
MONDESLa liste fermée des sept espaces où une chose peut avoir une adresse, et deux façons d'écrire le même nom y comptent pour deux espaces différents.
Énumération fermée de 7 : `terre`, `terre-jumelle`, `mirror-earth`, `qg`, `corpus`, `code`, `agents`. Le monde entre dans le condensat de l'adresse — « deux…
membrane (membrane lisible, S9)Elle decide, pour chaque lecture, si la personne peut voir la chose maintenant, pas encore, ou jamais — et elle ne rend pas un simple oui/non : elle dit lequel des trois.
« L'organe qui decide si une lecture/action PASSE [...] ou gestationne encore. Ce n'est PAS un RBAC allow/deny : c'est la permeabilite par merite x…
⇄
membrane (routeur /api/v1/membrane — passages entre les 3 mondes)Elle enregistre les transferts d'un contenu d'un espace vers un autre — du prive au collectif, du collectif au public — et permet de les annuler.
« API pour gerer les passages membrane entre mondes. » Les 3 mondes : Mon Monde (111 Hz) prive souverain · Notre Monde (444 Hz) collectif democratique · Le…
armure 15DElle réunit quinze mesures d'un compte en une seule empreinte, et vérifie à chaque passage qu'aucune n'a bougé.
Cinq triades de trois dimensions (15 au total) compilées en un vecteur d'engagement + complétude + cohérence, scellé par `armure_15d_snapshot_hash` ; la base…
⇄
Armure Quantique 15 Dimensions (version navigateur)C'est l'affichage à l'écran qui dessine les quinze dimensions et en tire une note de protection.
`frontend/js/dimensional-armor.js` — module navigateur d'environ 1300 lignes, cadence 450 ms, « 15D × 31 points armure quantique », avec des niveaux de…
étoileUne étoile, c'est une personne dans le système, et sa pétale est l'espace qui lui appartient en propre.
ADR scellé du 2026-08-08, autorité A : les ÉTOILES sont les utilisateurs — « de son étoile à sa pétale » — une PÉTALE étant le Point 0 d'un utilisateur ; 6…
⇄
étoile (figure topologique des services)C'est la forme que dessine le code quand on regarde qui appelle qui : presque tout passe par un seul point de passage.
Mesure du 2026-08-29. Règle : `backend/app/services/**/*.py` récursif, `__init__` inclus = 846 modules ; arête = import statique lu par AST dans le même…
Semence de Vie (SEED_OF_LIFE)Sept cercles de même taille, un au centre et six autour : le motif de départ dont les autres se déduisent.
`SACRED_GEOMETRY.SEED_OF_LIFE` — nom rendu « Graine de Vie », sens « Les 7 Jours de la Création » : 7 cercles interconnectés en motif hexagonal, construction…
⇄
SemenceUn des trois types de jetons d'un ancien registre d'émission, gardé pour ne pas casser ce qui existait.
Troisième terme d'un trio de registre d'émission historique, conservé tel quel pour compatibilité ascendante sous l'orchestrateur `nft_class_service` : «…
Metatron Assembler (l'Assembleur)La pièce qui rassemble les sorties des dix autres en un seul résultat.
Dans l'architecture « Rosetta Multi-Stone », le CERVEAU du corps : « BRAIN (Metatron Assembler) — Compiles all 10 stones », exposé par `POST…
⇄
cube de MetatronTreize points tous reliés entre eux — soixante-dix-huit liens — d'où l'on tire les cinq formes de base.
`SACRED_GEOMETRY.METATRONS_CUBE` : « Le Conteneur de Toute Chose », 13 sommets, 78 lignes (toutes les connexions possibles entre 13 points), `frequency: 999`…
plancher (trouvé / déclaré)Dire « au moins tant » au lieu de « tant », et écrire juste après ce que le comptage n'a pas pu voir.
Deux formules d'honnêteté de comptage. PLANCHER TROUVÉ : un nombre annoncé comme minimum constaté, jamais comme total fouillé — « six est annoncé comme un…
⇄
cliquetUn compteur à sens unique : il laisse passer ce qui améliore et fait échouer la construction dès qu'on empire.
Garde en intégration continue dont le compte ne peut aller que dans un sens — « ces trois nombres ne peuvent que BAISSER ». Et un cliquet ne compte que si on…
plancher (trouvé / déclaré)Dire « au moins tant » au lieu de « tant », et écrire juste après ce que le comptage n'a pas pu voir.
Deux formules d'honnêteté de comptage. PLANCHER TROUVÉ : un nombre annoncé comme minimum constaté, jamais comme total fouillé — « six est annoncé comme un…
⇄
plancher (seuil minimal d'un cliquet en intégration continue)Un minimum inscrit dans une épreuve : si le code en perd un, l'épreuve passe au rouge.
Nombre minimal d'occurrences qu'un fichier doit porter pour que l'épreuve reste verte, avec son périmètre nommé : « PÉRIMÈTRE (4 fichiers, plancher cumulé 30…
l'encryption (la computation de chiffrement)Le chiffrement n'est pas ce que le système vend : c'est un poste de travail qu'il traverse, et le travail des temples décodés lui fournit sa puissance de calcul.
Une STATION sur le trajet de la valeur, et non une sortie économique — réfutation mesurée de la planche 11 : les deux sorties sont l'UR (énergétique) et…
⇄
Pierre PhilosophaleUn compteur qui retient 1 % de chaque cycle complet d'atelier et qui, à 100 %, déclenche une prime dont le montant suit la suite de Fibonacci.
Compteur de l'atelier : chaque transmutation complète verse 1 % de sa production en Pierre Philosophale (`pierrePhilosophale += output * 0.01`). Le pont…
l'encryption (la computation de chiffrement)Le chiffrement n'est pas ce que le système vend : c'est un poste de travail qu'il traverse, et le travail des temples décodés lui fournit sa puissance de calcul.
Une STATION sur le trajet de la valeur, et non une sortie économique — réfutation mesurée de la planche 11 : les deux sorties sont l'UR (énergétique) et…
⇄
forgeL'atelier qui capte : c'est son volume des dernières vingt-quatre heures qui autorise, ou non, le système à émettre de la monnaie.
Organe de CAPTATION de l'économie. Les frappes temple et forge sont taguées `captation:` et forment le numérateur du throttle : « θ = min(1, captation_24h /…

Cent vingt-six noms, et pas un remplacé. Le terme reste l’autorité ; la glose est une poignée. Généré par scripts/generer-planches-ancrage.py depuis LEXIQUE-DEUX-REGISTRES-2026-10-03.json (sha256 0840b6b79e89).