bra0 / Docs / Architecture / Principles
Architecture

Foundational Principles Principes fondateurs

bra0's architecture derives from fifteen principles. Every ADR, agent mandate, and ontology extension traces to at least one. Two roots — Least Power and Sovereignty — constrain all others. L'architecture de bra0 dérive de quinze principes. Chaque ADR, mandat d'agent et extension d'ontologie est traçable à au moins un. Deux racines — Least Power et Souveraineté — contraignent tous les autres.

Purpose Finalité

bra0 exists to let humans and agents build, share, and evolve malleable knowledge spaces that remain sovereign, auditable, and semantically grounded across generations. The principles below are load-bearing constraints — they exist to prevent drift toward platform capture, opaque automation, or measurement-free claims. bra0 existe pour permettre à des humains et des agents de construire, partager et faire évoluer des espaces de connaissance malléables qui restent souverains, auditables et sémantiquement ancrés à travers les générations. Les principes ci-dessous sont des contraintes porteuses — ils existent pour empêcher toute dérive vers la capture par plateforme, l'automatisation opaque ou les revendications non mesurables.

Two roots Deux racines

All ten principles derive from two roots. Together they answer the only two questions that matter. Les dix principes dérivent de deux racines. Ensemble, elles répondent aux deux seules questions qui comptent.

How should we build? Comment construire ?
P1 — Least Power
With minimal sufficient structure. Every abstraction layer is guilty until proven innocent. Avec la structure minimale suffisante. Chaque couche d'abstraction est coupable jusqu'à preuve du contraire.
For whom do we build? Pour qui construire ?
P2 — Sovereignty
For the sovereign user. Every byte, every schema, every policy belongs to them. No server required. Pour l'utilisateur souverain. Chaque octet, chaque schéma, chaque politique lui appartient. Aucun serveur requis.
P1
Least Power
Use the least powerful mechanism that achieves the goal. Every abstraction layer is guilty until proven innocent; the burden of proof is empirical, not argumentative. Utiliser le mécanisme le moins puissant qui atteint l'objectif. Chaque couche d'abstraction est coupable jusqu'à preuve du contraire ; la charge de la preuve est empirique, pas argumentative.
Berners-Lee & Mendelsohn, W3C TAG Finding (2006). Parnas (1972). ServiceNow/Mila (2026, arXiv 2604.00073).

Declarative before imperative: a SHACL shape is preferred over a middleware enforcer. Query before code: SPARQL is preferred over an MCP tool wrapper. Standard before custom: a W3C vocabulary is preferred over a bra0-specific class. Déclaratif avant impératif : une shape SHACL est préférée à un middleware. Requête avant code : SPARQL est préféré à un wrapper MCP. Standard avant custom : un vocabulaire W3C est préféré à une classe spécifique bra0.

Litmus test Test décisif : if removing a layer makes the system simpler AND equally capable, the layer was unnecessary. si retirer une couche rend le système plus simple ET également capable, la couche était inutile.
P2
Sovereignty
The user owns every byte, every schema, every policy. No server is required for any operation. No vendor controls any capability. L'utilisateur possède chaque octet, chaque schéma, chaque politique. Aucun serveur n'est requis pour aucune opération. Aucun éditeur ne contrôle aucune capacité.
Ink & Switch, "Local-First Software" (Kleppmann et al. 2019). DSSC Blueprint v3.0.

Local-first: all computation runs on the user's device. Open standards only: Turtle, JSON-LD, PROV-O, ShEx, SHACL, ODRL. No telemetry, no analytics, no CDN calls. Export always works: the user can leave with all their data in W3C formats. Local-first : tout le calcul tourne sur la machine de l'utilisateur. Standards ouverts uniquement : Turtle, JSON-LD, PROV-O, ShEx, SHACL, ODRL. Zéro télémétrie, zéro analytics, zéro appels CDN. L'export fonctionne toujours : l'utilisateur peut partir avec toutes ses données en formats W3C.

Ink & Switch test: "Do all your customers' apps continue working in perpetuity, even if all servers are shut down?" bra0 answers YES. « Les applications de vos clients continuent-elles à fonctionner indéfiniment, même si tous les serveurs sont arrêtés ? » bra0 répond OUI.

