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