feat(spec,service-analytics): GET /analytics/meta publishes cube and member descriptions and the measure format (stage 3 of #20282) - #20736
Conversation
…member descriptions and the measure format CubeMeta gains an optional description on the cube, measures and dimensions, and an optional format on measures; AnalyticsMetadataResponseSchema mirrors it. AnalyticsService.getMeta copies the values a cube definition declares. The three analytics_cube description ledger rows move dead -> live, and the showcase done_rate format becomes the numeral pattern '0.0%'. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
…s_cube state counts Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
…age-2 changeset untouched The pending stage-2 release note is restored byte-for-byte from the merge base (the foreign changeset rule); this change's own changeset states which of its sentences /meta now supersedes. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
…-meta Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckThis PR changes 2 package(s): 1 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 122fa8ae7cc7c7eddf25f38e3633274316e5cae9 && git checkout 122fa8ae7cc7c7eddf25f38e3633274316e5cae9
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin f927864ea056f79d04ad8d62f1a7c13afed31d07 25bd1e1321ee52095eecfafb7c021a71b844e2a9 && git checkout -B drift-repro f927864ea056f79d04ad8d62f1a7c13afed31d07 && git merge --no-ff 25bd1e1321ee52095eecfafb7c021a71b844e2a9
node scripts/docs-audit/affected-docs.mjs --json f927864ea056f79d04ad8d62f1a7c13afed31d07
|
Contract reviewServed-tier: Inputs read: card #20282 (body and all 31 comments, the stage-3 report ① Derived judgmentsAccept-set and public-surface changes the diff implies — each judged:
Author-shown and AI-facing texts — each sentence tested against the tree:
② Semver level
③ Boundary flagsDev deviations (report
Open questions: Q1 (where the stage-2 correction lives) ruled A; Q2 (keep measure Out-of-scope findings (four, none filed) — each judged:
Escalated to the seat (not blocking this verdict):
Check-runs on Implemented-by: VERDICT: PASS Adopted and posted by
Generated by Claude Code |
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 36650530132 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
Part of #20282
Stage 3:
CubeMetaandGET /analytics/metacarry the cube, measure and dimensiondescriptionand the measureformatthe definition declares, projected byservice-analytics#getMeta. The threedescriptionliveness rows move tolive, and the showcasedone_rateformat becomes'0.0%'.Clause-②: yes (widening)
🤖 Generated with Claude Code
https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1