# Changelog

## Score

- CAI 70 → 72 (+1.9)

## Lenses

- Code Health 64 → 65 (+0.7)
- Architecture 96 → 96 (+0.0)
- Maturity 60 → 64 (+3.5)
- Readiness 89 → 89 (-0.0)
- Security 94 → 96 (+1.3)
- Performance 100 → 100 (+0.0)

## Resolved (5)

- High CVE: [GHSA redacted] (package-lock.json)
- Inconsistent pluralization for single vs multiple values. 'alias' takes a single string, while 'aliases' takes an array. This forces the user to remember which method to use based on the count, rather than having a single method that accepts either a string or an array.
- Off-boarding risk: anonymized user #1
- Skipped (documented): when subcommand suffix is .ts then lookup succeeds (tests/command.executableSubcommand.lookup.test.js)
- Two methods exist for configuring the help command with overlapping responsibilities. 'helpCommand' appears to be the primary API for enabling/configuring the built-in help command, while 'addHelpCommand' seems to be a legacy or lower-level method for adding a custom help command object. The naming is confusing ('helpCommand' vs 'addHelpCommand') and the distinction is not immediately clear from signatures alone.

## New (5)

- Off-boarding risk: anonymized user #1
- Redundant singular/plural naming convention for the same operation. `alias` sets a single alias, while `aliases` sets multiple. This forces users to choose between two methods that do the exact same thing (setting command aliases) based solely on arity, which is inconsistent with the rest of the API where single methods often handle arrays or variadic arguments (e.g., `Command.arguments(names)`).
- Skipped test: when subcommand suffix is .ts then lookup succeeds (tests/command.executableSubcommand.lookup.test.js)
- Three methods for generating or displaying help text with unclear boundaries. `help()` likely prints to stderr, `outputHelp()` likely prints to stdout or returns a string (depending on implementation not shown, but naming suggests output vs info), and `helpInformation()` likely returns the string. The distinction between 'help' and 'outputHelp' is semantically weak, and 'helpInformation' is an outlier in naming convention (noun vs verb).
- Two distinct methods for configuring the help subcommand with confusingly overlapping responsibilities. `helpCommand` appears to be a convenience toggle/configuration, while `addHelpCommand` allows injecting a custom Command instance. The naming `helpCommand` vs `addHelpCommand` is inconsistent with the pattern of `addCommand`/`command` and creates ambiguity about which to use for standard configuration.
