Add snow dcm analyze-errors command with severity-driven output#3070
Draft
sfc-gh-jsommerfeld wants to merge 4 commits into
Draft
Add snow dcm analyze-errors command with severity-driven output#3070sfc-gh-jsommerfeld wants to merge 4 commits into
sfc-gh-jsommerfeld wants to merge 4 commits into
Conversation
cdc8d95 to
342b87c
Compare
Adds a user-facing `snow dcm analyze` command (hidden without the early-access feature flag) that runs EXECUTE DCM PROJECT ANALYZE and formats the findings by file and severity. - AnalyzeErrorsReporter: groups findings by source file, renders each file path in bold-blue, then lists errors/warnings/infos with colored severity labels; exits non-zero when errors are found - Severity enum (ERROR/WARNING/INFO) with color mapping via styles.py - Summary line: "Static analysis of DCM Project files found N error(s), M warning(s)." printed after per-file details - analyze command: wraps sync_local_files + raw_analyze inside a DeployProgressTracker session (UPLOAD + ANALYZE phases) - raw_analyze gains a command_name parameter for artifact collection - styles.py: add WARNING_STYLE, INFO_STYLE, FILE_PATH_STYLE Co-authored-by: Cursor <cursoragent@cursor.com>
Rename the `snow dcm analyze` command to `snow dcm analyze-errors` and prefix each finding with its `line:column` position so users can jump directly to the offending location. Co-authored-by: Cursor <cursoragent@cursor.com>
Align the analyze-errors command with the unified phase model: drive the tracker with the "compile" operation and show RENDER -> COMPILE instead of a visible ANALYZE phase (ANALYZE remains the server-side implementation detail). Co-authored-by: Cursor <cursoragent@cursor.com>
342b87c to
cad1115
Compare
3 tasks
Collapse the two divergent blues — the periwinkle hex #a0a8fe (refresh status / unknown rows) and the terminal-default named "blue" (running phase, progress bar/spinner, analyze INFO findings / file headers) — onto one BLUE constant in styles.py, and route progress.py's hardcoded style="blue" literals through it, so every blue in DCM output renders the same hue. Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Adds a user-facing
snow dcm analyze-errorscommand (hidden without the early-access feature flag) that runsEXECUTE DCM PROJECT ANALYZEand formats the findings by file and severity. (The next PR in the stack, #3082, renames this command tocompile.)AnalyzeErrorsReporter: groups findings by source file, renders each file path in bold-blue, then lists errors/warnings/infos with colored severity labels and the line/column position of each finding; exits non-zero when errors are foundstyles.py"Static analysis of DCM Project files found N error(s), M warning(s)."printed after the per-file detailssync_local_files+raw_analyzeinside aDeployProgressTrackersession, showing UPLOAD → RENDER → COMPILE (the server-side ANALYZE is an implementation detail and is not shown as a phase)raw_analyzegains acommand_nameparameter for artifact collectionstyles.py: addWARNING_STYLE,INFO_STYLE,FILE_PATH_STYLEPre-review checklist
RELEASE-NOTES.md(see when and how).Changes description
...