Skip to content

docs: fix a batch of undocumented/stale Cube Cloud features found in a doc audit - #11519

Open
keydunov wants to merge 3 commits into
masterfrom
claude/gallant-ramanujan-ngzf3u
Open

docs: fix a batch of undocumented/stale Cube Cloud features found in a doc audit#11519
keydunov wants to merge 3 commits into
masterfrom
claude/gallant-ramanujan-ngzf3u

Conversation

@keydunov

@keydunov keydunov commented Aug 11, 2026

Copy link
Copy Markdown
Member

Check List

  • Docs have been added / updated if required
  • Tests have been run in packages where changes have been made if available
  • Linter has been run for changed code
  • Tests for the changes have been added if not covered yet

Description of Changes Made

Found via a routine audit cross-checking recent cubejs-enterprise (Cube Cloud product) changes against docs-mintlify. Each item below is a small, surgical edit — no new pages. Grouped by area:

Audit Log

  • SCIM group create/update/delete audit events now include the resolved membership delta (members added/removed by email) — documented in the Extended view section (admin/monitoring/audit-log.mdx).

Dashboards & widgets

  • Chart widget menu gained per-widget CSV/PNG/PDF download, alongside the existing whole-dashboard export (widgets/charts.mdx).
  • The "AI summary" widget was renamed to "Analysis" throughout the UI ("Generate Summary" → "Run", "Regenerate" → "Re-run") — updated widgets/ai-summary.mdx, widgets/index.mdx, and the taxonomy in docs-mintlify/CLAUDE.md.
  • Manually changing a filter or time-granularity control on a published dashboard now syncs to the URL, making it bookmarkable/shareable (widgets/controls.mdx).
  • Custom dashboard themes can now be renamed directly from the Styling tab's theme menu, not just the admin list (admin/customization/dashboard-themes.mdx).
  • The Dashboard Agent can now edit a dashboard's draft in place (for users with edit permission) or duplicate it into a new dashboard before editing (for users who can create workbooks but lack edit permission on that dashboard) — the page previously claimed the agent can't author dashboards at all, which is now inaccurate (dashboard-agent.mdx).

MCP & AI-engineer

  • MCP server gained 4 tools — getBranchDiff, getDeploymentEnv, getPreAggregationStatus, buildPreAggregation — bumping the documented tool count from 16 to 20 (docs/integrations/mcp-server.mdx).
  • Snowflake Semantic Views pull integration supports scoping by comma-separated view names or *-glob patterns (docs/integrations/snowflake-semantic-views.mdx).
  • New gpt_5_6_sol / gpt_5_6_terra predefined models available for agent LLM selection (admin/ai/index.mdx).
  • Workbook Agent saves a data question's result into an attached empty tab instead of always creating a new report (workbook-agent.mdx).
  • Explore's shareable URL now preserves the chat thread alongside query state (explore.mdx).

Data modeling & filters

  • Time dimension filters gained six calendar-period operators: in/not in the month, quarter, year (reference/data-modeling/view.mdx).
  • Period-over-period comparison can now anchor to a time dimension that's only filtered, not just grouped (querying-data.mdx).
  • Data Model IDE's branch switcher gained "Create branch from…" to fork from an explicitly chosen source, including remote-only branches (data-model-ide.mdx).
  • Admin → User Groups now hides system groups (e.g., the auto-created all_embed_users group) by default behind a user/system/all filter (embedding/iframe/creator-mode.mdx).

A separate, larger tenant-wide time-zone policy feature (admin default zone, personal override, embed override) was also found undocumented; given its scope it's being tracked as a Linear ticket for a dedicated docs page rather than bundled into this PR.

