Skip to content
CAI
Software that uses CAICheck a score

ynqa/jnv

51.9

Weak · 29 September 2026

2k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a terminal-based JSON viewer and query tool that provides an interactive interface for exploring and filtering JSON data. It features a modular architecture with a query editor, completion navigation, and asynchronous background processing for suggestions. The application supports configuration via TOML files, including customizable keybindings and timing parameters, and allows output to be piped to other commands while maintaining a terminal user interface.

Features

Add duration configuration serialization support

A new duration configuration module has been added to the configuration system, enabling the serialization and deserialization of time durations using human-readable string formats. This allows users to specify duration values in configuration files using standard string representations (e.g., "1h", "30m") which are automatically converted to internal duration types.

src/config · high confidence

Removals

Removal of demo tape file

The demo tape file (tapes/demo.tape) has been removed from the repository. This file previously contained a scripted demonstration of the jnv tool using kubectl, including specific terminal settings and interaction steps.

tapes · high confidence

Removal of legacy jnv components

The \keymap.rs\, \render.rs\, and \trie.rs\ files in the \src/jnv\ module have been deleted. This removes the previous keymap handling, rendering logic, and trie-based query search implementation from the jnv component.

src/jnv · high confidence

Behavioural changes

Complete architectural rewrite of the JSON viewer application

The application has been completely rewritten from the ground up, replacing the previous monolithic \Jnv\ struct and \promkit\-based rendering engine with a modular, async-first architecture. This change introduces a new component-based design featuring dedicated modules for the query editor, completion navigator, JSON viewer, and a central event dispatcher. The new implementation leverages \promkit-widgets\ for UI primitives, \jaq\ for JSON query execution, and \rustix\ for Unix-specific terminal handling. Key behavioral improvements include asynchronous background loading of JSON paths for suggestions, debounced query processing and resize handling, and a robust stdout redirection mechanism (\--write-to-stdout\) that allows the TUI to render on the terminal while piping final JSON results to downstream commands. Configuration is now managed via a structured \Config\ type with TOML support, allowing users to customize keybinds, editor modes, and reactivity timings.

src · high confidence

Dependencies

Major dependency overhaul and configuration restructuring

The application has undergone a significant dependency update, replacing the legacy 'j9' JSON processor with the 'jaq' suite (jaq-core, jaq-json, jaq-std) and swapping the 'gag' library for 'rustix' to handle standard I/O. Core libraries have been upgraded, including 'clap' to v4.6.0, 'anyhow' to v1.0.102, and 'promkit-widgets' to v0.5.0, while new dependencies such as 'arboard' (for clipboard support), 'dirs' (for config file paths), and 'duration-string' have been introduced. Additionally, the build configuration has been updated to enable Fat LTO for optimization, and the project version has been bumped to 0.7.1.

(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 → 52 (-4.0)
  • Rubric changed (rubric-2026.09.10 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 94 → 94 (+0.0)
  • Architecture 100 → 97 (-2.7)
  • Maturity 55 → 54 (-1.4)
  • Readiness 41 → 32 (-9.4)
  • Security 64 → 70 (+5.9)
  • Performance 100 (new)

Resolved (1)

  • Documentation: no usage examples (README.md)

New (7)

  • Outdated: anyhow
  • Outdated: clap
  • Outdated: futures
  • Outdated: rustix
  • Outdated: serde
  • Outdated: tokio
  • Outdated: toml

Changes since last survey

  • 3 commits — 3 feature/other, 0 fixes

By area

  • (root) — 2 commits
  • (repo) — 1 commit

Notable commits

  • change: Merge pull request #128 from Likio3000/docs/jnv-usage-correction-20260923
  • change: docs: fix write-to-stdout file redirection example
  • change: docs: introduce vy before README overview

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

Survey your own repository

ynqa/jnv 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 29 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 76bbf8577d13943da68bc3eca7a9e294cfe55d27 — 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-5ff527f25b99.