From 9d4c18354a5aa03ce4243d1cc563078648de2d45 Mon Sep 17 00:00:00 2001 From: Marco Scardovi Date: Sat, 11 Jul 2026 09:18:19 +0200 Subject: [PATCH] docs: add project TODO list and validity analysis tracker --- TODO.md | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 00000000..1e49f6d2 --- /dev/null +++ b/TODO.md @@ -0,0 +1,252 @@ +# Project TODO List & Validity Analysis + +This file lists all the `TODO` comments and tasks identified across the `asusctl` repository. Each entry has been analyzed to determine its current status and whether it is still valid/unresolved. + +## Summary of Validity +- **Total TODOs found:** 47 +- **Active / Valid:** 45 +- **Historical / Non-task:** 2 (1 in `CHANGELOG.md` and 1 in `Cranky.toml`) + +--- + +## Active TODOs + +### 1. Root & Configuration +* **[Cranky.toml](https://github.com/OpenGamingCollective/asusctl/blob/main/Cranky.toml)** + * [Line 112](https://github.com/OpenGamingCollective/asusctl/blob/main/Cranky.toml#L112): `# TODO(emilk): enable more lints` + * **Status:** **Valid** + * **Details:** Many potential Clippy lints are still commented out or disabled in the project's Cranky configuration. + +### 2. asusctl (CLI) +* **[asusctl/src/main.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusctl/src/main.rs)** + * [Line 256](https://github.com/OpenGamingCollective/asusctl/blob/main/asusctl/src/main.rs#L256): `// TODO: multiple RGB check` + * **Status:** **Valid** + * **Details:** The CLI currently defaults to `aura.first().unwrap()` and does not check for or handle cases where multiple RGB controllers/devices are present on the system. + +### 3. asusd-user (User-space Daemon) +* **[asusd-user/README.md](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd-user/README.md)** + * [Line 5](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd-user/README.md#L5) & [Line 9](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd-user/README.md#L9): `## TODO` + * **Status:** **Valid** + * **Details:** The following userland features listed in the README remain unimplemented: + - CLI for basic settings/interaction + - RGB keyboard per-key programs + - User profiles (fan, cpu etc) replacing system daemon defaults + - Audio EQ visualizer for AniMe and keyboard lighting + +### 4. asusd (System Daemon) +* **[asusd/src/aura_anime/mod.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_anime/mod.rs)** + * [Line 150](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_anime/mod.rs#L150): `// TODO: turn this in to async task (maybe? COuld still risk blocking main thread)` + * **Status:** **Valid** + * **Details:** Spawns a blocking thread loop that could potentially be replaced by a cleaner async actor/worker pattern. + * [Line 172](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_anime/mod.rs#L172): `// TODO: sort all this out` + * **Status:** **Valid** + * **Details:** Marks a convoluted sequence involving spawning a tokio task inside a callback closure passed to `run_animation`. +* **[asusd/src/aura_laptop/mod.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_laptop/mod.rs)** + * [Line 145](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_laptop/mod.rs#L145): `// TODO: tuf bool array` + * **Status:** **Valid** + * **Details:** Refers to replacing generic power states with a dedicated byte array/structure for TUF keyboard backlights. +* **[asusd/src/aura_laptop/trait_impls.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_laptop/trait_impls.rs)** + * [Line 44](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_laptop/trait_impls.rs#L44): `// TODO: skip this until we keep handles to tasks so they can be killed` + * **Status:** **Valid** + * **Details:** The line `task.create_tasks(signal_ctx).await` remains commented out because there is no task handle management to cancel/kill running tasks. +* **[asusd/src/daemon.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/daemon.rs)** + * [Line 79](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/daemon.rs#L79) & [Line 80](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/daemon.rs#L80): `// TODO: maybe needs async mutex?` + * **Status:** **Valid** + * **Details:** The initialization of `RogPlatform` and `AsusPower` uses standard synchronous types; they might benefit from async synchronization primitives. +* **[asusd/src/asus_armoury.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/asus_armoury.rs)** + * [Line 288](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/asus_armoury.rs#L288): `// TODO: Don't unwrap, use error` + * **Status:** **Valid** + * **Details:** The code uses `.unwrap()` on a Result/Option which could panic if the D-Bus communication or internal map lookup fails. +* **[asusd/src/aura_manager.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_manager.rs)** + * [Line 369](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_manager.rs#L369): `// TODO: this is copy/pasted` + * **Status:** **Valid** + * **Details:** The initialization paths for AniMe, Slash, and TUF devices are nearly identical and contain duplicated block structure. + * [Line 435](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_manager.rs#L435): `// TODO: The /sysfs/ LEDs don't cause events, so they need to be manually checked for and added` + * **Status:** **Valid** + * **Details:** The udev monitor does not automatically capture modifications to sysfs LEDs, so a manual scanning mechanism is needed. +* **[asusd/src/lib.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/lib.rs)** + * [Line 65](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/lib.rs#L65): `// TODO: this is kind of useless if it can't trigger some action` + * **Status:** **Valid** + * **Details:** The `task_watch_item!` macro needs triggers/action bindings to execute functions upon attribute changes. +* **[asusd/src/aura_types.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_types.rs)** + * [Line 32](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_types.rs#L32) & [Line 48](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_types.rs#L48): `/// TODO` + * **Status:** **Valid** + * **Details:** Missing documentation and implementation details for the `MulticolourLed` enum variant. + * [Line 110](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/aura_types.rs#L110): `// TODO: can't use HIDRAW for anime at the moment` + * **Status:** **Valid** + * **Details:** AniMe Matrix screens cannot be controlled over HIDRAW; currently falls back to returning an error. +* **[asusd/src/ctrl_platform.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/ctrl_platform.rs)** + * [Line 403](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/ctrl_platform.rs#L403): `// TODO: automate this` + * **Status:** **Valid** + * **Details:** Properties list is hardcoded using macros rather than reflection or automatic generation. + * [Line 526](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/ctrl_platform.rs#L526): `// TODO: watch for external changes` + * **Status:** **Valid** + * **Details:** Platform profiles can be updated outside `asusd` (e.g. directly via sysfs) without triggering internal state synchronizations. + * [Line 1026](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/ctrl_platform.rs#L1026): `// TODO: manage this better, shouldn't need to create every time` + * **Status:** **Valid** + * **Details:** Instantiates `FirmwareAttributes::new()` on every power profile change / AC-DC toggle event, which is computationally expensive. + * [Line 1049](https://github.com/OpenGamingCollective/asusctl/blob/main/asusd/src/ctrl_platform.rs#L1049): `// TODO: find a better way to manage this` + * **Status:** **Valid** + * **Details:** Spawns a brand new watch task for each monitored attribute individually rather than grouping them. + +### 5. rog-anime (AniMe Matrix Control) +* **[rog-anime/README.md](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/README.md)** + * [Line 92](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/README.md#L92): `## TODO:` + * **Status:** **Valid** + * **Details:** Visual features are completely unimplemented: + - Diagonal fonts and text + - General fonts and text + - System info overlays for Linux & Windows + - Audio EQ visualization + - Time + Date display +* **[rog-anime/src/data.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/data.rs)** + * [Line 92](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/data.rs#L92): `// TODO: move this out` + * **Status:** **Valid** + * **Details:** The `DeviceState` struct is still defined inside `data.rs` rather than its own module or config module. + * [Line 353](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/data.rs#L353): `// TODO: Log this error` + * **Status:** **Valid** + * **Details:** Errors occurring within the animation loop callback are currently ignored/swallowed. +* **[rog-anime/src/grid.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/grid.rs)** + * [Line 7](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/grid.rs#L7): `// TODO: Adjust these sizes as WIDTH_GA401 WIDTH_GA402` + * **Status:** **Valid** + * **Details:** Static `WIDTH` and `HEIGHT` constants (33 and 55) are hardcoded, neglecting model-specific dimensions. +* **[rog-anime/src/image.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/image.rs)** + * [Line 109](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/image.rs#L109): `// TODO: Convert functions back to const after todo completed` + * **Status:** **Valid** + * **Details:** Scaling and offset functions (`scale_x`, `scale_y`, `first_x`, etc.) are normal dynamic functions rather than `const fn`. + * [Line 232](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/image.rs#L232): `// TODO: make this return only width, and move calcs to pitch` + * **Status:** **Valid** + * **Details:** The `width` function returns the calculated offset-width instead of isolating row pitch calculations. +* **[rog-anime/src/usb.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/usb.rs)** + * [Line 275](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-anime/src/usb.rs#L275): `// TODO: memcpy or slice copy` + * **Status:** **Valid** + * **Details:** A manual `while` loop is used to copy static vendor bytes rather than standard `copy_from_slice`. + +### 6. rog-aura (RGB/Aura Control) +* **[rog-aura/src/effects/doom.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/effects/doom.rs)** + * [Line 79](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/effects/doom.rs#L79) & [Line 162](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/effects/doom.rs#L162): `// TODO: make a "percentage" method on Colour.` + * **Status:** **Valid** + * **Details:** Light level scaling calls a standalone helper function `compute_light_range` instead of a dedicated method on the `Colour` struct. +* **[rog-aura/src/effects/mod.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/effects/mod.rs)** + * [Line 111](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/effects/mod.rs#L111): `// TODO: figure out if that single byte difference for multizone actually matters` + * **Status:** **Valid** + * **Details:** Open question regarding USB package configuration variations between multizone layouts. +* **[rog-aura/src/keyboard/advanced.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/advanced.rs)** + * [Line 6](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/advanced.rs#L6): `// TODO: GZ301Z` + * **Status:** **Valid** + * **Details:** Raw initialization string / packet layout for GZ301Z devices is a placeholder comment and is not mapped. + * [Line 385](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/advanced.rs#L385): `// TODO: Find correct locations` + * **Status:** **Valid** + * **Details:** Keycodes like `LShift3_1`, `LShift3_2`, and `LShift3_3` map to identical coordinates because distinct LED indices are missing. + * [Line 442](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/advanced.rs#L442): `// TODO: the addressing of the following` + * **Status:** **Valid** + * **Details:** Media and keypad control keys (e.g., `MediaPlay`, `Pause`, `NumLock`) are grouped as unmapped fallbacks. +* **[rog-aura/src/keyboard/layouts.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/layouts.rs)** + * [Line 282](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/layouts.rs#L282): `// TODO: locales` + * **Status:** **Valid** + * **Details:** Hardcoded to load US-region configurations (`_US.ron`) without localized settings. +* **[rog-aura/src/keyboard/power.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/power.rs)** + * [Line 198](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/power.rs#L198): `// TODO: use support data to setup correct zones` + * **Status:** **Valid** + * **Details:** Power settings are still mapped manually in a match block, and TUF devices hardcode the Keyboard power zone. + * [Line 221](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/power.rs#L221), [Line 222](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/power.rs#L222), [Line 269](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/power.rs#L269), [Line 270](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/keyboard/power.rs#L270): `todo!()` macros for `ScsiExtDisk` and `AnimeOrSlash` + * **Status:** **Valid** + * **Details:** These device classes panic with Rust's `todo!()` macro when queried or converted to/from bytes. +* **[rog-aura/src/lib.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/lib.rs)** + * [Lines 1-4](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/lib.rs#L1): Four architectural tasks: + - Generic built-in modes traits + - Device finding + generic modes writing traits + - Traits for writing `aura_sync` + - Separating keyboard and laptop parts + * **Status:** **Valid** + * **Details:** Architectural refactorings to make the aura crate more abstract. +* **[rog-aura/src/aura_detection.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/aura_detection.rs)** + * [Line 53](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-aura/src/aura_detection.rs#L53): `// TODO: remove and use layouts only` + * **Status:** **Valid** + * **Details:** `advanced_type` is still part of the `LedSupportData` structure and checked in layout definitions. + +### 7. rog-control-center (UI Application) +* **[rog-control-center/src/ui/setup_fans.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/src/ui/setup_fans.rs)** + * [Line 154](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/src/ui/setup_fans.rs#L154): `// TODO: the fan curve stuff was written donkeys ago with the expectation that only 3 profiles existed` + * **Status:** **Valid** + * **Details:** The app still maps profiles assuming 3 general choices (Balanced, Performance, Quiet/LowPower). +* **[rog-control-center/src/notify.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/src/notify.rs)** + * [Line 148](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/src/notify.rs#L148): `// TODO: need to get armoury attrs and iter to find` + * **Status:** **Valid** + * **Details:** Notification spawning loop for MUX GPU switching is commented out and inactive. +* **[rog-control-center/src/tray.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/src/tray.rs)** + * [Line 139](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/src/tray.rs#L139): `// TODO: return an error to the UI` + * **Status:** **Valid** + * **Details:** If system tray creation fails, it is logged and the thread exits silently without displaying a GUI error dialog. +* **[rog-control-center/ui/pages/aura.slint](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/pages/aura.slint)** + * [Line 218](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/pages/aura.slint#L218): `// TODO: use the zone name` + * **Status:** **Valid** + * **Details:** Uses indices array for title name resolutions instead of a direct layout parameter mapping. + * [Line 300](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/pages/aura.slint#L300): `text: "TODO: In progress";` + * **Status:** **Valid** + * **Details:** Displays a literal placeholder text string on old Aura devices' power settings page. +* **[rog-control-center/ui/widgets/common.slint](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/widgets/common.slint)** + * [Line 293](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/widgets/common.slint#L293): `// TODO: add properties to display` + * **Status:** **Valid** + * **Details:** Missing customization options for notification components inside the Slint UI. +* **[rog-control-center/ui/widgets/sidebar.slint](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/widgets/sidebar.slint)** + * [Line 103](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/widgets/sidebar.slint#L103): `// TODO: change if TUF on the logo in the menu on the main page` + * **Status:** **Valid** + * **Details:** Uses hardcoded red ROG logo even on TUF-themed (orange) layouts. +* **[rog-control-center/ui/main_window.slint](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/main_window.slint)** + * [Line 40](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/main_window.slint#L40): `// TODO: change if TUF on the logo in the menu on the main page` + * **Status:** **Valid** + * **Details:** Same as the logo issue in `sidebar.slint`. + * [Line 200](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/main_window.slint#L200): `// // TODO: or use Dialogue` + * **Status:** **Valid** + * **Details:** Slint `Dialog` elements are not utilized, resorting to simple absolute-positioned rectangles. + * [Line 215](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-control-center/ui/main_window.slint#L215): `// TODO: add properties to display` + * **Status:** **Valid** + * **Details:** Popups lack dynamic property configurations. + +### 8. rog-platform (Low-level Platform Control) +* **[rog-platform/examples/ally-gamepad-mode-changes.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/examples/ally-gamepad-mode-changes.rs)** + * [Line 24](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/examples/ally-gamepad-mode-changes.rs#L24): `// node.write_bytes(&[0x5a, 0xd1, 0x0a, 0x01])?; // TODO: need to CHECK` + * **Status:** **Valid** + * **Details:** Verification packet sequence is commented out. +* **[rog-platform/examples/ally-set-qam-secondary.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/examples/ally-set-qam-secondary.rs)** + * [Line 22](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/examples/ally-set-qam-secondary.rs#L22): `// node.write_bytes(&[0x5a, 0xd1, 0x0a, 0x01])?; // TODO: need to CHECK` + * **Status:** **Valid** + * **Details:** Verification packet sequence is commented out. +* **[rog-platform/src/cpu.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/src/cpu.rs)** + * [Lines 90, 100, 121, 131](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/src/cpu.rs#L90): `// TODO: check cpu are sync` + * **Status:** **Valid** + * **Details:** The function returns immediately with the first CPU value and does not verify if all other CPUs have identical settings. +* **[rog-platform/src/hid_raw.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/src/hid_raw.rs)** + * [Line 55](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/src/hid_raw.rs#L55): `// ... for control` + * **Status:** **Valid** + * **Details:** Log statement literally contains the label placeholder ``. + * [Line 118](https://github.com/OpenGamingCollective/asusctl/blob/main/rog-platform/src/hid_raw.rs#L118): `// TODO: re-get the file if error?` + * **Status:** **Valid** + * **Details:** No retry mechanism exists for transient I/O errors during raw USB writing. + +### 9. simulators (Simulated Devices) +* **[simulators/src/animatrix/map_g635l.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/simulators/src/animatrix/map_g635l.rs)** + * [Line 3](https://github.com/OpenGamingCollective/asusctl/blob/main/simulators/src/animatrix/map_g635l.rs#L3): `// TODO: This is a placeholder for G635L map` + * **Status:** **Valid** + * **Details:** Hardcoded layout array is marked as placeholder. +* **[simulators/src/simulator.rs](https://github.com/OpenGamingCollective/asusctl/blob/main/simulators/src/simulator.rs)** + * [Line 22](https://github.com/OpenGamingCollective/asusctl/blob/main/simulators/src/simulator.rs#L22): `// TODO: This isn't working` + * **Status:** **Valid** + * **Details:** Virtuhid / simulation setup is inoperable or unfinished. + +--- + +## Completed or Historical Records (Not Active Tasks) + +### 1. Changelog / Release Notes +* **[CHANGELOG.md](https://github.com/OpenGamingCollective/asusctl/blob/main/CHANGELOG.md)** + * [Line 422](https://github.com/OpenGamingCollective/asusctl/blob/main/CHANGELOG.md#L422): `- Remove some todo() in rogcc` + * **Status:** **Historical Record (Completed)** + * **Details:** This entry records a task that was already done and merged in a past version release. + +### 2. Configuration Options +* **[Cranky.toml](https://github.com/OpenGamingCollective/asusctl/blob/main/Cranky.toml)** + * [Line 86](https://github.com/OpenGamingCollective/asusctl/blob/main/Cranky.toml#L86): `"clippy::todo",` + * **Status:** **Configuration Setting (Not a task)** + * **Details:** Configures the Clippy linter behavior for the `todo!` macro.