INNER CODE UNIT · Go
run
cli/cli · .github/skills/cli-exercise/tool/internal/evidence/main.go:230
func run(ctx context.Context, skillRoot string, opts options, streams cliutil.Streams, renderMedia renderFunc) (int, error) {
if opts.sessionManifest != "" {
return runSession(ctx, skillRoot, opts, streams, renderMedia)
}
report, err := buildReport(ctx, skillRoot, opts, renderMedia)
if err != nil {
return 1, err
}
if err := cliutil.JSON(streams.Out, report); err != nil {
return 1, err
}
if report.Rendering.Status == "complete" && slices.Contains([]string{"passed", "observed"}, report.CaseStatus) {
return 0, nil
}
return 1, nil
}
func buildReport(ctx context.Context, skillRoot string, opts options, renderMedia renderFunc) (report, error) {