Repository navigation
Bound Assistant intents and allow proposal discard - #174
Merged
Merged
Conversation
lweberru
requested review from
Breeless,
JoshSTACKIT,
LembDo and
dweezl
as code owners
October 28, 2026 09:23
lweberru
added a commit
that referenced
this pull request
Oct 28, 2026
A request for a folder role without a target folder could produce a proposal for the Platform folder. The full qualified Dev release of #174 caught this in governance-folder-scope (145/146 checks passed; the 13-step journey passed); deployment was blocked. The API now grounds folder scope in the current user request and asks for a missing or ambiguous target instead of trusting classifier-selected keys or all-folders scope. A direct selection from the immediately open server-shaped folder question retains its bound role and email identity; older or discarded requests cannot authorize the selection. Existing explicit targets and additive role assignments remain supported. The user guide documents the behavior in both languages. Validation: full local check passes (1,360 tests; 76 expected skips); 170 focused editor/governance unit tests and typecheck pass. All eight affected governance model cases passed twice under the final knowledge/source binding (16/16), including the reported missing-target failure and direct selection continuation. Independent review covered role/identity preservation, organization-role escalation, old/discarded history, dynamic folder names, multi-selection and negated scope. GitHub CI is pending; a new qualified Dev release follows only after successful checks and merge. 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.
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 passed, including 402 desktop/mobile browser tests. Qualified Dev release 40667108897 stopped before build/deployment: 145/146 synthetic model checks passed, with the existing governance-folder-scope case selecting an unspecified folder. The continuous journey passed 13/13; the source-validated folder-scope follow-up is merged in #175. The combined final source a05d2d7 passed 148/148 model checks and the 13/13-step journey in qualified release 40673628401. After an interrupted Runner upload, promotion 40681508056 reused the same qualified artifacts and deployed successfully to Dev with runner_pool_size=1; runner isolation, assignment and replenishment checks passed. No production or customer infrastructure execution is included.