docs(m109-004): operator-UI scope migration — changelog + retire UZ-AUTH-021#119
Merged
Merged
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
…UTH-021 - changelog: operator dashboard (runners, model catalogue) now gated on the same resource:action scopes the API enforces, not a separate platform-admin flag; UZ-AUTH-021 retired → UZ-AUTH-022 (insufficient scope); downward scope hierarchy applies on the dashboard as at the API. - error-codes: retire the UZ-AUTH-021 row (backend registry never defined it; §4 removed the last minter) with a note pointing to UZ-AUTH-022. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
809eb34 to
f64e20c
Compare
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.
Documents the M109_004 operator-UI scope migration (product repo branch
feat/m109-004-cross-surface-hygiene).Changes
Jul 03, 2026entry: the operator dashboard (runner fleet + model catalogue) is now gated on the sameresource:actionscopes the API enforces, not a separate platform-admin flag;UZ-AUTH-021retired →UZ-AUTH-022(Insufficient scope); downward scope hierarchy (model:admin⊇model:read,runner:write⊇runner:read) applies on the dashboard as at the API.UZ-AUTH-021row (the backend registry never defined it; §4 removed the last minter, the dashboard'splatform_admingate) with a note pointing toUZ-AUTH-022.Notes
feat/m109-004-cross-surface-hygiene(operator UI gates onscopes,platform_adminboolean removed).🤖 Generated with Claude Code
Greptile Summary
Documents the M109_004 operator-UI scope migration: the runner fleet and model catalogue surfaces now enforce the same
resource:actionscopes as the API, replacing the old independentplatform_adminboolean flag.changelog.mdx— inserts a Jul 03 2026 entry describing the scope-gated dashboard, theUZ-AUTH-021→UZ-AUTH-022transition, and the downward scope hierarchy; also closes a pre-existing missing</Update>tag on the earlier Jul 03 UI block.api-reference/error-codes.mdx— converts theUZ-AUTH-021table row to a visible struck-through historical record with a redirect note toUZ-AUTH-022, which is already defined at line 67.Confidence Score: 5/5
Documentation-only change with no runtime code; safe to merge.
Both files are purely documentation. The error-codes table correctly uses strikethrough to preserve discoverability of the retired code while redirecting readers to
UZ-AUTH-022. The changelog entry accurately matches the stated product behaviour. The only structural fix (closing the missing</Update>tag) is a corrective improvement.No files require special attention.
Important Files Changed
UZ-AUTH-021row in-place with strikethrough formatting and a historical redirect note pointing toUZ-AUTH-022;UZ-AUTH-022is already defined at line 67 in the Bearer-auth section.UZ-AUTH-021retirement; also closes a pre-existing missing</Update>tag on the preceding Jul 03 UI entry.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Operator dashboard request] --> B{Before M109_004} A --> C{After M109_004} B --> D{platform_admin flag set?} D -- No --> E[403 UZ-AUTH-021\nPlatform-admin privileges required] D -- Yes --> F[Access granted\n- runner fleet\n- model catalogue] C --> G{Token has required\nresource:action scope?} G -- No --> H[403 UZ-AUTH-022\nInsufficient scope\ndetail: Requires scope X] G -- Yes --> I[Access granted\nmodel:admin ⊇ model:read\nrunner:write ⊇ runner:read] style E fill:#f88,color:#000 style H fill:#faa,color:#000 style F fill:#8f8,color:#000 style I fill:#8f8,color:#000%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A[Operator dashboard request] --> B{Before M109_004} A --> C{After M109_004} B --> D{platform_admin flag set?} D -- No --> E[403 UZ-AUTH-021\nPlatform-admin privileges required] D -- Yes --> F[Access granted\n- runner fleet\n- model catalogue] C --> G{Token has required\nresource:action scope?} G -- No --> H[403 UZ-AUTH-022\nInsufficient scope\ndetail: Requires scope X] G -- Yes --> I[Access granted\nmodel:admin ⊇ model:read\nrunner:write ⊇ runner:read] style E fill:#f88,color:#000 style H fill:#faa,color:#000 style F fill:#8f8,color:#000 style I fill:#8f8,color:#000Reviews (3): Last reviewed commit: "docs(api): keep retired UZ-AUTH-021 visi..." | Re-trigger Greptile