From f6ed26493711db7a7f598c60a0cded074a6f1273 Mon Sep 17 00:00:00 2001 From: Sylvain Duchesne Date: Mon, 28 Sep 2026 14:04:28 +0200 Subject: [PATCH] fix: ShapeQuery est annonce-not-written, pas une invention ShapeQuery declare exactement la forme que .project/rules/nextgraph/surface- mirrors-the-sdk.md enregistre comme la direction annoncee par les developpeurs de NextGraph pour useShapeQuery - { data, isPending, isSuccess, isError, error } - le mot "ShapeQuery" y figure textuellement. useShapeQuery lui-meme porte deja kind=announced-not-written en citant ce document ; son type de retour portait kind=invention level=none ref=none, une sous-evaluation de la meme annonce. Re-annote ShapeQuery avec kind=announced-not-written level=3, citant le meme document et la meme date/auteur (announced-by=nextgraph-developers@2026-09-16). Ne change ni la forme de ShapeQuery ni sa position (toujours publie au-dessus de la barriere, ou elle a toujours ete correcte) - seule la metadonnee de provenance change, invisible a un consommateur. Aucun bump de version : rien sous ## Surface ni ## Guarantees ne bouge. ShapeObservable reste inchange : son enveloppe getSnapshot/subscribe/refetch n'a aucun ancrage textuel dans l'annonce (le mot n'y figure pas), et reste une composition propre a ce paquet - question laissee au proprietaire. --- packages/polyfill/src/surface/use-shape-query.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/polyfill/src/surface/use-shape-query.ts b/packages/polyfill/src/surface/use-shape-query.ts index 9364ee4..8ae00ad 100644 --- a/packages/polyfill/src/surface/use-shape-query.ts +++ b/packages/polyfill/src/surface/use-shape-query.ts @@ -192,7 +192,7 @@ import type { BaseType, ShapeType } from "@ng-org/shex-orm"; * (never `undefined`), and its items are the SHAPE's own objects - what the ORM * returns, carrying `@id`, `@graph` and the shape's readable predicates. */ -// @provenance ShapeQuery kind=invention level=none ref=none - no upstream type carries a FAILED read. The React hook's result carries a load state (`isLoading`) beside its data, so pending-vs-ready has a counterpart; what has none is the third state, because `readyPromise` is built with `resolve` alone and a refused `orm_start_graph` is only `console.error`'d - a failed read is an eternal pending at every level, so `isError` is answered nowhere +// @provenance ShapeQuery kind=announced-not-written level=3 ref=.project/rules/nextgraph/surface-mirrors-the-sdk.md:ShapeQuery announced-by=nextgraph-developers@2026-09-16 - the announced direction for `useShapeQuery` (see that symbol's own annotation) is exactly this shape, `{ data, isPending, isSuccess, isError, error }`; nothing in the tree carries `isError` yet - the React hook's result carries a load state (`isLoading`) beside its data, so pending-vs-ready has a counterpart, but a refused `orm_start_graph` is only `console.error`'d and `readyPromise` is built with `resolve` alone, so a failed read is an eternal pending at every level today export interface ShapeQuery { /** The objects of the requested shape/scope. Empty array when none (never undefined). * When `isError`, this is the last read that ANSWERED - kept, not cleared, because an