SP-1173: decide CUI marking from the cover response status - #414
Merged
Dennis Woditsch (dwoditsch) merged 4 commits intoAug 13, 2026
Conversation
Dennis Woditsch (dwoditsch)
marked this pull request as ready for review
August 12, 2026 13:06
Dennis Woditsch (dwoditsch)
requested review from
a team,
andyo (aocelo) and
Siavash Safaei (siavash-celonis)
as code owners
August 12, 2026 13:06
Dennis Woditsch (dwoditsch)
force-pushed
the
feat/SP-1173-cui-cover-response-semantics
branch
from
August 12, 2026 14:07
2046992 to
4c83459
Compare
This was referenced Aug 13, 2026
Nikolai Fischer (nikolai-celonis)
previously approved these changes
Aug 13, 2026
The cover response categories no longer take part in the decision: 403 leaves the artifact untouched, 204 marks it Unclassified, and 200 marks it CUI and attaches the cover sheet. Anything else fails the command without writing output. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Unclassified is now reached through 204 and classified through 200, so the specs drop the category fixtures. The shared mock answers 403 so unrelated tests keep their original filenames. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
The command specs only exercised classified writes, so the 204 branch was reached by the unit spec alone. Each artifact shape now has an unclassified case, and a failing cover call is asserted to abort the command without producing a file. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Marked content is always classified, so the CLI recognises only 403 and 200. A 204 is no longer a use case and now fails the command like any other unusable answer, leaving no output behind. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Dennis Woditsch (dwoditsch)
force-pushed
the
feat/SP-1173-cui-cover-response-semantics
branch
from
August 13, 2026 13:56
d5d5851 to
49ee9f4
Compare
|
Kastriot Salihu (ksalihu)
approved these changes
Aug 13, 2026
Dennis Woditsch (dwoditsch)
deleted the
feat/SP-1173-cui-cover-response-semantics
branch
August 13, 2026 14:31
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.



Description
Stacked on #413. Addresses changes from here
The CUI cover call now decides the outcome by status code only.
resolvedCuiMarking.categoriesis no longer read anywhere, and there is no unclassified artifact: marked content is always classified. The CLI recognises 403 and 200, and treats everything else, including 204, as a failure.list packages --json)packages.jsonCUI - packages.zipcontainingpackages.jsonandCUI_Cover_Sheet.pdfWhat changed against the previous behaviour:
CuiApireturns adisabled/classifieddecision instead of a nullable cover body, andCuiFileServiceswitches on it.isClassified, every category check, and theUnclassified -prefix are gone. Failures fail closed: the command errors and no artifact is left behind.docs/cui-marking.mdis updated to match.Relevant links
Checklist
Note
Medium Risk
Behavior change for teams that previously got unmarked output on 204 or
Unclassified -on 200 without categories; marking is compliance-sensitive but scope is limited to export/write paths with broad test coverage.Overview
CUI disk marking now follows only the cover API HTTP status, aligned with backend changes.
403still means no marking;200always produces classified output (CUI - …plusCUI_Cover_Sheet.pdf).204, other statuses, transport errors, and200without a usable cover page fail closed—the command errors and writes nothing.The CLI drops
Unclassified - …artifacts and no longer readsresolvedCuiMarking.categories.CuiApi.getCuiMarking()returns aDISABLED/CLASSIFIEDdecision;CuiFileServicebranches on that.docs/cui-marking.mdand tests are updated (including default CUI mock403instead of204).Reviewed by Cursor Bugbot for commit 49ee9f4. Bugbot is set up for automated code reviews on this repo. Configure here.