output — CLI output behaviour#

Schema: OutputSettingsConfig in src/thesis/core/config/validators.py. Configures the structured CLI output system (EventBus + OutputRenderer). Every value can be overridden at runtime with CLI flags.

Field

Type

Default

Allowed values

Description

verbosity

str

"normal"

quiet / normal / verbose

Default verbosity. normal shows errors, warnings, and key milestones; verbose adds full event/log detail; quiet shows only errors and the final result.

summary

str

"compact"

off / compact / full

End-of-run summary detail. compact is a headline + up to 6 bullets; full renders all bullets uncapped and always appends the per-result detail block (steps completed/failed, files changed, commands run, warnings) — without requiring -v; off suppresses the summary entirely.

progress

str

"auto"

auto / on / off

Progress bars/spinners. auto enables for TTY, disables for pipes/CI.

output_format

str

"human"

human / json

Output format. human produces styled text with [OK]/[FAIL] labels; json emits machine-readable summaries.

CLI overrides#

CLI flag

Effect on this section

-v / --verbose

verbosity = "verbose" (also bumps log level to DEBUG).

-q / --quiet

verbosity = "quiet".

--summary off|compact|full

summary (case-insensitive).

--no-progress

progress = "off" (otherwise auto-detection from TTY).

-v and -q are mutually exclusive — passing both raises click.UsageError.

Example#

output:
  verbosity: normal
  summary: compact
  progress: auto
  output_format: human

Auto-disabling progress#

Progress UI is automatically disabled when:

  • The CI environment variable is set.

  • Output is piped (not a TTY).

  • The NO_COLOR environment variable is set.

Notes#

  • Verbose mode also raises the loguru console level to DEBUG; quiet drops it to ERROR; normal sits at WARNING.

  • The summary is rendered after the event stream is detached, so the structured event log and the summary never interleave.

  • output_format: json produces a single JSON object on stdout containing the RunSummary / BatchSummary — useful for scripted pipelines that want to consume the result programmatically.