Skip to content

chore(liveness): flip report.order to live now that objectui lowers it (#3916) - #3938

Merged
os-zhuang merged 1 commit into
mainfrom
claude/matrix-report-date-ordering-4nou69
Jul 29, 2026
Merged

chore(liveness): flip report.order to live now that objectui lowers it (#3916)#3938
os-zhuang merged 1 commit into
mainfrom
claude/matrix-report-date-ordering-4nou69

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

#3916 的收尾。#3921 的后续,不是它的重开——那个 PR 已经合并,这是一次全新改动。

背景

ReportSchema.order#3921 里是以 planned + authorWarn 上线的,因为当时它只有一半:schema 接受声明、reportSelectionOrder 负责降级、executor 会应用排序,但 objectui 的 DatasetReportRenderer 自己构造它 post 的 selection,从来没把 report.order 带进去——所以作者写的排序到不了任何查询。

当时把它标成 live 就正是这个闸门存在的意义所要拦下的那种谎报。

现在

objectui#2964 已合并(85294442),补上了那一半:useDatasetRows 作为所有报表路径背后唯一的取数收口,现在把降级后的排序带上了四个调用点——分组表、内嵌图表、matrix 交叉表、每个 joined block——排序进入 refetch signature,并按子选择收窄,以免图表更窄的 x/y 查询 post 一个它没选的键。

所以 ledger 条目:

  • statusplanned 翻成 live
  • 补上两条框架侧 evidence 路径(reportSelectionOrderresolveOrdering/applyOrdering,都能在本 checkout 里解析)和 verifiedAt 时间戳;
  • 去掉 authorWarn / authorHint —— 那条 advisory 说的是「你写了这个但运行时什么都不做」,现在不成立了,留着反而误导。

note 里同时记下了 objectui 侧的落地位置,供下次复核。

与时间轴默认排序无关

这次 issue 同时发的另一个东西——选中的时间维度在服务端默认升序——不受影响,它从一开始就独立 live,不需要任何渲染器改动。月/季度的 matrix 列不声明任何 order 也是按时间顺序的。

验证

pnpm --filter @objectstack/spec check:liveness

report      21 classified (live 21)
evidence paths: 158 resolved against this checkout, 36 attributed to another repo
✓ all governed-type properties are classified; all bound high-risk proofs resolve.

(此前是 live 20, planned 1,evidence 156。)

本仓无行为变更,ledger 本身就是交付物。

🤖 Generated with Claude Code

https://claude.ai/code/session_01CYJ5WSiCgd522s1zCWtmFT


Generated by Claude Code

… it (#3916)

`ReportSchema.order` shipped as `planned` + `authorWarn` because only half of it
existed: the schema accepted the declaration, `reportSelectionOrder` lowered it
and the executor applied it, but objectui's `DatasetReportRenderer` built the
selection it posted and never carried `report.order` into it — so an authored
ordering reached no query. Marking it `live` then would have been the exact
failure the gate exists to catch.

objectui#2964 landed the wiring: `useDatasetRows`, the single fetch choke point
behind every report path, now carries the lowered ordering across all four call
sites (grouped table, embedded chart, matrix cross-tab, each joined block), with
the ordering in the refetch signature and narrowed per sub-selection so the
chart's x/y query cannot post a key it never selected.

The entry therefore flips to `live`, gains the two framework evidence paths
(which resolve in this checkout) and a `verifiedAt` stamp, and drops
`authorWarn` / `authorHint` — the advisory said the declaration did nothing at
runtime, which is no longer true.

The separate default this issue also shipped is unchanged and was already live
on its own: a selected time dimension sorts ascending server-side, so month and
quarter matrix columns are chronological with no `order` declared at all.

No behaviour change in this repo; the ledger is the deliverable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYJ5WSiCgd522s1zCWtmFT
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Jul 29, 2026 11:04am

Request Review

@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation tooling labels Jul 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/spec.

105 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/agents.mdx (via @objectstack/spec)
  • content/docs/ai/skills-reference.mdx (via @objectstack/spec)
  • content/docs/ai/skills.mdx (via @objectstack/spec)
  • content/docs/api/client-sdk.mdx (via @objectstack/spec)
  • content/docs/api/environment-routing.mdx (via @objectstack/spec)
  • content/docs/api/error-catalog.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-server.mdx (via @objectstack/spec)
  • content/docs/api/index.mdx (via @objectstack/spec)
  • content/docs/automation/approvals.mdx (via packages/spec)
  • content/docs/automation/flows.mdx (via @objectstack/spec)
  • content/docs/automation/hook-bodies.mdx (via packages/spec)
  • content/docs/automation/hooks.mdx (via @objectstack/spec)
  • content/docs/automation/index.mdx (via @objectstack/spec)
  • content/docs/automation/webhooks.mdx (via @objectstack/spec)
  • content/docs/automation/workflows.mdx (via @objectstack/spec)
  • content/docs/concepts/architecture.mdx (via @objectstack/spec)
  • content/docs/concepts/design-principles.mdx (via packages/spec)
  • content/docs/concepts/index.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-driven.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-lifecycle.mdx (via packages/spec)
  • content/docs/concepts/north-star.mdx (via packages/spec)
  • content/docs/data-modeling/analytics.mdx (via @objectstack/spec)
  • content/docs/data-modeling/drivers.mdx (via @objectstack/spec)
  • content/docs/data-modeling/external-datasources.mdx (via @objectstack/spec)
  • content/docs/data-modeling/field-types.mdx (via @objectstack/spec)
  • content/docs/data-modeling/fields.mdx (via @objectstack/spec)
  • content/docs/data-modeling/formulas.mdx (via @objectstack/spec)
  • content/docs/data-modeling/index.mdx (via @objectstack/spec)
  • content/docs/data-modeling/objects.mdx (via @objectstack/spec)
  • content/docs/data-modeling/queries.mdx (via @objectstack/spec)
  • content/docs/data-modeling/schema-design.mdx (via @objectstack/spec)
  • content/docs/data-modeling/seed-data.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation-rules.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation.mdx (via @objectstack/spec)
  • content/docs/deployment/cli.mdx (via @objectstack/spec)
  • content/docs/deployment/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/deployment/validating-metadata.mdx (via @objectstack/spec)
  • content/docs/getting-started/build-with-claude-code.mdx (via @objectstack/spec)
  • content/docs/getting-started/common-patterns.mdx (via @objectstack/spec)
  • content/docs/getting-started/examples.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-reference.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/spec)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/spec)
  • content/docs/kernel/cluster.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/auth-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/cache-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/data-engine.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/index.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/metadata-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/storage-service.mdx (via packages/spec)
  • content/docs/kernel/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sharing-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sms-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/storage-service.mdx (via packages/spec)
  • content/docs/kernel/services-checklist.mdx (via @objectstack/spec)
  • content/docs/permissions/authorization.mdx (via @objectstack/spec)
  • content/docs/permissions/permission-sets.mdx (via @objectstack/spec)
  • content/docs/permissions/permissions-matrix.mdx (via @objectstack/spec)
  • content/docs/permissions/positions.mdx (via @objectstack/spec)
  • content/docs/permissions/rls.mdx (via @objectstack/spec)
  • content/docs/permissions/sharing-rules.mdx (via @objectstack/spec)
  • content/docs/plugins/adding-a-metadata-type.mdx (via @objectstack/spec)
  • content/docs/plugins/development.mdx (via @objectstack/spec)
  • content/docs/plugins/index.mdx (via @objectstack/spec)
  • content/docs/plugins/packages.mdx (via @objectstack/spec)
  • content/docs/protocol/backward-compatibility.mdx (via @objectstack/spec)
  • content/docs/protocol/diagram.mdx (via packages/spec)
  • content/docs/protocol/kernel/config-resolution.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/i18n-standard.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/index.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/lifecycle.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/runtime-capabilities.mdx (via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/query-syntax.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/schema.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/security.mdx (via packages/spec)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/actions.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/concept.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/layout-dsl.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/record-alert.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx (via @objectstack/spec)
  • content/docs/releases/implementation-status.mdx (via @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v12.mdx (via @objectstack/spec)
  • content/docs/releases/v13.mdx (via @objectstack/spec)
  • content/docs/releases/v16.mdx (via @objectstack/spec)
  • content/docs/releases/v17.mdx (via @objectstack/spec)
  • content/docs/releases/v9.mdx (via @objectstack/spec)
  • content/docs/ui/actions.mdx (via @objectstack/spec)
  • content/docs/ui/create-vs-edit-form.mdx (via @objectstack/spec)
  • content/docs/ui/dashboards.mdx (via @objectstack/spec)
  • content/docs/ui/forms.mdx (via @objectstack/spec)
  • content/docs/ui/index.mdx (via @objectstack/spec)
  • content/docs/ui/public-data-collection.mdx (via @objectstack/spec)
  • content/docs/ui/setup-app.mdx (via @objectstack/spec)
  • content/docs/ui/translations.mdx (via @objectstack/spec)
  • content/docs/ui/views.mdx (via @objectstack/spec)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@os-zhuang
os-zhuang merged commit a831df1 into main Jul 29, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the claude/matrix-report-date-ordering-4nou69 branch July 29, 2026 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants