---
id: TASK-22
title: Implement verbosity control across Kaze and command runner
status: Done
assignee: []
created_date: '2026-02-27 19:05'
updated_date: '2026-02-28 08:52'
labels: []
dependencies: []
references:
  - src/core/cli.rs
  - src/core/log.rs
  - src/core/exec.rs
  - src/core/cmd.rs
  - README.md
  - docs/spec.md
  - tests/
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Implement 3-level verbosity behavior based on Cli::verbose: 1 = quiet (no kaze logs, no command output), 2 = normal default (kaze logs only; command output only on error), 3+ = verbose (kaze logs and command output always). Update logger and Runner behavior accordingly, ensure defaults are correct, and add tests/docs.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Verbose level 1 suppresses kaze logs and command output
- [x] #2 Verbose level 2 (default) shows kaze logs only; command output only on error
- [x] #3 Verbose level 3+ shows kaze logs and command output always
- [x] #4 CLI default is verbose=2 when no -v provided
- [x] #5 Tests cover each verbosity mode
- [x] #6 Docs updated if behavior changed
<!-- AC:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Implemented verbosity control across logging and command execution (quiet/normal/verbose), defaulted CLI verbosity to 2, added tests for output behavior, and updated README/spec docs. Ran `just test`.
<!-- SECTION:FINAL_SUMMARY:END -->
