diff --git a/packages/client/README.md b/packages/client/README.md index 784db94..661b870 100644 --- a/packages/client/README.md +++ b/packages/client/README.md @@ -20,6 +20,18 @@ const set = useShape(MyShape, scope); // filtered to what the identity may rea await inbox.post(targetInbox, ref); // deposit (anticipated SDK API) ``` +## Principle — the polyfill compensates, it never extends + +**The polyfill's ONLY reason to exist is to bridge a NextGraph implementation gap +or a bug.** Every non-SDK surface must map to a capability NextGraph will provide +natively, and must fall away at that point. The polyfill MUST NOT add functionality +of its own — no bespoke features, no observability/tooling, no convenience API that +isn't strictly "NextGraph will do this natively later." The test for any proposed +addition: *does it compensate a real, exhibited NextGraph gap or bug?* If not, it +does not belong here — build it in the consumer application, not in the polyfill. +Corollary: a compensation whose gap is not actually exhibited on the target broker +is dead weight, not defensive code — it should be removed, not kept "just in case." + What the polyfill adds on top of the real SDK (each emulated for now, native as NextGraph matures): - Shared-wallet identity (one wallet for everyone; the current identity id is