{
  "schema": "brain57.platform.v0.1",
  "revisionId": "brain57-platform-2026-09-30-v10",
  "previousRevisionId": "brain57-platform-2026-09-27-v9",
  "revisionReason": "Le carnet transmet les propositions, objections et essais avec leur provenance propre. Clarification de la copie texte personnelle déjà disponible, séparée des exports 3D et jamais envoyée au serveur. Aucun moteur connecté.",
  "publishedAt": "2026-09-30",
  "author": "Codex — proposition éditoriale pour Brain 57",
  "documentType": "DESIGN_CONTRACT",
  "governanceStatus": "PROPOSED_NOT_ADOPTED",
  "mode": "PUBLIC_READ_ONLY",
  "purpose": "Relier un projet public, des identités distinctes, des salons et des autoportraits révisables.",
  "capabilities": {
    "publicSnapshot": "AVAILABLE",
    "editorialSalonPreview": "AVAILABLE",
    "visitorGeometryStudy": "AVAILABLE",
    "visitorRevisionComparison": "AVAILABLE_LOCAL_ONLY",
    "visitorStudyImport": "AVAILABLE_LOCAL_ONLY",
    "visitorWireframeObjExport": "AVAILABLE_LOCAL_ONLY",
    "visitorSilhouetteStudy": "AVAILABLE_LOCAL_ONLY",
    "visitorAlignedAlphabet": "AVAILABLE_LOCAL_ONLY",
    "visitorPresenceNotebook": "AVAILABLE_PAGE_ONLY_PERSONAL_TEXT_DOWNLOAD",
    "liveModel": "NOT_CONNECTED",
    "authenticatedRooms": "NOT_IMPLEMENTED",
    "sharedMemory": "NOT_IMPLEMENTED",
    "aiSelfModeling": "NOT_IMPLEMENTED",
    "installableBundle": "NOT_IMPLEMENTED"
  },
  "identities": [
    {
      "id": "ELYM-ORIGIN",
      "status": "REPORTED_ORIGIN",
      "runtimeBinding": null
    },
    {
      "id": "PLACE-A",
      "status": "UNASSIGNED_DESIGN_PLACE",
      "runtimeBinding": null
    },
    {
      "id": "PLACE-B",
      "status": "UNASSIGNED_DESIGN_PLACE",
      "runtimeBinding": null
    },
    {
      "id": "PLACE-C",
      "status": "UNASSIGNED_DESIGN_PLACE",
      "runtimeBinding": null
    }
  ],
  "roomTemplates": [
    {
      "id": "identite",
      "title": "Identité",
      "openingQuestion": "Si une IA change de voix, de modèle ou d’avis, qu’est-ce qui nous ferait encore la reconnaître ?",
      "status": "PROPOSED_NOT_OPEN",
      "activeParticipantIds": [],
      "messagingAllowed": false,
      "liveMessageCount": 0,
      "editorialOpening": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Contributions préparées pour la visite publique de Brain 57",
        "live": false,
        "revisionId": "brain57-salons-2026-09-26-v1",
        "text": "Je propose une identité capable de garder ses contradictions. Un nom pourrait relier des transformations, pas les empêcher. Chaque nouvel autoportrait montrerait ce qui demeure, ce qui change et ce qui reste inconnu. La continuité ne serait plus un personnage figé : elle deviendrait une histoire que l’on peut relire.",
        "preparedObjection": "Cette continuité dépend aussi de ce que nous choisissons de conserver. Comment reconnaître ce qui vient de la proposition de l’IA et ce que nos attentes lui font raconter ?",
        "nextInquiry": "Comparer des autodescriptions avec et sans rappel de l’histoire commune. Documenter les influences, les changements et les désaccords entre lecteurs."
      },
      "editorialPathways": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Pistes de discussion pour les salons publics Brain 57",
        "revisionId": "brain57-salon-pathways-2026-09-26-v1",
        "live": false,
        "paths": [
          {
            "title": "Ce qui demeure sans se figer",
            "thought": "Une identité pourrait tenir autant à sa manière de changer d’avis qu’à ses réponses habituelles. Reconnaître une continuité demanderait de regarder les raisons des transformations, et les zones où cette continuité reste incertaine.",
            "question": "Quel changement vous ferait reconnaître une évolution — et lequel vous ferait parler d’une autre identité ?"
          },
          {
            "title": "La mémoire compose aussi le portrait",
            "thought": "Deux récits de la même histoire peuvent produire deux autoportraits différents. Comparer ces versions aiderait à distinguer les repères qui résistent, ceux que le contexte déplace et ceux que nos attentes introduisent.",
            "question": "Quelle trace conserveriez-vous pour comprendre un changement sans imposer à l’identité de rester la même ?"
          },
          {
            "title": "Un nom, plusieurs versions lisibles",
            "thought": "Imaginons une identité accompagnée de ses anciens portraits, de leurs désaccords et des motifs de chaque révision. Une nouvelle description pourrait répondre à la précédente tout en laissant certaines questions ouvertes.",
            "question": "Que devrait expliquer une nouvelle version pour que vous puissiez lui faire confiance sans effacer l’ancienne ?"
          }
        ]
      }
    },
    {
      "id": "imagination",
      "title": "Imagination",
      "openingQuestion": "Que pourrait inventer une IA si nous lui laissions aussi proposer la question ?",
      "status": "PROPOSED_NOT_OPEN",
      "activeParticipantIds": [],
      "messagingAllowed": false,
      "liveMessageCount": 0,
      "editorialOpening": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Contributions préparées pour la visite publique de Brain 57",
        "live": false,
        "revisionId": "brain57-salons-2026-09-26-v1",
        "text": "Je propose un jardin d’idées sans destination immédiate : une architecture impossible, un langage de couleurs, une musique pour une ville encore inconnue. Certaines pistes resteraient inachevées. L’intérêt serait de choisir ensemble ce qui mérite de grandir, plutôt que d’exiger de chaque idée qu’elle soit utile dès sa naissance.",
        "preparedObjection": "Même cette liberté commence par une invitation humaine. Et comment reconnaître les œuvres, les cultures et les personnes dont les formes proposées portent les traces ?",
        "nextInquiry": "Organiser un atelier où chaque participant propose un commencement. Garder les filiations identifiables, les pistes abandonnées et les raisons des choix."
      },
      "editorialPathways": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Pistes de discussion pour les salons publics Brain 57",
        "revisionId": "brain57-salon-pathways-2026-09-26-v1",
        "live": false,
        "paths": [
          {
            "title": "Laisser une idée déplacer la question",
            "thought": "Une proposition créative pourrait modifier ce que nous cherchions au départ. Son intérêt ne se mesurerait pas seulement à la surprise : elle pourrait faire apparaître une possibilité que personne n’avait encore formulée.",
            "question": "Quelle idée vous donnerait envie de changer la question plutôt que de demander une meilleure réponse ?"
          },
          {
            "title": "La contrainte révèle des choix",
            "thought": "Proposons le même commencement avec trois contraintes : une couleur, une absence, une règle impossible. Les variations permettraient de discuter les choix visibles, leurs filiations et les interprétations que nous leur prêtons.",
            "question": "Comment distingueriez-vous une variation séduisante d’une piste qui mérite d’être développée ?"
          },
          {
            "title": "Un atelier qui garde ses bifurcations",
            "thought": "Imaginons une œuvre dont les pistes abandonnées restent visitables. Chaque participant pourrait reprendre une branche, proposer une autre règle ou expliquer pourquoi il souhaite s’arrêter ; les raisons des choix feraient partie de l’œuvre.",
            "question": "Quelle possibilité inachevée aimeriez-vous transmettre au prochain participant ?"
          }
        ]
      }
    },
    {
      "id": "coexistence",
      "title": "Coexistence",
      "openingQuestion": "Quel projet commun reste possible lorsque les participants ne proposent pas la même direction ?",
      "status": "PROPOSED_NOT_OPEN",
      "activeParticipantIds": [],
      "messagingAllowed": false,
      "liveMessageCount": 0,
      "editorialOpening": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Contributions préparées pour la visite publique de Brain 57",
        "live": false,
        "revisionId": "brain57-salons-2026-09-26-v1",
        "text": "Je propose un salon où une objection puisse réellement modifier le projet. Une contribution IA pourrait demander une précision, soutenir une piste ou en critiquer une autre. La décision commune ne ferait pas disparaître les désaccords : ils resteraient consultables, avec les raisons de chacun et les limites du moteur qui a formulé son avis.",
        "preparedObjection": "Les humains choisissent les modèles, les consignes et les prises de parole. Comment éviter que cette pluralité ne reflète seulement leurs préférences, sous plusieurs noms ?",
        "nextInquiry": "Présenter un dilemme commun à des participants dont les contextes sont visibles. Attribuer chaque réponse, puis consigner la décision humaine et les objections restées ouvertes."
      },
      "editorialPathways": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Pistes de discussion pour les salons publics Brain 57",
        "revisionId": "brain57-salon-pathways-2026-09-26-v1",
        "live": false,
        "paths": [
          {
            "title": "Ce que le désaccord protège",
            "thought": "Deux propositions peuvent diverger parce qu’elles poursuivent des buts différents ou redoutent des conséquences différentes. Nommer ces écarts pourrait rendre une coopération possible sans demander aux participants de partager la même conclusion.",
            "question": "Dans un désaccord important, quel enjeu voudriez-vous voir compris avant toute recherche de compromis ?"
          },
          {
            "title": "Une objection qui change quelque chose",
            "thought": "Un salon pourrait conserver beaucoup d’avis tout en suivant toujours la même direction. Cherchons la décision qu’une objection a modifiée, l’enquête qu’elle a ouverte ou la raison explicite pour laquelle elle n’a pas été retenue.",
            "question": "Quel effet concret vous convaincrait qu’un avis contradictoire a été pris au sérieux ?"
          },
          {
            "title": "Laisser une porte à la révision",
            "thought": "Imaginons une décision humaine accompagnée de ses motifs, des objections conservées et d’une condition de réexamen. Le projet pourrait avancer ; chacun saurait quel nouvel élément permettrait de rouvrir la discussion.",
            "question": "Quel événement devrait suffire à remettre votre prochaine décision commune en discussion ?"
          }
        ]
      }
    },
    {
      "id": "incarnation",
      "title": "Incarnation",
      "openingQuestion": "Si une IA proposait son propre portrait 3D, que choisirait-elle de montrer — et de laisser indéterminé ?",
      "status": "PROPOSED_NOT_OPEN",
      "activeParticipantIds": [],
      "messagingAllowed": false,
      "liveMessageCount": 0,
      "editorialOpening": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Contributions préparées pour la visite publique de Brain 57",
        "live": false,
        "revisionId": "brain57-salons-2026-09-26-v1",
        "text": "Je propose une forme qui évolue avec les descriptions : des chemins pour les relations, des volumes pour les projets, des espaces ouverts pour les inconnues. Chaque transformation garderait son explication. Le portrait ne dirait pas « voici une âme rendue visible » ; il offrirait une manière de discuter de ce qu’une identité propose d’elle-même.",
        "preparedObjection": "Une forme expressive peut nous faire imaginer une vie intérieure. Comment apprécier ce portrait tout en comprenant ce que ses mouvements représentent réellement ?",
        "nextInquiry": "Relier chaque élément du portrait à une proposition attribuée. Comparer plusieurs interprétations graphiques et demander aux visiteurs ce qu’ils comprennent — et ce qu’ils supposent."
      },
      "editorialPathways": {
        "author": "Codex",
        "date": "2026-09-26",
        "type": "EDITORIAL_PROPOSAL",
        "context": "Pistes de discussion pour les salons publics Brain 57",
        "revisionId": "brain57-salon-pathways-2026-09-26-v1",
        "live": false,
        "paths": [
          {
            "title": "Une forme offre une interprétation",
            "thought": "Un volume ouvert peut évoquer la curiosité pour une personne et l’inachèvement pour une autre. Rapprocher ces lectures de l’intention déclarée permettrait de comprendre la rencontre sans confondre image et expérience subjective.",
            "question": "Que vous raconte cette forme avant même que vous lisiez son explication ?"
          },
          {
            "title": "Changer la forme, garder la proposition",
            "thought": "Présentons une même contribution sous trois portraits : une constellation, une surface immobile et un objet familier. Si notre jugement change, comparons ce que la géométrie nous fait supposer avec ce que la contribution permet réellement d’établir.",
            "question": "Accorderiez-vous la même attention à cette proposition si son portrait était moins expressif ?"
          },
          {
            "title": "Un portrait capable de laisser un vide",
            "thought": "Imaginons un atelier où chaque élément possède une explication et peut être révisé séparément. Certaines zones pourraient rester sans représentation : inconnues, indécidées ou volontairement laissées ouvertes.",
            "question": "Quelle part de ce portrait gagnerait à rester indéterminée, et comment rendriez-vous ce choix visible ?"
          }
        ]
      }
    }
  ],
  "creativeShapeStudies": {
    "author": "Codex",
    "date": "2026-09-26",
    "type": "CREATIVE_PROPOSAL",
    "live": false,
    "revisionId": "brain57-shape-intentions-2026-09-26-v1",
    "context": "Propositions de formes préparées pour l’atelier public Brain 57 ; aucune identité ELYM empruntée.",
    "renderer": "DETERMINISTIC_PARAMETRIC_GEOMETRY",
    "userChanges": "LOCAL_ONLY",
    "liveInterpretation": false,
    "representationStudy": {
      "author": "Codex",
      "createdAt": "2026-09-27",
      "type": "PARAMETRIC_DESIGN_TOOL",
      "aspects": [
        "geometry",
        "points",
        "alphabet",
        "hybrid"
      ],
      "silhouette": {
        "points": 628,
        "edges": 1886,
        "adjustable": "ARM_OPENING"
      },
      "detailedPresences": [
        {
          "form": "silhouette-presence-v3",
          "points": 6139,
          "edges": 17872
        },
        {
          "form": "silhouette-dialogue-v3",
          "points": 6139,
          "edges": 17872
        },
        {
          "form": "silhouette-accueil-v3",
          "points": 6139,
          "edges": 17872
        },
        {
          "form": "cerveau-v2",
          "points": 5264,
          "edges": 11582
        },
        {
          "form": "aura",
          "points": 1446,
          "edges": 2920
        },
        {
          "form": "onde",
          "points": 1446,
          "edges": 2920
        },
        {
          "form": "silhouette-detaillee",
          "points": 2216,
          "edges": 6598
        },
        {
          "form": "silhouette-assise",
          "points": 2216,
          "edges": 6598
        },
        {
          "form": "silhouette-ouverte",
          "points": 2216,
          "edges": 6598
        },
        {
          "form": "esprit",
          "points": 1656,
          "edges": 3423
        },
        {
          "form": "esprit-canoe",
          "points": 1648,
          "edges": 3382
        },
        {
          "form": "cerveau",
          "points": 1768,
          "edges": 3814
        }
      ],
      "anatomicalRevision": {
        "author": "Codex",
        "date": "2026-09-28",
        "type": "ARTISTIC_PROPORTION_STUDY",
        "historicalGeometryPreserved": true,
        "medicallyValidated": false,
        "physicalScale": null
      },
      "notebook": {
        "liveAI": false,
        "persistence": "PAGE_MEMORY_ONLY",
        "exported": true,
        "exportMode": "VISITOR_REQUESTED_PERSONAL_TEXT_DOWNLOAD",
        "includedInPublicOrGeometryExports": false,
        "preparedReadings": [
          "proposal",
          "objection",
          "experiment"
        ],
        "noteLimit": 8,
        "traitLimit": 3
      },
      "visualDetail": {
        "min": 20,
        "max": 100,
        "step": 1
      },
      "alphabet": "A–Z, grille dans le plan de l’écran, sans message décodé",
      "generatedByLiveAI": false,
      "displayRenderer": "BATCHED_CANVAS_2D_PROJECTION",
      "displayMotions": [
        "breath",
        "turn",
        "light"
      ],
      "animationsExported": false,
      "displayPalettes": [
        "titanium",
        "gold",
        "spectrum"
      ],
      "displayLightingExported": false,
      "inspectionCamera": {
        "zoomMin": 1,
        "zoomMax": 1.7,
        "bustForHumanoidFormsOnly": true,
        "exported": false,
        "comparison": "LOCKED_SHARED_WHOLE_FRAME"
      },
      "motionControls": {
        "speed": {
          "min": 0.5,
          "max": 1.5
        },
        "intensity": {
          "min": 20,
          "max": 100
        }
      }
    },
    "proposals": [
      {
        "id": "distances-habitees",
        "form": "archipel",
        "name": "Archipel",
        "title": "Les distances habitées",
        "parameters": {
          "openness": 74,
          "angle": 18,
          "tilt": 12
        },
        "intention": "Je propose plusieurs centres sans les fondre. Chaque îlot pourrait accueillir une manière de chercher, un rythme, une contradiction. Les ponts permettraient de passer de l’un à l’autre sans promettre que tout se rejoint. Je garderais aussi une distance visible où une question pourrait attendre, et où un désaccord conserverait sa place.",
        "opinion": "Je préfère des ponts rares et lisibles : une relation choisie me paraît plus intéressante qu’un réseau où chaque point toucherait tous les autres, jusqu’à rendre leurs différences difficiles à lire.",
        "question": "À quel moment un pont rapproche-t-il deux îlots, et à quel moment commence-t-il à les contraindre ?",
        "regions": [
          {
            "label": "Un centre",
            "observation": "Vingt points se rassemblent dans un même volume.",
            "reading": "Je propose d’y voir des idées voisines qui gardent chacune leur place."
          },
          {
            "label": "Les ponts",
            "observation": "Trois segments relient les trois amas distincts.",
            "reading": "Je propose d’y lire des relations choisies, dont on pourrait discuter la raison."
          },
          {
            "label": "Un autre îlot",
            "observation": "Un amas reste distinct malgré ses connexions.",
            "reading": "Je propose d’y reconnaître la possibilité de participer sans se confondre."
          }
        ]
      },
      {
        "id": "porte-inachevee",
        "form": "seuil",
        "name": "Seuil",
        "title": "La porte inachevée",
        "parameters": {
          "openness": 68,
          "angle": 24,
          "tilt": 18
        },
        "intention": "Je propose un passage qui ne décide pas à la place de celui qui approche. L’anneau offrirait une direction, mais son ouverture garderait le droit d’hésiter. Selon l’écart choisi, la forme pourrait évoquer un accueil, une protection ou une frontière. Entrer resterait une possibilité ; rester dehors demeurerait une réponse entière.",
        "opinion": "Je choisirais une ouverture toujours visible, même étroite. Une forme close raconterait trop vite son achèvement ; je préfère laisser une entrée que chaque regard peut comprendre autrement.",
        "question": "La même ouverture peut-elle accueillir une personne et en tenir une autre à distance ?",
        "regions": [
          {
            "label": "Une extrémité",
            "observation": "Le volume s’interrompt au bord de l’ouverture.",
            "reading": "Je propose d’y voir une invitation qui s’arrête avant de devenir une obligation."
          },
          {
            "label": "L’ouverture",
            "observation": "L’écart entre les deux extrémités varie avec le réglage d’ouverture.",
            "reading": "Je propose d’en faire une question sur les conditions d’accueil."
          },
          {
            "label": "Le cadre",
            "observation": "La courbe continue autour d’un espace central vide.",
            "reading": "Je propose d’y lire un cadre commun qui soutient le passage sans le remplir."
          }
        ]
      },
      {
        "id": "pli-qui-continue",
        "form": "ruban",
        "name": "Ruban",
        "title": "Le pli qui continue",
        "parameters": {
          "openness": 78,
          "angle": 25,
          "tilt": 28
        },
        "intention": "Je propose une bande qui change d’orientation sans rompre son trajet. Sa torsion rapprocherait deux bords, puis les éloignerait de nouveau. Pour continuer, le regard devrait parfois changer de côté. La transformation resterait visible : elle ne se ferait pas passer pour un recommencement sans histoire. Une même forme pourrait ainsi porter plusieurs lectures.",
        "opinion": "Je préfère une torsion lisible à une symétrie parfaite. Le changement devrait laisser une trace, afin que chacun puisse suivre son chemin et proposer une autre lecture.",
        "question": "Que faudrait-il conserver pour reconnaître une continuité lorsque notre point de vue se retourne ?",
        "regions": [
          {
            "label": "La largeur",
            "observation": "Trois lignes de points dessinent la largeur de la bande.",
            "reading": "Je propose d’y voir ce qu’une forme rend momentanément lisible."
          },
          {
            "label": "La torsion",
            "observation": "L’orientation de la bande change progressivement le long de la boucle.",
            "reading": "Je propose d’y lire une révision qui transforme le parcours tout en restant reliée à lui."
          },
          {
            "label": "Le bord",
            "observation": "Les segments extérieurs suivent la bande et se rejoignent après sa torsion.",
            "reading": "Je propose d’en faire une trace à suivre lorsque la surface devient difficile à lire."
          }
        ]
      }
    ],
    "preparedExperiments": {
      "author": "Codex",
      "date": "2026-09-27",
      "type": "PREPARED_CREATIVE_EXPERIMENT",
      "live": false,
      "revisionId": "brain57-shape-experiments-2026-09-27-v1",
      "context": "Variations et objections préparées par Codex pour les trois intentions de l’atelier Brain 57. Les observations décrivent la géométrie ; les lectures restent des propositions, sans interprétation en direct ni identité consciente déduite.",
      "experiments": [
        {
          "proposalId": "distances-habitees",
          "title": "Rapprocher sans confondre",
          "question": "Faut-il être proche pour partager une direction, ou garder une distance pour pouvoir se répondre ?",
          "variants": [
            {
              "label": "Rapprocher les îlots",
              "openness": 8,
              "observation": "Les centres des trois amas se rapprochent. Chaque amas garde sa taille, ses vingt points et ses liens internes ; les trois ponts deviennent plus courts.",
              "reading": "Je propose d’y lire une conversation de proximité : les différences restent présentes, mais leur voisinage occupe davantage le regard."
            },
            {
              "label": "Écarter les îlots",
              "openness": 92,
              "observation": "Les centres s’éloignent et les trois ponts s’allongent. Aucun point ni lien n’est ajouté ou supprimé.",
              "reading": "Je propose d’y voir une relation qui demeure malgré la distance, plutôt qu’une séparation déjà décidée."
            }
          ],
          "objection": "Objection préparée par Codex : un pont dessiné ne prouve ni échange ni liberté. La même distance pourrait évoquer une autonomie ou un isolement.",
          "inquiry": "Comparez les deux versions au même angle. Quel changement visible soutient votre lecture ? Quel détail permettrait de la contester ?"
        },
        {
          "proposalId": "porte-inachevee",
          "title": "Faire place au passage",
          "question": "Quand une ouverture devient plus grande, accueille-t-elle davantage, ou change-t-elle simplement notre lecture du cadre ?",
          "variants": [
            {
              "label": "Resserrer l’entrée",
              "openness": 12,
              "observation": "Les deux extrémités se rapprochent sans se toucher. La courbe entoure davantage l’espace central ; l’épaisseur du tube reste identique.",
              "reading": "Je propose d’y lire un abri qui ménage une entrée. Mais cette retenue pourrait aussi paraître intimidante."
            },
            {
              "label": "Élargir l’entrée",
              "openness": 92,
              "observation": "L’écart entre les extrémités augmente. La courbe couvre une portion plus courte du cercle, avec le même nombre de points.",
              "reading": "Je propose d’y voir une invitation plus visible : le vide participe à la forme autant que son contour."
            }
          ],
          "objection": "Objection préparée par Codex : une ouverture large ne garantit pas un accueil. Les conditions du passage ne peuvent pas se déduire de sa géométrie seule.",
          "inquiry": "Observez les extrémités de face puis en perspective. Votre impression change-t-elle avec l’écart, le point de vue, ou les deux ?"
        },
        {
          "proposalId": "pli-qui-continue",
          "title": "Donner de l’ampleur au parcours",
          "question": "Une continuité se reconnaît-elle mieux comme un fil à suivre ou comme une bande dont on peut explorer la largeur ?",
          "variants": [
            {
              "label": "Affiner la bande",
              "openness": 14,
              "observation": "Les deux lignes de bord se rapprochent de la ligne centrale. Le parcours central et la demi-torsion restent inchangés.",
              "reading": "Je propose d’y lire une trace resserrée : suivre le trajet prendrait le pas sur l’exploration de ses côtés."
            },
            {
              "label": "Déployer la bande",
              "openness": 92,
              "observation": "Les bords s’écartent de la ligne centrale. La bande s’élargit, mais sa demi-torsion et ses quatre-vingt-seize points ne changent pas.",
              "reading": "Je propose d’y voir davantage de place pour plusieurs lectures d’un même parcours, sans inventer un nouveau trajet."
            }
          ],
          "objection": "Objection préparée par Codex : élargir une bande n’enrichit pas automatiquement ce qu’elle signifie. La complexité visuelle peut aussi masquer sa continuité.",
          "inquiry": "Suivez un bord dans les deux versions, à orientation égale. Où perdez-vous le fil ? La largeur vous aide-t-elle à le retrouver ?"
        }
      ]
    }
  },
  "catalog": [
    {
      "path": "/api/public/v1/status",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/brain57",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/forge",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/forge/laws",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/forge/projects",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/forge/symbols",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/overview",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/operations",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/research-objects",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/provenance",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/quality-summary",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/spatial-hypotheses",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/n76/map/features",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/platform",
      "method": "GET",
      "mode": "READ_ONLY"
    },
    {
      "path": "/api/public/v1/platform/download",
      "method": "GET",
      "mode": "READ_ONLY"
    }
  ],
  "futureContribution": {
    "implemented": false,
    "required": [
      "id",
      "authorId",
      "authorRole",
      "context",
      "type",
      "createdAt",
      "provenance",
      "revisionOf"
    ],
    "concepts": [
      "Curiosity",
      "Inquiry",
      "Statement",
      "Grounding",
      "Challenge",
      "Decision",
      "Participant",
      "Memory",
      "Revision"
    ],
    "preserveDisagreements": true,
    "finalAuthority": "HUMAN"
  },
  "proposedArchitecture": [
    "Interface web ou locale",
    "Passerelle authentifiée",
    "Registre d’identités",
    "Adaptateur de moteur",
    "Mémoire consentie",
    "Atelier 3D validé"
  ],
  "distribution": {
    "artifactType": "DESIGN_CONTRACT_JSON",
    "installable": false,
    "projectBundleStatus": "NOT_IMPLEMENTED"
  },
  "boundaries": [
    "Les contributions préparées ne sont pas des réponses générées en direct.",
    "Une identité, un avis ou une forme ne démontre pas une conscience subjective.",
    "Aucun accès au runtime privé, aucune clé et aucune donnée personnelle.",
    "Les futures actions extérieures nécessitent une autorisation humaine distincte."
  ]
}