Repository navigation
Renew STACKIT sign-in safely and propose template service permissions - #173
Merged
Merged
Conversation
lweberru
requested review from
Breeless,
JoshSTACKIT,
LembDo and
dweezl
as code owners
October 28, 2026 08:18
lweberru
added a commit
that referenced
this pull request
Oct 28, 2026
Users can discard an Assistant proposal without deleting their conversation or losing unsaved configuration or template edits. The revision-bound action persists across reloads, closes the pending turn in model history and rejects stale or concurrent writes. The qualified release of #173 also exposed overlong preset output and an unhelpful Kubernetes overview. The intent contract now selects bounded preset branches, derives preset permissions on the server and keeps explicit permission lists bound to their source and recipient. Additions preserve existing rights; replacements require the corresponding intent. Kubernetes advice uses the reviewed native field overview. Existing output limits and qualification oracles remain in force; the Kubernetes oracle additionally rejects repetitive meta prose. The final review also removed a runtime fallback that could treat a missing explicit list operation as replacement. Missing operations now fail closed, covered by a negative regression. A separate qualification receipt exposed a German DNS-preservation false negative (“behält … DNS … bei”); the oracle now recognizes that bounded, non-negated clause and retains negative checks for removal, unrelated preservation and mandatory /24 claims. Failed receipts remain retained; output budgets and factual requirements were not relaxed. Validation: full local check passes (1,336 tests; 76 expected skips), full PostgreSQL regression passes (75 tests), and four focused desktop/mobile discard tests pass. Affected template cases were qualified twice with synthetic data; the DNS-language oracle correction is separately repeated and source-bound. Kubernetes advice is repeated under the final source. Independent reviews covered discard authorization/concurrency and the final permission-list contract. GitHub CI and the subsequent full qualified Dev release remain pending. No production or customer infrastructure execution is included.
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.
Natural requests to give future Public Landing Zone orderers Kubernetes permissions could produce a long IAM explanation instead of an actionable proposal. This change routes existing-template IAM requests through the bounded proposal path, adds official SKE permissions for the requested recipient, preserves unrelated settings, and asks which template when the target is ambiguous. The server also checks ambiguity when the classifier guesses an existing template key.
PKCE sign-in now redirects immediately in the current tab. Encrypted server-side refresh grants renew the same verified STACKIT identity without extending the absolute eight-hour Configurator session or organization-owner permission proofs. Rotation is serialized across API instances; browser tokens remain opaque. Existing sessions without a refresh grant need one new sign-in. This cannot renew the independent STACKIT Portal browser cookie.
Draft checkpoints preserve configuration ID/revision, saved baseline and navigation through reauthentication. Recovery requires the same user/workspace and fresh membership for workspace restoration. Heartbeats preserve focused edits, explicit reload URLs win over stale checkpoint navigation, and generation-scoped logout clears retained drafts across tabs. Expired sessions retain local editing/download; configuration saving remains available while the app session is valid. Device Flow keeps its code dialog.
Validation: