---
id: TASK-22.2
title: Implement log suppression by verbosity level
status: Done
assignee:
  - codex
created_date: '2026-02-27 19:05'
updated_date: '2026-02-28 08:20'
labels: []
dependencies: []
references:
  - src/core/log.rs
  - src/core/cmd.rs
  - tests/
parent_task_id: TASK-22
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Update logging helper to respect verbosity: suppress logs at level 1, allow logs at levels 2+; allow tests to override as needed. Ensure logging calls use the new helper.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Level 1 suppresses log output
- [x] #2 Levels 2+ allow log output (subject to test suppression rules)
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
- Add verbosity state to `core::log` (AtomicU8 with default 2).
- Provide `set_verbosity(u8)` and update `enabled()` to suppress logs at level 1.
- Call `log::set_verbosity(cli.verbose)` early in `core::cmd::run`.
- Keep existing test suppression (`KAZE_TESTING`/`KAZE_LOGS`) behavior.
<!-- SECTION:PLAN:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Added global verbosity state in `core::log` (AtomicU8 default 2), `set_verbosity`, and suppression of logs below level 2. Wired `log::set_verbosity(cli.verbose)` in `core::cmd::run`. `just check` passes.
<!-- SECTION:NOTES:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Added global verbosity state in `core::log` with `set_verbosity`, suppressed logs below level 2, and wired `log::set_verbosity(cli.verbose)` in `core::cmd::run`. Tests: `just check`.
<!-- SECTION:FINAL_SUMMARY:END -->
