Skip to content

[codex] Finish outdated and upgrade CLI parity#57

Merged
jooh merged 4 commits intomainfrom
fix-final-cli-parity-todo-args
Apr 15, 2026
Merged

[codex] Finish outdated and upgrade CLI parity#57
jooh merged 4 commits intomainfrom
fix-final-cli-parity-todo-args

Conversation

@jooh
Copy link
Copy Markdown
Owner

@jooh jooh commented Apr 15, 2026

Summary

  • support the remaining visible upstream outdated and upgrade flags that were still marked unsupported in the native CLI
  • add native runtime logging for those commands, including log-level filtering, terminal-dimension tracing, and JSON log output
  • preserve the upstream JSON log event shape for outdated --log-format json so existing automation keeps working
  • refresh help/parity metadata and verification so the documented compatibility surface matches the branch behavior

Why

The native CLI still exposed a few parity gaps around outdated and upgrade:

  • --log-level and the outdated terminal dimension flags were still treated as unsupported even though they are part of the pinned upstream surface
  • the native logging path for these commands was incomplete, so help output, validation, and runtime behavior were out of sync
  • once JSON logging was enabled for outdated, the native logger emitted a custom {level,message} envelope instead of the upstream event schema, which could break existing JSON log consumers

What Changed

  • added shared validators for choice, numeric, and paired CLI options, then used them to validate outdated/upgrade logging flags and terminal dimensions
  • wired outdated and upgrade through native command loggers so they emit filtered text logs, trace terminal dimensions when requested, and report lifecycle milestones during config loading, lockfile reads, and lockfile writes
  • updated JSON log rendering to emit upstream-style log events with type, numeric level, timestamp, and text
  • updated CLI metadata and help assertions so outdated/upgrade no longer show these supported flags as unsupported
  • removed the resolved TODO_ARGS.md entries and refreshed the parity inventory/dashboard so the compatibility docs now report full option coverage for the pinned upstream command surface
  • added smoke and unit coverage for help output, option validation, logging behavior, terminal-dimension handling, and JSON log compatibility
  • added the compatibility dashboard check to make tests so this parity state stays enforced in local verification

User Impact

  • devcontainer outdated now accepts --log-level, --terminal-columns, and --terminal-rows as supported native flags
  • devcontainer upgrade now accepts --log-level as a supported native flag
  • JSON log consumers of devcontainer outdated --log-format json receive upstream-compatible event objects instead of a native-only schema
  • parity docs and generated metadata now match the actual branch behavior

Validation

  • make tests

@jooh jooh merged commit a7892ac into main Apr 15, 2026
4 checks passed
@jooh jooh deleted the fix-final-cli-parity-todo-args branch April 15, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant