Skip to content

FR-26219 Make spiceClient private - #80

Closed
dianaKhortiuk-frontegg wants to merge 2 commits into
fr-26219-sdk-hardeningfrom
fr-26219-sdk-private-spice-client
Closed

FR-26219 Make spiceClient private#80
dianaKhortiuk-frontegg wants to merge 2 commits into
fr-26219-sdk-hardeningfrom
fr-26219-sdk-private-spice-client

Conversation

@dianaKhortiuk-frontegg

@dianaKhortiuk-frontegg dianaKhortiuk-frontegg commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Folded into #81 — a one-line PR cost more to track than it saved.

The change is unchanged: spiceClient becomes private, and the @deprecated note goes with it since a private field can't be deprecated for callers who can no longer reach it. It's now the last commit on fr-26219-sdk-namespaced-reads (370be48), and #81's description records the breaking change.

@dianaKhortiuk-frontegg
dianaKhortiuk-frontegg force-pushed the fr-26219-sdk-private-spice-client branch from 7a807a1 to 5543994 Compare September 9, 2026 11:09
@dianaKhortiuk-frontegg
dianaKhortiuk-frontegg force-pushed the fr-26219-sdk-private-spice-client branch from 5543994 to 8371bc3 Compare September 9, 2026 11:45
@dianaKhortiuk-frontegg
dianaKhortiuk-frontegg force-pushed the fr-26219-sdk-private-spice-client branch from 8371bc3 to ee9d9aa Compare September 9, 2026 11:51
@dianaKhortiuk-frontegg
dianaKhortiuk-frontegg force-pushed the fr-26219-sdk-private-spice-client branch from ee9d9aa to 0728917 Compare September 9, 2026 12:19
@dianaKhortiuk-frontegg
dianaKhortiuk-frontegg force-pushed the fr-26219-sdk-private-spice-client branch from 0728917 to 4ee3ed6 Compare September 9, 2026 14:53
Answers the "we prefer not using regex, hard to debug" comments on #78. The
spec-level guard matched object-type fields by regex over source text, so it
could only ever approximate the thing it was checking. The rule is type-aware
instead: it flags an object-type field whose contextual type comes from
@authzed/authzed-node and is not built through namespace.type().

Named for what it enforces, matching SchemaNamespace.
BREAKING CHANGE: spiceClient is no longer public. Direct access bypasses
instance namespacing and can read another instance's data, which is why it
carried @deprecated. Use isEntitledTo, the lookup methods, or readSchemaFor
with an instanceId instead.

Kept as its own change so removing a public field is a decision a reader can
see, rather than a side effect of an unrelated refactor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant