bra0 / Docs / Architecture / Principles
Architecture

Foundational Principles Principes fondateurs

bra0's architecture derives from thirteen 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 treize 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.

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.

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

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.