Commit Graph

11 Commits

Author SHA1 Message Date
Sylvain Duchesne 0c21adebf2 feat!: retirer readUnion de la surface publiee, et lire un document par requete ancree
readUnion etait N requetes ancrees plus une politique de lot : une lecture
qui echoue avalee en reponse vide, un document dont on ne detient pas la cle
ecarte au lieu d'etre refuse, un regroupement en sacs de proprietes, et le
filtrage du prefixe reserve. Rien en amont ne repond a cette composition, et
son annotation citait sparql_query -- une citation exacte attachee a une
affirmation fausse. Une composition ne s'aligne pas sur une fonction.

Ce qui reste est ce qu'il y avait dessous : docs.sparqlQuery ancre sur un
document, qui va deja chercher la cle servie par le magasin public -- donc
une reference nue suffit toujours pour lire un document public, sans rien
changer a useShapeQuery. Lire plusieurs documents, c'est cet appel une fois
par document, et la tolerance a une lecture qui echoue revient a l'appelant,
la ou l'amont la laisse : une requete ancree sur un depot que le verifier ne
detient pas rejette.

Cote src, l'unique lecture interne restante devient read-document.ts : un
document, une requete ancree, precedee de l'ouverture du depot -- barriere
que index-deposit consulte pour distinguer une absence d'un depot non
synchronise. Le harnais e2e et l'exemple composent la leur, avec leur catch
visible au point d'appel.

Version majeure : 1.0.0-dev.8.
2026-09-21 14:08:05 +02:00
Sylvain Duchesne d0ea043a5b feat!: la famille ORM est publiee enveloppee, et le ng publie cesse de rendre des promesses 2026-09-21 12:38:17 +02:00
Sylvain Duchesne 77e78ec81d feat!: useShapeQuery lit par la requete de forme du SDK 2026-09-21 11:41:31 +02:00
Sylvain Duchesne d0ca5c5d41 feat!: useShapeQuery prend le Scope du SDK, et un store se nomme par sa reference 2026-09-16 16:47:09 +02:00
Sylvain Duchesne f6a48a4507 fix: un dépôt est délivré une fois et retiré, comme en amont 2026-08-26 14:11:56 +02:00
Sylvain Duchesne abfb619c76 docs: ce qu'un IRI dit en amont, et pourquoi l'échafaudage ne partage pas le namespace de la donnée 2026-08-21 22:28:09 +02:00
Sylvain Duchesne fafac38907 docs: dire l'observation continue, sa limite, et ce qu'ensureIdentity ne promet pas 2026-08-17 14:47:40 +02:00
Sylvain Duchesne 6eaff0b985 docs: une seule copie du polyfill par application, sinon deux identités courantes 2026-08-17 11:48:25 +02:00
Sylvain Duchesne 72bb72c0b7 docs: useShape ne démarre pas contre un broker antérieur au renommage 2026-08-17 11:05:38 +02:00
Sylvain Duchesne bf1e16e1f3 docs: un tag de dépôt ne dit pas quel paquet il a figé 2026-08-17 10:53:05 +02:00
Sylvain Duchesne 1957a8fe0c docs: des contrats à deux voix, et une politique de version qui dit la vérité
Le régime des contrats est devenu bidirectionnel : chaque partie rédige sa
position dans son dépôt et tire celle de l'autre. Le fournisseur écrit son
engagement, chaque consommateur écrit sa déclaration — ce qu'il appelle
vraiment, sous quelles contraintes, et avec quelles frictions.

Ce dernier point change nos usages : la section Frictions est le chemin par
lequel un consommateur expose un problème, le canal hors-bande ne portant que le
signal. Les huit points que Festipod nous a remontés auraient dû arriver par là,
et notre réponse appartient à l'engagement plutôt qu'à un échange qui s'évapore.

Trois interfaces existaient, une seule était documentée. Elles ont maintenant
leur dossier et leurs deux voix : la surface du polyfill, ng-e2e-helpers, et la
couche d'indexation. On a écrit les engagements dont nous sommes l'auteur et les
déclarations des consommateurs qui sont à nous — délibérément AUCUN
usage_festipod : ce n'est pas notre dépôt, et décider à leur place ce qu'ils
consomment viderait le mécanisme de son sens.

Et la Change policy s'inverse. Elle disait « ce paquet n'offre pas de stabilité
sémantique ». Refuser un schéma ne ralentit pas le mouvement — ça retire au
consommateur le seul outil pour le gérer, alors qu'on faisait déjà le travail
d'une publication versionnée sans lui en donner l'étiquette.

Semver, donc, et les majeurs sont le cas NORMAL : une surface qui converge vers
une cible qu'elle n'atteint pas encore casse souvent, et c'est le signal vrai.
Le texte dit les déclencheurs plutôt que le nom du schéma — retirer un symbole
publié ou resserrer un appel est un majeur, ajouter est un mineur. Version
pleine sur main, pré-version sur une branche : Festipod peut épingler
aujourd'hui sans qu'on lui promette du stable, et sans qu'on ait à lui retirer
son adresse à la fusion.

Au passage, la signature publiée de watchShape était fausse — elle annonçait un
argument unique là où l'appel en prend deux. Rapporté par Festipod, confirmé
indépendamment.
2026-08-17 10:10:12 +02:00