Federated access corollary: sovereignty does not forbid federation — it forbids unilateral federation. A KS may be shared with chosen peers under declared terms (ODRL); it may never be silently aggregated into a platform index. Corollaire d'accès fédéré : la souveraineté n'interdit pas la fédération — elle interdit la fédération unilatérale. Un KS peut être partagé avec des pairs choisis sous des termes déclarés (ODRL) ; il ne peut jamais être silencieusement agrégé dans l'index d'une plateforme.

Interoperable, not technofeudal: this is the positioning axis sovereignty draws. In a technofeudal arrangement a platform unilaterally sets the terms and the perimeter is porous to it. Here the perimeter is a sovereign membrane the collective masters — it decides, under declared terms, what enters and what leaves. Standards and protocols expand the possibility space; they do not gate access to someone else's. Interopérable, pas technoféodal : c'est l'axe de positionnement que trace la souveraineté. Dans un arrangement technoféodal, une plateforme fixe unilatéralement les termes et le périmètre lui est poreux. Ici le périmètre est une membrane souveraine que le collectif maîtrise — il décide, sous des termes déclarés, ce qui entre et ce qui sort. Standards et protocoles élargissent l'espace des possibles ; ils ne verrouillent pas l'accès à celui d'autrui.

P3
Knowledge-Function Decoupling
Knowledge persists without agents. Agents are replaceable without loss of knowledge. An agent is not a domain — an agent operates on a domain under delegation. La connaissance persiste sans les agents. Les agents sont remplaçables sans perte de connaissance. Un agent n'est pas un domaine — un agent opère sur un domaine sous délégation.
Parnas (1972). Enterprise data architecture ("Socle Data & IA" pattern).

