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
Three measured-false behavioral claims corrected against the implementation:
- titleFormat is labelled 'Retired (ADR-0079)' but is DEPRECATED: still a
declared ObjectSchema key, still parses, still read by objectql's registry.
- tenancy.tenantField is shown with '// default: tenant_id'. It carries NO
default; the platform tenant column is organization_id.
- maskingRule is claimed 'pruned from FieldSchema' (twice). It is live, with a
runtime enforcer in plugin-security's FieldMasker.
Token ratchet: SKILL.md shrinks (13783 -> 13782).
Part of #13675
Claude-Session: https://claude.ai/code/session_01EXxTW8mvPBhoHxmyPZ63de
Co-authored-by: Claude <noreply@anthropic.com>
|`datasource`|`'default'`| Target datasource ID for virtualized data |
79
79
|`nameField`| derived (e.g. `'name'`/`'title'`) |**Canonical** record-title field — the stored field used as the record's display name. Use a single text/email field, or a formula field (`returnType: 'text'`) for a composite title |
80
80
|`displayNameField`| — |**Deprecated** alias for `nameField` (still honored as a fallback) |
81
-
|`titleFormat`| — |**Retired (ADR-0079)** — a render-only template the server can't return or query. Use `nameField`; for a composite title, designate a `returnType: 'text'` formula field as `nameField`|
81
+
|`titleFormat`| — |**Deprecated, not removed (ADR-0079)** — render-only: the server can't return or query it. Use `nameField` (it wins); for a composite title, designate a `returnType: 'text'` formula field as `nameField`|
|`fieldGroups`| — | Ordered list of logical field groups for forms/detail pages (see [Field Groups](#field-groups-mvp)) |
84
84
|`lifecycle`|`record` semantics (permanent) | Data retention/rotation/archival contract. **Required for append-only, high-write-rate objects** — a `telemetry`/`transient`/`event`/`audit` class must declare a bounding policy or parsing fails (see [Data Lifecycle & Retention](./rules/lifecycle.md)) |
@@ -740,9 +740,9 @@ A legacy SQL-style `=` / `IN (...)` predicate still compiles via a **deprecated*
740
740
741
741
### Sensitive fields — `secret` type + `requiredPermissions`
742
742
743
-
The former `encryptionConfig`and `maskingRule`field keys were**pruned from
744
-
`FieldSchema`** — they had no runtime consumer (dead surface; setting them
745
-
protected nothing). The real channels are:
743
+
The former `encryptionConfig` field key was**pruned from`FieldSchema`** — it
744
+
had no runtime consumer. `maskingRule` is **live** (plugin-security's
745
+
FieldMasker enforces it). The real channels are:
746
746
747
747
**Encrypted-at-rest values — `type: 'secret'` (ADR-0100).** For reversible
748
748
machine credentials (DB passwords, API keys, tokens): the engine encrypts the
@@ -783,8 +783,8 @@ For SaaS, set `tenancy` on the object schema for row-level tenant isolation
0 commit comments