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
Closes#3726. Closes#3733.
The 2026-06 field prune removed five keys — encryptionConfig, maskingRule,
auditTrail, cached, dataQuality — as "dead in both layers". Three took their
value schemas with them; two did not. `DataQualityRulesSchema` and
`ComputedFieldCacheSchema` stayed on the published API surface and in the
generated reference docs long after their keys were gone from FieldSchema,
with zero consumers anywhere in the tree.
Removed:
- DataQualityRulesSchema, DataQualityRules, DataQualityRulesInput (#3726)
- ComputedFieldCacheSchema, ComputedFieldCache (#3733)
- the published data/DataQualityRules.json and data/ComputedFieldCache.json
api-surface.json goes 4383 -> 4381, exactly the 3 + 2 entries the two issues
predicted.
#3726's checklist recorded `cached` as already cleaned; it was not. That row is
corrected here — the prune left two orphans, not one.
One correction to #3726's stated rationale, verified by parse: FieldSchema is
NOT .strict(). Authoring either shape succeeds and the key is silently dropped:
FieldSchema.safeParse({ name: 'ssn', type: 'text',
dataQuality: { uniqueness: true } })
-> parse success: true, dataQuality survived: false
FieldSchema.safeParse({ name: 'total', type: 'formula',
cached: { enabled: true, ttl: 3600 } })
-> parse success: true, cached survived: false
Silent stripping is worse than the parse error the issue assumed: declared in
source, absent from the contract, enforced by nothing, with no feedback — the
ADR-0104 failure class the accept/maxSize declarations were added to close. The
conclusion is unchanged; the case for removal is stronger.
The json-schema ratchet (#2978) caught both retirements as designed; the
manifest keys are removed as its deliberate-retirement step. A tombstone in
field.zod.ts now covers both orphans and records that all five keys are finally
dead in both layers, as it always claimed.
Full build (71 tasks), test suite (132 tasks), all six spec drift checks and
check:liveness green locally against current main; 16/16 CI checks green.
refactor(spec)!: finish the 2026-06 field prune — drop both orphaned value schemas, `DataQualityRulesSchema` and `ComputedFieldCacheSchema` (#3726, #3733)
6
+
7
+
**BREAKING** (the `!` marker and this changeset are the breaking-change record;
8
+
the train ships as the v17 major — see the `v17-rc-anchor` changeset), though
9
+
nothing in-tree or out could have depended on either meaningfully. Removed from
0 commit comments