feat(spec): AnalyticsResult declares object, the dataset answer's base object - #20687
Conversation
…e object AnalyticsResult (contracts) and AnalyticsResultResponseSchema (api) both gain the optional member `object: string`: the base object of the dataset an answer was computed from. The contract asks every queryDataset answer to carry it, whatever dimensions are selected and whether or not rows came back; a cube query answer has no dataset behind it and carries none. Declaration only. Pins: the response schema preserves data.object on a dimension-less, zero-row answer and refuses a non-string; a queryDataset implementation returns it against the plain AnalyticsResult. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
Generated by `pnpm --filter @objectstack/spec gen:docs`, the one artifact `check:generated` named stale after the response schema gained `object`. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
Clause-② is yes (widening): AnalyticsResult and its response schema gain one optional member. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 1 package(s): 2 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 2 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 137 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 61bb4c1d87b6cc284c1eca41eb8ffff36dfe2ae7 && git checkout 61bb4c1d87b6cc284c1eca41eb8ffff36dfe2ae7
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 1a75e39d4a0cd177b6fbef4348da52c5a67407b0 9810aebb1391d05d70adc8b17d7a7dccdc07ffa9 && git checkout -B drift-repro 1a75e39d4a0cd177b6fbef4348da52c5a67407b0 && git merge --no-ff 9810aebb1391d05d70adc8b17d7a7dccdc07ffa9
node scripts/docs-audit/affected-docs.mjs --json 1a75e39d4a0cd177b6fbef4348da52c5a67407b0
|
Contract reviewServed-tier: Inputs: card #20647 (body and all 3 comments: triage ① Derived judgmentsAccept-set and public-surface changes the diff implies
Every author-shown or AI-facing sentence, tested against the tree Contract TSDoc (
Schema
Test comments: "this schema strips an undeclared key, so an undeclared Changeset
PR body: "declare an optional ② Semver levelThe diff moves published source in one package only, ③ Boundary flagsDev report
Check-runs on Implemented-by: VERDICT: PASS Adopted and posted by
Generated by Claude Code |
Closes #20647
AnalyticsResultandAnalyticsResultResponseSchema.datadeclare an optionalobject: string, the base object of the dataset an answer was computed from. This is the declaration only; setting it on every dataset answer is #20644's service change.Clause-②: yes (widening)
🤖 Generated with Claude Code
https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1