Skip to content
CAI
Software that uses CAICheck a score

sachaos/viddy

56.7

Adequate · 30 September 2026

5k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Viddy is a modern terminal-based replacement for the standard \watch\ command that executes commands periodically and displays the output in a rich, interactive interface. It provides features such as color-coded diff highlighting, dynamic polling interval adjustment, and a 'time machine' mode for browsing historical command outputs. The system persists execution history locally using SQLite and supports extensive customization through configuration files for keybindings, styles, and timing parameters.

Features

Initial configuration file for keybindings, styles, and interval settings

A new \.config/config.json5\ file has been added to allow users to customize the application's behavior and appearance. Users can now define custom keybindings for navigation, search, and help modes, adjust visual styles such as text colors and borders, and configure the time-machine interval step and minimum interval in milliseconds.

.config · high confidence

Initial release of Viddy, a modern watch command

Viddy is introduced as a modern replacement for the standard \watch\ command, offering features such as periodic command execution with color output, diff highlighting, a 'time machine' mode to rewind and fast-forward through history, and a pager view. The release includes installation instructions for Cargo, Homebrew, Linux binaries, and various package managers (pkg.haus, MacPorts, Scoop, ArchLinux AUR, Alpine Linux, asdf), along with documentation for customizable keymaps, color themes, and configuration options like disabling shell execution or mouse capture.

(repo-wide) · high confidence

Introduce time-machine history navigation and configurable polling intervals

The application now features a 'time-machine' mode that allows users to browse and inspect past command executions via a new History component, alongside a new Clock component for displaying the current time. Users can also adjust the polling interval dynamically using the new Interval component, which supports configurable step sizes and minimum interval limits. The main Home layout has been restructured to accommodate these new UI elements, including a Help component for keybinding reference and an FpsCounter for performance monitoring.

src/components · high confidence

Behavioural changes

Introduce configurable interval timing and tab normalization

Users can now adjust the polling interval dynamically using new keybindings to increase or decrease the step, with a configurable minimum interval enforced via the new \min\_interval\_ms\ and \interval\_step\_ms\ settings in the general configuration. Additionally, the application now normalizes standard output by converting tabs to spaces while maintaining elastic alignment per line, ensuring consistent visual formatting regardless of terminal tab settings.

src · high confidence

Store implementation moved to memory.rs and SQLite backend secured with owner-only permissions

The in-memory store logic has been extracted into a dedicated memory.rs module, while the SQLite store implementation in sqlite.rs now creates the database file with owner-only (0o600) permissions on Unix systems before opening it, ensuring that backup files are not world-readable.

src/store · high confidence

Dependencies

Initial release of viddy v1.3.1

This change introduces the initial version (v1.3.1) of the \viddy\ package, a modern watch command tool. The diff establishes the project's dependency manifest (\Cargo.toml\) and lockfile (\Cargo.lock\), defining the core library requirements such as \clap\ for CLI argument parsing, \ratatui\ and \crossterm\ for the terminal user interface, \rusqlite\ for local data storage, and \tokio\ for asynchronous execution. It also includes build-time dependencies like \vergen\ to embed build and git information into the binary.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 56 → 57 (+1.1)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 90 → 90 (+0.0)
  • Architecture 100 → 95 (-5.2)
  • Maturity 44 → 39 (-4.9)
  • Readiness 59 → 61 (+1.9)
  • Security 51 → 67 (+16.0)
  • Event Sourcing 100 → 100 (+0.0)
  • Performance 100 (new)

Resolved (1)

  • Documentation: no architecture or design documentation (README.md)

New (21)

  • Medium advisory (unsound): RUSTSEC-2026-0306 (Cargo.lock)
  • Outdated: anstyle
  • Outdated: chrono
  • Outdated: clap
  • Outdated: color-eyre
  • Outdated: dissimilar
  • Outdated: futures
  • Outdated: human-panic
  • Outdated: humantime
  • Outdated: libc
  • Outdated: log
  • Outdated: serde
  • Outdated: serde_json
  • Outdated: serde_with
  • Outdated: strip-ansi-escapes
  • Outdated: tempfile
  • Outdated: tokio
  • Outdated: tokio-util
  • Outdated: tracing
  • Outdated: tracing-error
  • …and 1 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

sachaos/viddy was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit b56efe0876f255ade025d6b77fb9f3f30099675b — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-505904ce13c1.