docs: dire partout que la lecture par lot n'existe plus
Le contrat publie et l'api-contract etaient traites avec le retrait lui-meme ; restaient les documents qui decrivaient readUnion comme la primitive de lecture du paquet, ou qui nommaient le module disparu. Ce que les lecteurs apprennent maintenant : lire un document, c'est docs.sparqlQuery ancre dessus, et lire plusieurs documents, c'est cet appel une fois par document -- avec la decision sur une lecture qui echoue ecrite au point d'appel. Deux consequences sont dites plutot que decouvertes : une lecture refusee leve au lieu de rendre une liste vide, et les sujets sous le prefixe reserve urn:ng-eventually: reviennent dans le resultat, a l'appelant de les ignorer -- sans aucun gain de droits, les deux registres qu'un document ordinaire porte etant l'adresse de sa boite et, pour un document public, la cle que son magasin sert deja a qui la demande. Les briefs dates ne sont pas touches : ils decrivent un etat de juillet, et le reecrire falsifierait ce qui avait ete decide alors.
This commit is contained in:
@@ -82,7 +82,7 @@ function unescapeLiteral(s: string): string {
|
||||
}
|
||||
|
||||
/** A stateful fake `ng`: the shim SPARQL, the inbox SPARQL, and the anchored
|
||||
* per-doc `?s ?p ?o` read the read-model uses. */
|
||||
* per-doc `?s ?p ?o` read the anchored document read uses. */
|
||||
function makeFakeNg() {
|
||||
const quads: Quad[] = [];
|
||||
let docCounter = 0;
|
||||
|
||||
@@ -537,10 +537,11 @@ test("a broker that cannot read the referenced objects costs ONE deposit, not th
|
||||
fake.quads.filter((q) => q.p === `${INBOX}:payload` && q.o.includes("did:ng:o:")).length;
|
||||
expect(queued()).toBe(3);
|
||||
|
||||
// The broker goes quiet on the referenced objects. `read-model.readDoc` SWALLOWS a failed
|
||||
// read and answers `[]` — so the arm is TOLD, through the `onUnreadable` reporter, rather
|
||||
// than left to guess from an empty answer. Until 2026-08-26 this was classed as an
|
||||
// ordinary refusal: the drain reported it and carried on, popping and destroying all three
|
||||
// The broker goes quiet on the referenced objects. The read THROWS, so the arm is told a
|
||||
// failure happened rather than left to guess it from an empty answer — a distinction the
|
||||
// batch read of the day made with an `onUnreadable` reporter, because it swallowed the
|
||||
// failure into `[]`, and `1.0.0-dev.8` makes with the language. Until 2026-08-26 this was
|
||||
// classed as an ordinary refusal: the drain reported it and carried on, popping and destroying all three
|
||||
// while printing "will not be retried" for each.
|
||||
const realQuery = fake.sparql_query;
|
||||
fake.sparql_query = (async (...a: unknown[]) => {
|
||||
|
||||
@@ -208,7 +208,7 @@ function makeWallet(quads: Quad[] = []) {
|
||||
const g = wrapped ? wrapped[1]! : anchor;
|
||||
const inGraph = quads.filter((q) => q.g === g);
|
||||
|
||||
// The whole-document read (`read-model.readDoc`).
|
||||
// The whole-document read (`read-document.readDocumentSubjects`).
|
||||
if (/SELECT\s+\?s\s+\?p\s+\?o/.test(query)) {
|
||||
return {
|
||||
results: {
|
||||
|
||||
@@ -305,7 +305,7 @@ export function makeWallet(quads: Quad[], options: WalletOptions = {}): FakeWall
|
||||
if (cold && target !== undefined && !synced.has(target)) return { results: { bindings: [] } };
|
||||
const inGraph = quads.filter((q) => q.g === g);
|
||||
|
||||
// The whole-document read (`read-model.readDoc`).
|
||||
// The whole-document read (`read-document.readDocumentSubjects`).
|
||||
if (/SELECT\s+\?s\s+\?p\s+\?o/.test(query)) {
|
||||
return {
|
||||
results: {
|
||||
|
||||
Reference in New Issue
Block a user