From 3ec3b37a6597744c05d3fd16f78157dafbef1e70 Mon Sep 17 00:00:00 2001 From: Sylvain Duchesne Date: Mon, 27 Jul 2026 17:05:39 +0200 Subject: [PATCH] =?UTF-8?q?docs(concept):=20poser=20le=20principe=20de=20l?= =?UTF-8?q?ecture=20publique=20non=20r=C3=A9cursive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remplace le point « validation d'existence impossible » — qui traînait une préoccupation de forgerie hors périmètre — par le principe qui fait réellement tenir le modèle : Un élément du store public est public : qui a l'URL lit le contenu. Mais PAS récursivement — un contenu public peut référencer du contenu privé. C'est exactement notre cas. Le créateur lit la Participation (publique) et ne peut pas suivre la référence vers le profil (protected). Lecture par le créateur ET anonymat vis-à-vis de lui, sans aucun mécanisme supplémentaire. Le compteur est Set.size. Rien d'autre à en dire. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_014GbGgNEHRejVKoREvFuDFg --- .../data-layer/brief_2026-07-20_attendance-set-model.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.project/concepts/data-layer/brief_2026-07-20_attendance-set-model.md b/.project/concepts/data-layer/brief_2026-07-20_attendance-set-model.md index fdfa898..4279876 100644 --- a/.project/concepts/data-layer/brief_2026-07-20_attendance-set-model.md +++ b/.project/concepts/data-layer/brief_2026-07-20_attendance-set-model.md @@ -90,7 +90,7 @@ Reste valable tel quel : la **lecture réactive**, le **ré-armement à la recon - **Scope de Participation** — elle devient **publique** alors que la doctrine produit actuelle la place en *protected* ([[knowledge_data-scopes-and-discovery]], concept `functional-domain`). Ce leaf décrit **ce qui est implémenté** : ne pas le modifier tant que ce brief n'a pas gradué, mais **le mettre à jour à ce moment-là**. - **Reconnaissance par les connexions** (étape 7) — comment le cap du profil est scellé, et ce qu'il advient d'une connexion rompue (la révocation est un re-key grossier et non rétroactif). Explicitement remis à un 2e temps. -- **Validation d'existence — IMPOSSIBLE, et c'est tranché** *(corrigé le 2026-07-27)*. On avait écrit que le créateur *pouvait* vérifier qu'un did pointe sur un objet réel sans clé. **Faux** : le contrôle d'accès en lecture laisse bien passer, mais **l'adressage présuppose le cap** — il n'existe aucune commande d'existence au niveau SDK, et une référence cap-less n'a ni les identifiants de blocs ni l'overlay nécessaires. Le créateur ajoute donc la référence **sur parole**. Conséquence assumée : le compteur est **déclaratif** et donc forgeable — hors périmètre sécurité, mais il ne faut **pas** présenter cette étape comme une validation. +- **Lecture publique non récursive** — c'est le principe qui fait tenir tout le modèle, et il mérite d'être énoncé seul : *un élément du store **public** est public — qui a l'URL lit le contenu.* Mais **pas récursivement** : un contenu public peut **référencer** du contenu privé, et **c'est exactement notre cas**. Le créateur lit donc la Participation (publique) et **ne peut pas** suivre la référence vers le profil (protected). C'est ce qui donne à la fois la lecture par le créateur et l'anonymat vis-à-vis de lui — sans mécanisme supplémentaire. ## Dépendances