cli

cli — audit issues

Audited 2026-06-20. Repo: software/cli. Criteria: completeness · tests · separation of concerns · verb-named functions · file size (<1000 lines) · organization.

Health summary

A small, clean, well-factored CLI: four subcommands (check, convert, pack, unpack) across 436 lines of source split sensibly into arg-parsing (main.cpp), a format/codec layer (Convert), and bundle I/O (Pack). It builds with no warnings and test.sh passes all 25 smoke assertions. The main defects are documentation/usage-string format-name drift (a --from/--to value the usage advertises is actually rejected), gaps in test coverage for convert argument-parsing and several pack/unpack error paths, and a stale-binary/no-real-help polish layer. Nothing is a stub or unimplemented; severity is concentrated in MEDIUM and LOW.

Issues

[MEDIUM] completeness — usage string advertises an invalid format name (kinogaki)

[MEDIUM] tests — convert argument parsing and --from/--to are untested

[MEDIUM] tests — pack/unpack error paths and .prisma-text bundles untested

[LOW] organization — README is stale: duplicate format name, missing pack/unpack sections, wrong dependency claim

[LOW] organization — stale renamed binaries left in build/

[LOW] completeness — no real --help; usage goes to stderr with exit 2 for any unrecognized command

[LOW] completeness — readFile/writeFile duplicated across translation units

[LOW] separation — clean

[LOW] naming — clean

[LOW] filesize — clean