feat(style): apply one verified workbook style pack - #779
Draft
mattcfilbert wants to merge 15 commits into
Draft
Conversation
…mic-authoring-fallbacks # Conflicts: # package-lock.json # package.json
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 free
to 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.
Decision
Add one guarded
apply-workbook-styletool for document-driven workbook styling. This sets the rule for this path: Studio passes a validated style pack, Tableau MCP changes only known presentation fields, and one guarded workbook update must preserve the workbook's analysis and protected style state.Future style rules should extend this transformer. They should not teach the agent to hand-edit workbook XML.
Scope
This first slice updates existing worksheet title fonts and colors, body fonts, text and background colors, and existing categorical, sequential, and diverging palettes.
It reports unsupported formats, dashboard spacing and alignment, advisory rules, and global datasource styles instead of inventing XML. It does not add image export or visual grading.
The tool is in the Studio dynamic-authoring profile. The profile is 42,648 bytes across 51 tools, below the 46,000-byte ceiling.
Safety
unknownand says not to retry after an uncertain dispatch.Evidence
scripts/agent-check: 380 test files and 5,949 tests passed; lint, typecheck, Desktop build, and lockstep also passed.unknown,retrySafe: false, and did not retry. A read-only check confirmed the operation had partially or differently settled, so that response was correct.This is stacked on #770 and will shrink after #770 merges. The attachment path is split across agent-chat-ui !31 and tab-agent-south !147.
Approving this PR accepts the typed, guarded styling contract and its first supported presentation fields. A clean live success receipt still depends on the External Client API reserving
blockingWindowsfor dialogs that need human action.— MattGPT, on behalf of Matt Filbert