docs(audit): re-validate the #2901 audit against spec 17, with three corrections - #2975
Merged
Merged
Conversation
…corrections The audit was run against 16.0.0-rc.0; objectui has since moved to 17.0.0-rc.0 (#2950). Re-extracted every enum: of the 30 named `ui/` exports, **zero changed values**. `DensityModeSchema`/`WcagContrastLevelSchema` were removed (resolving a Tier 4 row upstream) and `ChartAggregateFunctionSchema` added. Three corrections, one of them reversing an attribution: 1. `before`/`after` were listed as objectui-local dialect. They are canonical `VIEW_FILTER_OPERATORS` members. The real defect is that the spec's view vocabulary and its AST vocabulary disagree on 8 of 19 members — six masked only by an adapter alias table that happened to be complete for them. 2. "Cheap while spec 16 is still RC" was wrong twice: there is no version window, and RC status is not what makes narrowing risky. Narrowing is loud for new authoring and silent for stored data, and `saveMeta` persists verbatim so the schema's own normalization never reaches the row. 3. The Tier 1/Tier 2 split missed a third outcome — a filter not applied at all, returning a superset. Ranks with Tier 1. Also records that the "objectui resolves two spec versions" finding was a stale-checkout artifact, not a defect, so nobody re-derives it. Refs #2901, objectstack#3948 Co-Authored-By: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The audit in #2937 was run against
@objectstack/spec@16.0.0-rc.0. objectui has since moved to17.0.0-rc.0(#2950), so a reader would be applying its findings to a different spec than it examined. Re-extracted and re-diffed everything.The enum-value findings all hold. Of the 30 named
ui/enum exports, zero changed values between 16 and 17. Only movement:DensityModeSchemaandWcagContrastLevelSchemaremoved (which resolves a Tier 4 row upstream — enforce-or-remove was applied),ChartAggregateFunctionSchemaadded.Three corrections, though, and the first reverses something the doc asserted:
before/afterare spec vocabulary, not renderer dialect. The Direction B table called them objectui-local with "no spec vocabulary defining them". They are canonicalVIEW_FILTER_OPERATORSmembers (ui/view.zod.ts:90). The actual defect is worse: the spec's view-authoring vocabulary and its query-layer AST vocabulary disagree on 8 of 19 members, includingequals. Six were masked only because objectui's adapter happened to translate them; the two it missed returned unfiltered result sets silently. Fixed in fix(list,data): bridge every spec view operator onto the filter AST (#2901) #2974; server side at A filter with an operator outside VALID_AST_OPERATORS is silently dropped, not rejected — single-condition views return unfiltered results objectstack#3948."Cheap while spec 16 is still RC" was wrong twice — no version window exists, and RC status isn't what makes narrowing risky. Narrowing is loud for new authoring and silent for stored data, and
saveMetapersists the authored body verbatim so the schema's own normalization never reaches the row.The Tier 1/Tier 2 split missed a third outcome: a filter not applied at all, returning a superset. Ranks with Tier 1, not Tier 2.
Also records — so nobody re-derives it — that the "objectui resolves two spec versions simultaneously" finding was a stale-checkout artifact rather than a defect.
Docs-only. Appended as an addendum rather than rewriting the body, so the original point-in-time audit stays readable and the corrections are attributable.
🤖 Generated with Claude Code