Three decoupling axes: persistence (ontologies survive agent removal), versioning (domains and agents versioned independently), sharing (same knowledge consumed by N agents, same agent operates across M domains). Trois axes de découplage : persistance (les ontologies survivent au retrait d'un agent), versioning (domaines et agents versionnés indépendamment), partage (même connaissance consommée par N agents, même agent opère sur M domaines).

Self-description joint note (P3 × P7): a KS describes its own schema, its own provenance, and its own validation shapes inline. A consumer reads the KS without external documentation. Self-description is how decoupling remains operational across time. Note conjointe d'auto-description (P3 × P7) : un KS décrit son propre schéma, sa propre provenance et ses propres shapes de validation en interne. Un consommateur lit le KS sans documentation externe. L'auto-description est ce qui maintient le découplage opérationnel dans le temps.

P4
SPARQL-First, CLI-First, UI-Optional
Every capability is first a SPARQL operation, then a CLI command, then optionally a UI. The UI is a projection of the knowledge graph, never the source of truth. Chaque capacité est d'abord une opération SPARQL, puis une commande CLI, puis optionnellement une UI. L'UI est une projection du graphe de connaissances, jamais la source de vérité.
Generalized from P1 (Least Power).

Hierarchy: 1. SPARQL UPDATE/CONSTRUCT — 2. CLI (topo) — 3. REST/MCP API — 4. UI. No capability may exist only in the UI. Hiérarchie : 1. SPARQL UPDATE/CONSTRUCT — 2. CLI (topo) — 3. API REST/MCP — 4. UI. Aucune capacité ne peut exister uniquement dans l'UI.

Identity operational note: every addressable node carries a NURI (NextGraph URI). Federation, sovereignty, and self-description all depend on a stable identity primitive that survives replication and offline edits. Note opérationnelle d'identité : chaque nœud adressable porte une NURI (NextGraph URI). Fédération, souveraineté et auto-description reposent toutes sur une primitive d'identité stable qui survit à la réplication et aux éditions hors-ligne.

P5
Governance as Membrane, Not Wrapper
Governance filters at the boundary; it does not envelop the operation. The mandate is the holon's membrane — as thin as possible while maintaining governance properties. La gouvernance filtre à la frontière ; elle n'enveloppe pas l'opération. Le mandat est la membrane du holon — aussi fine que possible tout en maintenant les propriétés de gouvernance.
Koestler (1967). Friston (2013) — Markov Blanket.
Anti-patterns: A "policy enforcement proxy" between agent and data. A "governance middleware" that re-describes API semantics. An "agent framework" that must be loaded before the agent can act. Un « proxy d'application de politiques » entre agent et données. Un « middleware de gouvernance » qui redécrit la sémantique de l'API. Un « framework d'agent » qui doit être chargé avant que l'agent puisse agir.

Clarification: the membrane is checked per interaction, not wrapped around every internal operation. A mandate evaluates the request at the boundary and lets the operation run natively inside; it does not re-describe each API call. Clarification : la membrane est contrôlée par interaction, pas enroulée autour de chaque opération interne. Un mandat évalue la requête à la frontière et laisse l'opération s'exécuter nativement à l'intérieur ; il ne redécrit pas chaque appel d'API.

P6
Rust for Compute, TypeScript for UI
All compute-intensive operations (SPARQL evaluation, SHACL validation, OWL reasoning, ShEx parsing) run in Rust compiled to WASM. TypeScript orchestrates the UI. No exceptions. Toutes les opérations intensives (SPARQL, validation SHACL, raisonnement OWL, parsing ShEx) tournent en Rust compilé en WASM. TypeScript orchestre l'UI. Sans exception.
P1 applied to runtime: no GC pauses during SPARQL evaluation.
P7
Traceability by Construction
Every action carries its provenance. Every output is attributable. Every governance claim is SHACL-validatable. Chaque action porte sa provenance. Chaque sortie est attribuable. Chaque revendication de gouvernance est validable par SHACL.
W3C PROV-O (2013). W3C ODRL 2.2 (2018).

Every tool call generates a prov:Activity triple (who, what, when, under what mandate). Conformance is provable: a ConformanceReport evaluates an InteractionLog against a Mandate. Chaque appel d'outil génère un triplet prov:Activity (qui, quoi, quand, sous quel mandat). La conformité est prouvable : un ConformanceReport évalue un InteractionLog par rapport à un Mandat.

Semantic grounding note: traceability is not only logging — it is semantic. Every provenance triple references an ontology term (PROV-O, ODRL, SKOS) so a future auditor can interpret the trace without access to the tool that produced it. Note d'ancrage sémantique : la traçabilité n'est pas seulement du logging — elle est sémantique. Chaque triplet de provenance référence un terme d'ontologie (PROV-O, ODRL, SKOS) afin qu'un auditeur futur puisse interpréter la trace sans accès à l'outil qui l'a produite.

P8
Three Layers, Distinct Concerns
Control Plane governs. Semantic Layer gives meaning. Data Plane stores. Mixing them is a defect. Le Control Plane gouverne. La Semantic Layer donne le sens. Le Data Plane stocke. Les mélanger est un défaut.
DSSC Blueprint v3.0. Gaia-X Architecture 22.10.

Control Plane — ODRL, DCAT, PROV-O, SHACL, DID (governance). Semantic Layer — OWL 2, SKOS, ShEx, SPARQL, RML (meaning). Data Plane — Oxigraph, NextGraph CRDT, Y.js (storage). Control Plane — ODRL, DCAT, PROV-O, SHACL, DID (gouvernance). Semantic Layer — OWL 2, SKOS, ShEx, SPARQL, RML (sens). Data Plane — Oxigraph, NextGraph CRDT, Y.js (stockage).

P9
Delegation, Not Expertise
Agents operate under delegation from the human controller. They have no expertise, no authority, no autonomy beyond what the mandate grants. Les agents opèrent sous délégation du contrôleur humain. Ils n'ont aucune expertise, aucune autorité, aucune autonomie au-delà de ce que le mandat accorde.
EU AI Act Art. 52.

No agent may modify its own mandate. No agent may escalate its own autonomy. The mandate is sovereign. Aucun agent ne peut modifier son propre mandat. Aucun agent ne peut escalader sa propre autonomie. Le mandat est souverain.

P10
Curatorial Discipline
Taste is principled exclusion. Judgment is evaluative accountability. LLM output is plausible, not true. Every claim requires a source; every document requires a human gate. Le goût est l'exclusion raisonnée. Le jugement est la responsabilité évaluative. La sortie d'un LLM est plausible, pas vraie. Chaque affirmation exige une source ; chaque document exige une validation humaine.
Talisman (2025). Narayanan (2023). Frankfurt (1986/2005). Doshi & Hauser (2024).
Rules Règles : No claim without citation. No publication without human gate. No reference without verification. Reject generic AI phrasing. Aucune affirmation sans citation. Aucune publication sans validation humaine. Aucune référence sans vérification. Rejeter le phrasé générique de l'IA.
P11
Composable Primitive Malleability
Users must be able to reshape the system using small, recombinable primitives — not monolithic features. Malleability is a property of the primitive set, not of any single tool. Extension is the default path; replacement is a failure mode. Les utilisateurs doivent pouvoir remodeler le système au moyen de primitives petites et recombinables — pas de fonctionnalités monolithiques. La malléabilité est une propriété de l'ensemble des primitives, pas d'un outil isolé. L'extension est la voie par défaut ; le remplacement est un mode de défaillance.
Ink & Switch, "Malleable Software" (2024/2025). Potluck, Patchwork, Embark, Crosscut. Kay (1972).

Primitives over features: templates, shapes, lenses, policies are the building blocks. Composition over configuration: new behavior emerges by combining primitives, not by toggling flags. No god-tool: a primitive that cannot be replaced by two smaller ones fails this principle. Primitives plutôt que fonctionnalités : templates, shapes, lentilles, politiques sont les briques. Composition plutôt que configuration : un comportement nouveau émerge de la combinaison de primitives, pas d'un drapeau à basculer. Pas d'outil-dieu : une primitive qu'on ne peut remplacer par deux plus petites échoue à ce principe.

Litmus test Test décisif : can a user extend the system without asking bra0 to ship a new release? If yes, the malleability is real. If no, the primitive set is incomplete. un utilisateur peut-il étendre le système sans attendre une nouvelle version de bra0 ? Si oui, la malléabilité est réelle. Si non, l'ensemble des primitives est incomplet.
P12
Audit-Forward Posterity
Every knowledge space must support a future audit it does not yet know how to answer. Provenance is append-only; the validation authority is declared, not assumed; the data outlives the tool that produced it. Chaque espace de connaissance doit pouvoir répondre à un audit futur qu'il ne sait pas encore formuler. La provenance est append-only ; l'autorité de validation est déclarée, pas supposée ; les données survivent à l'outil qui les a produites.
EU AI Act Art. 12 (logging) & Art. 26 (deployer duties). PROV-O (W3C 2013). Ink & Switch "Local-First" perpetuity clause.

Append-only provenance: no silent rewrites; every change is a new PROV-O activity. Declared validation authority: each KS states whether it is sole-author, dual-control, institutional-board, or regulator-validated. Quality-gated ontology tiers (gold/silver/bronze): the quality level is explicit, not implied. Provenance append-only : aucune réécriture silencieuse ; chaque changement est une activité PROV-O nouvelle. Autorité de validation déclarée : chaque KS déclare s'il est à auteur unique, en double-contrôle, en conseil institutionnel, ou validé par le régulateur. Niveaux d'ontologie sous gate qualité (or/argent/bronze) : le niveau de qualité est explicite, pas implicite.

OWA reconciliation Réconciliation OWA : P12 does not close the world. Absence of a PROV-O record never means "the event did not happen"; it means "this KS does not witness it." Audit-forwardness coexists with the Open World Assumption. P12 ne ferme pas le monde. L'absence d'une trace PROV-O ne signifie jamais « l'événement n'a pas eu lieu » ; elle signifie « ce KS n'en témoigne pas ». L'audit-forwardness coexiste avec l'hypothèse du monde ouvert.
P13
Measurable Knowledge Quality
Quality claims must be measurable or they are not claims. Every KS exposes metrics: shape conformance rate, ontology quality tier, citation density, reproducibility of SPARQL competency questions. No score, no publication. Les revendications de qualité doivent être mesurables ou elles ne sont pas des revendications. Chaque KS expose des métriques : taux de conformité aux shapes, niveau de qualité d’ontologie, densité de citations, reproductibilité des questions de compétence SPARQL. Pas de score, pas de publication.
EU AI Act Art. 15 (accuracy, robustness). Ontology engineering literature on the six-dimension quality framework (2018). Noy & McGuinness (2001).

SHACL conformance: every KS publishes the pass/fail rate of its shape catalogue. Quality dimensions: completeness, consistency, conciseness, coverage, clarity, correctness — each scored. Competency questions: SPARQL CQs are executable; pass/fail is reproducible. Quality is orthogonal to authority: a gold-tier sole-author KS is possible; a bronze-tier regulator-validated KS is possible. Conformité SHACL : chaque KS publie le taux de passage de son catalogue de shapes. Dimensions de qualité : complétude, cohérence, concision, couverture, clarté, correction — chacune notée. Questions de compétence : les CQ SPARQL sont exécutables ; passe/échec reproductible. La qualité est orthogonale à l'autorité : un KS à auteur unique peut être en or ; un KS validé par un régulateur peut être en bronze.

Litmus test Test décisif : if a KS cannot print its own quality card, it is not publishable. The card is the claim. si un KS ne peut pas imprimer sa propre carte de qualité, il n'est pas publiable. La carte est la revendication.
P14
Pedagogical Arbitrage
Every option, hypothesis, or strategic question put to the controller must be formulated pedagogically: context in prose first, options named in prose, an explicit advantage line and an explicit cost line for each, and a closing recap of the decisions awaited. The controller cannot arbitrate what they cannot grasp. Toute option, hypothèse ou question stratégique soumise au contrôleur doit être formulée pédagogiquement : le contexte en prose d'abord, les options nommées en prose, une ligne d'avantage et une ligne de coût explicites pour chacune, et un récapitulatif final des décisions attendues. Le contrôleur ne peut arbitrer ce qu'il ne saisit pas.
Controller directive, 2026-05-30, after architectural questions arrived as hypothesis codes and un-glossed identifiers. Grounded in P9 (single-controller delegation) and the prove-don't-believe stance.

Protocolary class: P14 governs the controller↔agents interaction protocol, where P1-P13 govern the knowledge-sovereign system itself. No code shorthand for option names; domain concepts (SHACL, CRDT, ADR-N) stay, glossed on first use. Composes with P9: agents enumerate, the controller decides — P14 adds that the enumeration must be graspable. Bounded: it governs strategic arbitrages, never routine operational micro-choices. Classe protocolaire : P14 gouverne le protocole d'interaction contrôleur↔agents, là où P1-P13 gouvernent le système lui-même. Aucun code abrégé pour nommer une option ; les concepts métier (SHACL, CRDT, ADR-N) restent, glosés au premier emploi. Se compose avec P9 : les agents énumèrent, le contrôleur décide — P14 ajoute que l'énumération doit être saisissable. Borné : il gouverne les arbitrages stratégiques, jamais les micro-choix opérationnels de routine.

Litmus test Test décisif : can a reader who did not follow the prior conversation grasp what is at stake, what the options are, and what each costs? If context must be reconstructed, P14 is violated. un lecteur qui n'a pas suivi la conversation antérieure saisit-il l'enjeu, les options et leur coût ? S'il faut reconstruire le contexte, P14 est violé.
P15
Capability-First Execution (LLM-Minimal)
Every operation on a knowledge space runs through bra0's own capabilities — a SPARQL query or a topo command — before any other means. Raw model calls are reduced to the residue where no capability yet exists, and even that residue is wrapped behind a documented capability rather than invoked ad hoc. Toute opération sur un espace de connaissance passe par les capacités propres de bra0 — une requête SPARQL ou une commande topo — avant tout autre moyen. Les appels bruts au modèle sont réduits au résidu où aucune capacité n'existe encore, et ce résidu lui-même est encapsulé derrière une capacité documentée plutôt qu'invoqué au coup par coup.
Controller directive, 2026-06-05, bound to formal enforcement in the same exchange. Generalizes P4 from exposure (how a capability is surfaced) to consumption (how an operation is performed).

Systemic class: P15 is the execution-side dual of P4. Compose, do not invent: existing capabilities are chained into orchestrations rather than replaced by ad-hoc logic. Admissible residue: a model step is a last resort, reachable through a documented capability surface and carrying PROV-O provenance (P7/P12). Formal enforcement: expressed in the agentic contracts as SHACL and ShEx in parity, as a duty to route through a capability plus a prohibition on bypassing a covering one. Classe systémique : P15 est le dual de P4 côté exécution. Composer, ne pas inventer : les capacités existantes sont chaînées en orchestrations plutôt que remplacées par une logique ad hoc. Résidu admissible : une étape modèle est un dernier recours, atteignable via une surface de capacité documentée et portant sa provenance PROV-O (P7/P12). Application formelle : exprimée dans les contrats agentiques en SHACL et ShEx à parité, comme un devoir de router par une capacité et une interdiction d'en contourner une qui couvre le besoin.

Litmus test Test décisif : for this operation, which topo command or SPARQL query did it? If the honest answer is "a raw model call, and no capability was consulted", P15 is violated. pour cette opération, quelle commande topo ou quelle requête SPARQL l'a faite ? Si la réponse honnête est « un appel brut au modèle, sans consulter aucune capacité », P15 est violé.

Corollary: Computational Grounding Corollaire : ancrage computationnel

Derived from P3 × P9 × P7. The platform provides deterministic instruments (SPARQL, SHACL, OWL). Agents orchestrate them under mandate. Governance is origin-indifferent: same gate, same validation, whether the triple comes from a human, a script, or an LLM. Dérivé de P3 × P9 × P7. La plateforme fournit des instruments déterministes (SPARQL, SHACL, OWL). Les agents les orchestrent sous mandat. La gouvernance est indifférente à l'origine : même porte, même validation, que le triplet vienne d'un humain, d'un script ou d'un LLM.

Data-Orientation extension: grounding applies to data as well as to agents. A KS is grounded when its triples carry the provenance (P12), the shapes (P7), and the metrics (P13) needed to be re-evaluated by a third party. Data-orientation is not a separate principle; it is the payload-side face of the Corollary. Extension Data-Orientation : l'ancrage s'applique aux données autant qu'aux agents. Un KS est ancré lorsque ses triplets portent la provenance (P12), les shapes (P7) et les métriques (P13) nécessaires à une réévaluation par un tiers. La data-orientation n'est pas un principe séparé ; c'est la face « payload » du Corollaire.

Key insight Insight clé : An agent's trustworthiness is the deterministic coverage of its protocol. The higher the autonomy, the denser the protocol must be. Trust the protocol, not the model. La fiabilité d'un agent est la couverture déterministe de son protocole. Plus l'autonomie est élevée, plus le protocole doit être dense. Faire confiance au protocole, pas au modèle.

Relationships Relations

P1 (Least Power) ──── generalizes ────> P4 (SPARQL-First) │ ├── constrains ──> P5 (Membrane) ├── constrains ──> P6 (Rust for Compute) ├── constrains ──> P8 (Three Layers) └── constrains ──> P11 (Composable Primitives) P2 (Sovereignty) ──── requires ────> P3 (Knowledge-Function) │ ├── requires ────────────> P7 (Traceability) └── requires ────────────> P12 (Audit-Forward Posterity) P9 (Delegation) ──── requires ────> P10 (Curatorial Discipline) │ └── enforced by ────────> P5 (Membrane = Mandate) P11 (Composable Primitives) ──── enables ──> malleable KS lifecycle │ └── measured by ────────> P13 (Measurable Quality) P12 (Audit-Forward) ──── requires ────> P7 (Traceability) │ └── requires ────────────> P13 (Measurable Quality) P3 × P9 × P7 = Computational Grounding + P12 × P13 = Data-Orientation extension P14 (Pedagogical Arbitrage) ── operationalizes ──> P9 (Delegation) └── protocolary class, distinct from the P1-P13 systemic class P15 (Capability-First Execution) ── operationalizes ──> P4 + P13 ├── constrained by ──> P7 + P12 (provenance) └── enforced by ────> agentic contracts (SHACL + ShEx)

How to use this document Comment utiliser ce document

Before an ADR: verify every decision traces to at least one principle. During code review: if a PR adds a layer, invoke P1. During agent mandate review: verify P5, P9, P10. During ontology extension: verify P3 and P1. Avant un ADR : vérifier que chaque décision est traçable à au moins un principe. Pendant la code review : si une PR ajoute une couche, invoquer P1. Pendant la revue de mandat : vérifier P5, P9, P10. Pendant l'extension d'ontologie : vérifier P3 et P1.