feat(console-server) in cubejs-enterprise (#13818) added a membershipChanges
attribute to SCIM group create/update/delete audit events, listing which
members were added or removed by email. Document it in the Extended view
section.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RSU2ReENu3kzHVCUC6z16o
@mintlify

mintlify Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
cubed3 🟢 Ready View Preview Aug 11, 2026, 12:27 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@claude

claude Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keydunov's task in 58s —— View job


Review: docs-only, looks good — 0 blocking, 2 nits

Full review

Verdict: Approve-equivalent. Three-line docs addition to docs-mintlify/admin/monitoring/audit-log.mdx; no code, no tests, no security/performance surface.

Checklist

  • Gather context (diff vs origin/master, full page, docs-mintlify/CLAUDE.md conventions)
  • Verify event names against the source of truth on the page
  • Check style/placement conventions
  • Post review

What's correct

  • The three event names — Created group via SCIM, Updated group via SCIM, Deleted group via SCIM — match the Event types table verbatim, backticks included.
  • Placed in Extended view, which is exactly where event-specific attributes are described — right call not to invent a new section.
  • Follows the repo's "edit an existing page, don't pad" guidance: one sentence, no scaffolding.
  • Lands in /docs-mintlify, not the deprecated /docs. ✅
  • Says "by email" rather than exposing the internal attribute name membershipChanges — appropriate for public docs, since the UI renders resolved emails.

Nits (non-blocking, inline)

  1. Style: the surrounding section is a bullet list; this reads as a refinement of the "Event-specific attributes" bullet and could be nested under it instead of standing as a separate paragraph. Purely cosmetic.
  2. Accuracy worth confirming: does Deleted group via SCIM actually emit a non-empty membership delta? For a delete, it's plausible members are implicitly dropped without an explicit membershipChanges payload. Only cubejs-enterprise #13818 can settle this — if it doesn't, drop that third event name from the sentence.

Not applicable

Tests, error handling, input sanitization, query efficiency — no code changed. The unchecked "Linter has been run" / "Tests have been run" boxes in the PR description are fine for a docs-only change; yarn lint doesn't cover .mdx prose.

Pre-existing, out of scope

The page carries several empty screenshot slots (around lines 34, 41, 66) while the Sanitization section still says "You can see that a password was sanitized on the screenshot above." That dangling reference predates this PR — flagging only so it's on the radar, not as a change request here. Fix this →

No prior review threads existed on this PR, so nothing to resolve or dedupe against.

· branch [`claude/gallant-ramanujan-ngzf3u`](https://github.com/cube-js/cube/tree/claude/gallant-ramanujan-ngzf3u)

Comment on lines +42 to +44
For `Created group via SCIM`, `Updated group via SCIM`, and `Deleted group via SCIM`
events, event-specific attributes also include the list of members added to or
removed from the group, by email.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit (style): this section is a bullet list, and the new content is a refinement of the "Event-specific attributes" bullet. Folding it in as a nested bullet keeps the section scannable and drops a paragraph, matching the "say it once / be concise" guidance in docs-mintlify/CLAUDE.md. Either form is fine — take it or leave it.

Suggested change
For `Created group via SCIM`, `Updated group via SCIM`, and `Deleted group via SCIM`
events, event-specific attributes also include the list of members added to or
removed from the group, by email.

with the list above becoming:

- IP address from which an event was initiated.
- Event-specific attributes. For `Created group via SCIM`, `Updated group via SCIM`,
  and `Deleted group via SCIM` events, these include the list of members added to or
  removed from the group, by email.

Also worth double-checking on the cubejs-enterprise side that Deleted group via SCIM genuinely carries a non-empty membershipChanges payload — for a delete it's plausible the members are implicitly removed without an explicit delta, in which case that third event name shouldn't be listed here.

- Dashboard widget menu now offers per-chart CSV/PNG/PDF download (charts.mdx)
- AI widget was renamed to 'Analysis' across the UI (ai-summary.mdx, widgets/index.mdx, CLAUDE.md taxonomy)
- Controls now sync manual filter/time-grain changes to the URL on published dashboards (controls.mdx)
- Themes can be renamed from the Styling tab's theme menu, not just the admin list (dashboard-themes.mdx)
- Dashboard Agent can now edit a dashboard draft in place (editors) or duplicate-then-edit (viewers who can create workbooks), not just adjust session filters (dashboard-agent.mdx)
- MCP server gained 4 tools: getBranchDiff, getDeploymentEnv, getPreAggregationStatus, buildPreAggregation (mcp-server.mdx, tool count 16 -> 20)
- Snowflake Semantic Views pull now supports scoping by comma-separated names/glob patterns (snowflake-semantic-views.mdx)
- New GPT-5.6 Sol/Terra models available for agent LLM selection (admin/ai/index.mdx)
- Workbook Agent saves a data question's result into an attached empty tab (workbook-agent.mdx)
- Explore's shareable URL now preserves the chat thread, not just query state (explore.mdx)

Found via a routine audit cross-checking recent cubejs-enterprise changes against docs-mintlify.

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

claude Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Reviewing new commit 93606a5

  • Read full diff vs origin/master
  • Check docs-mintlify/CLAUDE.md change + conventions
  • Verify links/nav registration for edited pages
  • Dedupe/resolve prior review threads
  • Post review

View job run · branch claude/gallant-ramanujan-ngzf3u

…, branch source picker, and system group visibility

- Time dimension filters gained six calendar-period operators: in/not in the month, quarter, year (view.mdx)
- Period-over-period comparison can now anchor to a filtered (not just grouped) time dimension (querying-data.mdx)
- Data Model IDE's branch switcher gained 'Create branch from...' to fork from an explicitly chosen source, including remote-only branches (data-model-ide.mdx)
- Admin -> User Groups now hides system groups by default behind a user/system/all filter, affecting discoverability of the auto-created All embed users group (creator-mode.mdx)

Found via a routine audit cross-checking recent cubejs-enterprise changes against docs-mintlify.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RSU2ReENu3kzHVCUC6z16o
@keydunov keydunov changed the title docs: document SCIM group membership deltas in Audit Log extended view docs: fix a batch of undocumented/stale Cube Cloud features found in a doc audit Aug 11, 2026
@claude

claude Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keydunov's task in 1m 32s —— View job


Review: docs-only — 0 blocking, 1 medium (heading nesting), 2 low

Full review — commits 93606a5 + 34f87fe

Checklist

  • Read full diff vs origin/master (17 files, +101/−27, all under docs-mintlify/)
  • Check docs-mintlify/CLAUDE.md change + conventions
  • Verify links/anchors and nav registration for edited pages
  • Dedupe/resolve prior review threads
  • Post review

Verdict: Approve-equivalent. Pure documentation; no code, tests, security, or performance surface. One structural issue worth fixing before merge.


Medium — heading nesting in mcp-server.mdx (inline)

The new ### Pre-aggregations section (line 283) was inserted between ### Data model editing and that section's own #### How model edits stay safe (line 294). The subsection now renders as a child of Pre-aggregations, so constraints that are specifically about model edits ("Edits never touch production", "startDataModelEdit is the only entry point") read as if they govern buildPreAggregation — which they don't. Moving the Pre-aggregations block below line 312 fixes it.

Low

  1. ai-summary.mdx renamed "AI summary" → "Analysis", but the file path and the docs.json entry (line 117) still say ai-summary. Mintlify drives the sidebar label off frontmatter title, so the nav renders correctly and no redirect is needed — but the URL now doesn't match the feature name. Fine to leave; worth a redirect if the URL is ever surfaced to users.
  2. Prior thread on audit-log.mdx:44 still applies — the SCIM paragraph is unchanged in these commits. The nested-bullet suggestion is cosmetic (take it or leave it), but the substantive half is still open: confirm on the cubejs-enterprise side that Deleted group via SCIM actually carries a non-empty membershipChanges payload. Left unresolved rather than re-commenting.

Verified correct

  • Tool count math in mcp-server.mdx: 3 + 2 + 5 + 8 + 2 = 20 ✅, matching the updated "exposes 20 tools" line. The "four destructive ones" claim still holds — both new pre-agg tools are Read-only/Write, neither destructive. Changing "The six tools above" → "The tools above" is the right call now that the count moved.
  • All new cross-links resolve:
    • #download-as-png-or-pdfdashboards/index.mdx:65
    • #changing-filters-and-time-granularitydashboard-agent.mdx:77
    • #what-the-dashboard-agent-can-and-cant-dodashboard-agent.mdx:118 ✅ (apostrophe correctly dropped in the slug)
    • #data-model-editing
  • No stale "AI summary" / "Generate Summary" strings left anywhere in docs-mintlify/ — the rename in widgets/index.mdx and the CLAUDE.md term tree is complete.
  • dashboard-agent.mdx rewrite is internally consistent: the <Note> at the top, the can/can't lists, and the Limitations bullet all now tell the same three-tier permission story (edit → draft; no edit but can create workbooks → duplicate; neither → read-only). The old flat "never changes the saved dashboard" claim was contradicted by the new behavior, and every instance of it was updated — no leftovers.
  • Everything lands in /docs-mintlify, not the deprecated /docs. ✅

Not applicable

Tests, error handling, input sanitization, query efficiency — no code changed. The unchecked "Linter has been run" / "Tests have been run" boxes are fine for docs; yarn lint doesn't cover .mdx prose.

Pre-existing, out of scope

audit-log.mdx still has empty screenshot slots (~lines 34, 41, 66) while the Sanitization section says "You can see that a password was sanitized on the screenshot above." Predates this PR. Fix this →

· branch [`claude/gallant-ramanujan-ngzf3u`](https://github.com/cube-js/cube/tree/claude/gallant-ramanujan-ngzf3u)

Comment on lines +283 to +292
### Pre-aggregations

These tools verify that pre-aggregations defined in the data model actually build — including on an un-deployed dev branch, which `runQuery` can't reach since it only hits the deployed SQL API. Gated the same way as [Data model editing](#data-model-editing).

| Tool | Description | Access |
| --- | --- | --- |
| `getPreAggregationStatus` | Lists pre-aggregations with their partitions, how many have built, the newest build time, and the exact error for any that failed. | Read-only |
| `buildPreAggregation` | Triggers an on-demand build of one pre-aggregation. | Write |

Both tools target the deploy branch by default; pass a dev `branchName` from `startDataModelEdit` to target that branch's dev worker instead.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heading nesting is now wrong. Inserting ### Pre-aggregations here splits the Data model editing section from its own #### How model edits stay safe subsection (line 294), which now renders as a child of Pre-aggregations. Its content is entirely about model edits — "Edits never touch production", "startDataModelEdit is the only entry point", "Promotion is manual and human" — so under Pre-aggregations it reads as if those constraints govern buildPreAggregation, which they don't (that one does write, and it's a plain Write, not gated behind a dev branch).

Fix: move this whole ### Pre-aggregations block down so it starts after Review pending work with getDataModelChanges before you commit. (line 312), keeping Data model editing → How model edits stay safe intact.

Also, once it moves, the cross-reference "Gated the same way as Data model editing" reads naturally as a back-reference rather than a forward one.

Fix this →

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants