docs: état courant NextGraph enrichi + modèle cible aligné + retrait du lot PW
MODÈLE CIBLE (readcap-and-nuri-model) — trois ajouts, deux corrections :
- Store public : lisible par l'URL, et NON récursif — un contenu public peut
référencer du contenu privé sans y donner accès. C'est la non-récursivité qui
porte la valeur (objet public pointant vers de l'identité privée).
- Le trousseau : la branche de store, où chaque création commite AddRepo{read_cap}
— avec l'avertissement explicite que ce n'est PAS le mécanisme de partage.
Confondre l'index privé et le geste de partage mène à « on partage le store »,
ce qui livrerait tout son contenu présent et futur.
- Rotation de clé : re-livraison par inbox, traitée automatiquement à la
connexion. Écrit comme DIRECTION, en signalant que le commentaire amont dont ça
partait décrit l'état courant.
- Levée de la confusion did/NURI en tête de la section grammaire : `did🆖` est
un préfixe de schéma présent partout, pas un marqueur de « sans cap ». C'est un
seul objet, avec ou sans la clé dedans.
- Livraison de cap par inbox signalée comme MANQUE (forme bonne, chemin absent).
ÉTAT COURANT (nextgraph-current-state) — 218 lignes ajoutées, structure intacte :
livraison de cap par inbox non implémentée ; vérification de signature d'auteur
jamais appelée au runtime (members map vide, //TODO) ; aucune sonde d'existence
au niveau SDK ; expose_outer codé en dur à false, absent du SDK ; protocole Ext
sans aucun contrôle. Plus trois constats d'exploitation : heal cold-start,
fork de compte sur provision concurrente, et l'abort du flush outbox sur
TopicNotFound. La mort du socket est seulement référencée (déjà couverte).
CORRECTION D'UN FAIT QUE J'AVAIS ÉNONCÉ FAUX : le digest d'auteur n'est PAS clé
sous le secret de lecture — il est clé par l'overlay outer, public. C'est le
CONTENU du commit qui est chiffré. La conclusion « vérifier suppose de pouvoir
lire » tient, le mécanisme diffère.
Lot PW (WriteCap = membership) RETIRÉ de la liste des phases : il restait planifié
alors que le brief déclare plus haut qu'il n'y a pas de membership. Il était en
outre justifié par un besoin de dédup par signature que le consommateur n'a pas —
sa dédup s'appuie sur l'overlay.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014GbGgNEHRejVKoREvFuDFg
This commit is contained in:
@@ -364,11 +364,17 @@ rend le découpage P1a/P1b honnête plutôt que cosmétique.
|
||||
le vrai contenu de P2 est **durabilité + cap-less + re-partage par le détenteur**,
|
||||
pas « inverser l'ACL » — sans crypto, inverser ne produit aucun delta observable.*
|
||||
- **P3** — révocation par re-key (invalidation + re-livraison, non-rétroactive).
|
||||
- **PW** — **WriteCap = membership** : primitif distinct (add/remove member,
|
||||
members map lisible par un membre, **vérification d'auteur de commit** → digest
|
||||
par-store), et découpage en stores **exprimable** par le consommateur.
|
||||
*Indépendant de P1–P3 ; **bloquant pour la dédup Festipod**, donc à ordonnancer
|
||||
tôt si c'est ce besoin-là qui presse.*
|
||||
- ~~**PW** — WriteCap = membership~~ **RETIRÉ (2026-07-27)**. Ce lot reposait sur
|
||||
une notion d'appartenance qui **n'existe pas** dans le modèle (tout est clés et
|
||||
URLs) ; voir la section barrée plus haut. Il était en outre justifié par un
|
||||
besoin de **dédup par vérification de signature** que le consommateur n'a
|
||||
finalement pas : sa dédup s'appuie sur l'overlay, store-scopé.
|
||||
*Pour mémoire, deux faits vérifiés au passage, à ne pas re-découvrir* : la
|
||||
vérification de signature d'auteur **n'est pas appelée au runtime** ; et le
|
||||
digest d'auteur n'est **pas** clé sous le secret de lecture — il est clé par
|
||||
l'overlay **outer**, public *(c'est le **contenu** du commit qui est chiffré,
|
||||
d'où le fait que vérifier suppose quand même de pouvoir lire)*. Détail dans
|
||||
`nextgraph-current-state.md`.
|
||||
- **P4** — adapter l'API consommateur + `migration-guide.md`. *La revue adverse
|
||||
requalifie ce lot : ce n'est pas un swap d'API mais une **re-architecture
|
||||
consommateur** (le grant se déplace vers l'acceptation de connexion et devient
|
||||
|
||||
Reference in New Issue
Block a user