SP-1173: extend CUI marking to every --json command - #407
Merged
Dennis Woditsch (dwoditsch) merged 4 commits intoAug 13, 2026
Merged
Conversation
Dennis Woditsch (dwoditsch)
force-pushed
the
feat/SP-1173-cui-marking-json-commands
branch
from
August 10, 2026 09:28
12e7d86 to
aa47776
Compare
This was referenced Aug 10, 2026
Dennis Woditsch (dwoditsch)
force-pushed
the
feat/SP-1173-cui-marking-json-commands
branch
from
August 10, 2026 12:14
aa47776 to
e80318d
Compare
This was referenced Aug 10, 2026
Nikolai Fischer (nikolai-celonis)
approved these changes
Aug 10, 2026
Dennis Woditsch (dwoditsch)
marked this pull request as ready for review
August 11, 2026 05:26
Dennis Woditsch (dwoditsch)
requested review from
a team,
Dusan Radosavljevic (Dusan-r),
Ekta Dubey (EktaCelonis),
Ivan Gandacov (IvanGandacov) and
Oleg Goras (gorasoCelonis)
as code owners
August 11, 2026 05:26
3 tasks
Nikolai Fischer (nikolai-celonis)
previously approved these changes
Aug 11, 2026
Zgjim Haziri (ZgjimHaziri)
previously approved these changes
Aug 12, 2026
Ivan Gandacov (IvanGandacov)
previously approved these changes
Aug 13, 2026
Sixteen write sites whose enclosing method is already async and awaited to the Commander action, so this is call-site substitution only: no signature changes. Each now logs the returned filename, since marking renames the file to "CUI - <name>.zip". Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Ten private write helpers were synchronous, so they could not await the CUI cover probe. Each becomes async and every caller awaits it. list-assignments used a blanket axios mock that shadowed the shared cover-endpoint default and left the probe without a status; it now goes through mockAxiosGet like the other specs. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Both were private static, so they could not reach an instance field to get at the CuiFileService. Nine call sites move from the static form to await this.writeJson(...). Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
One classified-outcome test per family, asserting the command produces "CUI - <name>.zip" with the cover sheet inside and logs that name. The marking logic itself stays covered by the CuiFileService unit tests. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Dennis Woditsch (dwoditsch)
dismissed stale reviews from Ivan Gandacov (IvanGandacov), Zgjim Haziri (ZgjimHaziri), and Nikolai Fischer (nikolai-celonis)
via
August 13, 2026 13:55
9e2a096
Dennis Woditsch (dwoditsch)
force-pushed
the
feat/SP-1173-cui-marking-json-commands
branch
from
August 13, 2026 13:56
e80318d to
9e2a096
Compare
|
Kastriot Salihu (ksalihu)
approved these changes
Aug 13, 2026
Ivan Gandacov (IvanGandacov)
approved these changes
Aug 13, 2026
Dennis Woditsch (dwoditsch)
deleted the
feat/SP-1173-cui-marking-json-commands
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 #405, which added the marking mechanism and the first two commands. This PR finishes the
--jsonrow: every remaining--jsonlisting and report is now marked.Scope: how the write is triggered
--jsonlistings and reportslist spaces,list packages--jsonlistings and reportslist assets/assignments/data-pools,config *,t2tc package list/diff,deployment *,asset-registry *-o, --outputToJsonFilereportsanalyze/import action-flows,export data-pool,import data-pools,t2tc package importreportconfig package export --zip,config branch export --zip,t2tc package export,export action-flows,pull packagepull asset/skill/data-pool/view-bookmarks/bookmarks,export bookmarksconfig package export,config branch export,t2tc package export --unzip--gitBranchvariantsconfig package export,config branch export,t2tc package exportBoth open questions from #405 are unaffected: how to mark an artifact that is already a zip, and what to do for directory output.
Relevant links
Checklist
Note
Medium Risk
Broad, mechanical change to how JSON artifacts are written on disk; behavior shifts from raw
.jsonfiles to prefixed names or zip archives when CUI applies, which could break scripts that expect a specific filename or extension.Overview
Completes CUI marking for every CLI command that writes listings or reports via
--json, building on the mechanism introduced in the base PR.CuiFileServiceis wired into configuration management (nodes, branches, variables, validation, metadata, imports, staging packages, etc.), deployment, asset-registry, studio asset exports, t2tc package list/diff, and data-pool list exports. PlainfileService.writeToFileWithGivenNamecalls for those JSON paths are replaced withawait cuiFileService.writeToFileWithGivenName, which may rename the file (unclassified prefix) or emit aCUI - … .zipcontaining the JSON plus a cover sheet when the team is classified.Related helpers (
writeJson,outputResponse,exportToJson, etc.) are made async and callers await them.--outputToJsonFile, zip/directory exports, and console-only output are unchanged in this PR.Adds
cui-marking-json-commands.spec.tsintegration tests across representative commands and refactorslist-assignments.spec.tsto usemockAxiosGethelpers.Reviewed by Cursor Bugbot for commit 9e2a096. Bugbot is set up for automated code reviews on this repo. Configure here.