fix: les cinq types de champs de EventuallyConfig rejoignent la barriere polyfill-era
NgLike, UseShapeLike, OrmSubscriptionLike, GetObjectsLike et InsertObjectLike n'existent que pour decrire ce que configure() recoit (les champs de EventuallyConfig), et configure()/EventuallyConfig sont deja, sans ambiguite, sur la liste de suppression - verifie en relisant index.ts : configure et EventuallyConfig sont bien sous la barriere POLYFILL-ERA. Les cinq portaient deja l'annotation honnete kind=invention level=none ref=none (aucun equivalent cible), mais siegeaient sous l'entete qui promet un equivalent cible pour chaque symbole liste. Deplace les cinq exports sous la barriere, a cote de EventuallyConfig. Aucune signature ne change - memes noms, memes formes, toujours exportes depuis cette entree unique - seule la classification qui dit a un consommateur ce qu'il supprimera a la migration est corrigee. C'est un PATCH au sens de la politique de version du contrat concept : rien ne bouge sous ## Surface ni ## Guarantees. Version 1.0.0-dev.12 -> 1.0.0-dev.13, entree ajoutee au contrat concept et a docs/api-contract.md section 14, dans le meme commit que le changement.
This commit is contained in:
@@ -782,14 +782,18 @@ The entry used to say `export * from "./model/types"`, a blanket re-export publi
|
||||
> **A type is published only if a PUBLISHED SIGNATURE uses it.**
|
||||
|
||||
```ts
|
||||
export type { Nuri, NuriLike, PrincipalId } from "./model/types";
|
||||
// ... elsewhere in the entry, in the POLYFILL-ERA block beside EventuallyConfig
|
||||
// (moved there in 1.0.0-dev.13 - see below):
|
||||
export type {
|
||||
Nuri, NuriLike, PrincipalId, NgLike, UseShapeLike, OrmSubscriptionLike,
|
||||
GetObjectsLike, InsertObjectLike,
|
||||
NgLike, UseShapeLike, OrmSubscriptionLike, GetObjectsLike, InsertObjectLike,
|
||||
} from "./model/types";
|
||||
```
|
||||
|
||||
Each one's warrant: `Nuri` is what every reference-returning call returns and `NuriLike` what every entry accepts (§ 10, § 11); `Scope` left this list in `1.0.0-dev.5` - the read takes the SDK's own `Scope`, re-exported from `@ng-org/orm`, and a store is named by its reference (§ 5, § 12); `PrincipalId` is `ensureIdentity`'s return and a field of `Deposit`, `PostOptions` and `EventuallyConfig` (§ 2bis, § 9, § 1); `NgLike`, `UseShapeLike`, `OrmSubscriptionLike`, `GetObjectsLike` and `InsertObjectLike` type the five injected members of `EventuallyConfig` (§ 1), the last two since `1.0.0-dev.7` (§ 6bis). `OrmSubscriptionHandle` - what the last of them RETURNS - is deliberately not published: an application hands the shape query in and reads the snapshot back, and publishing the handle would offer a path around the capability filter and the shared-wallet identity boundary.
|
||||
|
||||
**These five moved out of this list in `1.0.0-dev.13` (2026-09-28), into the entry's POLYFILL-ERA block beside `EventuallyConfig` - a PATCH, not a removal: same five names, same five shapes, still exported from this one entry.** Each was already annotated `kind=invention level=none ref=none` (honestly - none has a target counterpart at any level), which had always sat oddly under the entry's SDK-SHAPED heading ("a target counterpart for every symbol"). All five exist only to describe what `configure` receives, and `configure` / `EventuallyConfig` were already on the deletion list (§ 1: "NO COUNTERPART, by design... `configure` / `configureStoreRegistry` are deleted"). The move corrects which list tells a consumer their fate at migration; it changes nothing under `## Surface` or `## Guarantees` in the concept contract, so it is a patch by that leaf's own `## Change policy`.
|
||||
|
||||
Two types the blanket export published are now internal, each because **nothing published names it**:
|
||||
|
||||
- **`ReadCap`** — no published signature takes or returns one. Its users are two private helpers of `surface/inbox.ts` (`capsSeenIn`, `capOfPayload`) and the emulated registers. Publishing it advertised a value a consumer has no published call to obtain, and deliberately so: `linkTo` was removed precisely for handing one out (§ 0 of `readcap-and-nuri-model.md`), and `mintCap` is unreachable from outside (§ 11). The only use a consumer could make of it is a cast — which is what the surface's permissive-in / precise-out design exists to make unnecessary.
|
||||
|
||||
Reference in New Issue
Block a user