@@ -1080,9 +1080,9 @@ func displayFallbackImageSection(allData AllSectionsData, vsaData *validateVSADa
10801080 return err
10811081 }
10821082
1083- // Output options - empty Output means write to stdout
1083+ // Output options - if no fallback-specific formats, default to text on stdout
10841084 outputOpts := validate_utils.ReportOutputOptions {
1085- Output : [] string {} , // Empty = stdout (via cmd.OutOrStdout())
1085+ Output : vsaData . output , // Empty = stdout (via cmd.OutOrStdout())
10861086 NoColor : vsaData .noColor ,
10871087 ForceColor : vsaData .forceColor ,
10881088 }
@@ -1280,6 +1280,17 @@ func filterVSAOutputFormats(outputFormats []string) []string {
12801280 return filtered
12811281}
12821282
1283+ // filterFallbackOutputFormats returns all output formats for fallback validation
1284+ // The fallback validation uses WriteReport which supports all formats (json, yaml, text,
1285+ // appstudio, summary, junit, attestation, etc.), just like the validate image command.
1286+ // Note: If both VSA sections and fallback specify the same format (e.g., json), both
1287+ // will output in that format (though they produce different JSON structures).
1288+ func filterFallbackOutputFormats (outputFormats []string ) []string {
1289+ // Return all formats - fallback validation supports all output formats
1290+ // including json, yaml, and text, just like validate image command
1291+ return outputFormats
1292+ }
1293+
12831294// isFailureResult determines if a result represents a failure
12841295func isFailureResult (result vsa.ComponentResult ) bool {
12851296 resultType := classifyResult (result )
0 commit comments