Uh oh!
There was an error while loading. Please reload this page.
fix(spec): correct the mispriced SINGLE_RECORD_WRITE_ONLY pricing comment - #8033
Merged
Merged
Conversation
…ment The doc comment priced a batch exemption using #3757's disproven premise (the console rethrows a hard 405 to the user). #3757's author retracted that twice before the issue was closed not planned: useBulkExecutor -> executeBulkBatch catches any adapter throw and falls back to per-row writes, and the grid's built-in bulk-delete gates on the child verb delete (not on bulk). The real cost of an exemption is a wasted round trip plus N per-row writes, not a hard user-visible error. Comment-prose-only change; no runtime/schema/assertion diff. Fixes#7817
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Contributor
📓 Docs Drift CheckNo hand-written docs reference the 0 changed package(s). ✅ |
os-zhuang
marked this pull request as ready for review
August 12, 2026 13:02
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Fixes#7817
What changed
Rewrote the pricing paragraph in the
SINGLE_RECORD_WRITE_ONLYdoc comment inpackages/spec/src/data/api-methods-batch-conformance.test.ts(lines ~48-50 onorigin/main). Comment-prose-only change — zero runtime/schema/assertion diff.Why
The comment priced a batch exemption using #3757's disproven premise: that
data-objectstackrethrows a hard 405 straight to the user with no fallback. #3757's own author retracted that premise twice before the issue was closednot planned, and re-verification against the pinned console build (.objectui-sha6314e87f2) confirmed the retraction:data-objectstack'sbulkUpdate/bulkDeletedoes rethrow — that half was right.useBulkExecutor→executeBulkBatch(packages/core/src/actions/bulkFastPath.ts), catches any throw (405 included) and falls back to per-row writes.packages/app-shell/src/hooks/useObjectActions.ts) usesPromise.allSettledper-row and never callsbulkDeleteat all.delete, not onbulk— gating it onbulkwould be a regression (设计:批量写路由的 405 兜底与导入不对称 —— data-objectstack 直接 rethrow,用户看到硬报错 #3757's second correction).So the real cost of a
SINGLE_RECORD_WRITE_ONLYentry is a wasted round trip plus N per-row writes, not a hard user-visible error. The new paragraph states that, cites #3757's two corrections so the next reader doesn't re-derive it a fourth time, and leaves the "write down why" instruction unchanged (it was already correct).Acceptance
Byte-identical outside the comment — verified: every changed line in the diff is a
* ...comment-continuation line; no non-comment line touched.Changeset
Measured, not assumed:
packages/spec/tsconfig.jsonexcludes**/*.test.tsfrom the build, andpackages/spec/package.json'sfilesfield only shipsdist/json-schema/liveness(not source). Grepped the builtdist/andapps/docsfor the old phrase and for any reference to this test file — no hits. The comment never reaches a consumer, so no changeset per the repo's spec-surface convention. Will applyskip-changesetafter the PR is up.Local gates (all pass)
pnpm check:adr-anchorspnpm check:changeset-gate-self-testspnpm --filter @objectstack/lint run check:doc-formula-expressions(after building@objectstack/formula— build-closure-first)pnpm check:docs-audit-scopepnpm check:driver-conformancepnpm check:i18n(after building@objectstack/cli— build-closure-first)pnpm check:merge-driverpnpm check:release-bodypnpm check:spec-parsed-aliaspnpm check:nul-bytespnpm --filter @objectstack/spec exec vitest run src/data/api-methods-batch-conformance.test.ts— 4/4 tests pass unchangedGenerated by Claude Code