You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
docs(spec,service-datasource): name the three CryptoContext producer vocabularies and narrow the AAD guarantee (#12599) (#12838)
`CryptoContext.namespace` / `.key` documented themselves as a settings
coordinate, one layer below the three producers that construct the type:
SettingsService (settings namespace / specifier key), the ObjectQL engine's
secret-field path (object name / field name) and the datasource secret binder
(caller-supplied namespace, default `datasource` / datasource name). The prose
now names all three, and `CryptoHandle.id`, `encrypt()` and `rotateKey()` stop
describing `sys_setting.value_enc` as the general destination of a handle.
The load-bearing correction is the AAD sentence, which claimed a binding over
this pair "Helps reject ciphertexts that were copied across namespaces". The
pair is one flat space shared by all three vocabularies, `sys_secret` declares
it non-unique by design, and nothing reserves a name in one vocabulary against
another — so the sentence is replaced by the guarantee that actually holds:
such a binding rejects a swap WITHIN one producer's vocabulary and does NOT
exclude a cross-vocabulary pair. The docblock records this as the contract's
present state and names the intended end state so the weak guard is not read
as the designed one.
The identical settings-only prose on `DatasourceSecretBinderDeps.namespace`
is corrected in the same change.
Documentation only: no behavior change, no schema shape change — `gen:schema`,
`gen:openapi` and `gen:docs` all regenerate byte-identically over this diff.
Recorded under the maintainer ruling of 2026-08-27 on #12599.
Co-authored-by: os-sales <sales@objectstack.ai>
Co-authored-by: Claude <noreply@anthropic.com>
docs(spec,service-datasource): `CryptoContext` documents the three producer vocabularies, and the AAD sentence narrows to the guarantee that holds (#12599)
7
+
8
+
Documentation-only correction to the `ICryptoProvider` contract. No behavior
9
+
changes and no schema shape changes: `gen:schema`, `gen:openapi` and `gen:docs`
10
+
all regenerate byte-identically over this diff. It ships because the corrected
11
+
TSDoc is emitted into the published `.d.ts`, so it is what every consumer of
12
+
`@objectstack/spec` reads at the call site.
13
+
14
+
`CryptoContext.namespace` / `.key` documented themselves as a settings
15
+
coordinate ("Settings namespace the value belongs to" / "Specifier key within
16
+
the namespace"), one layer below the three producers that actually construct
17
+
the type:
18
+
19
+
| producer |`ctx.namespace`|`ctx.key`| where `handle.id` is recorded |
0 commit comments