Skip to content

Add completion spec: OpenSSL (openssl) — top-level subcommands + global flags - #304

Merged
acarl005 merged 2 commits into
mainfrom
factory/app-3963-openssl-completions
Aug 6, 2026
Merged

Add completion spec: OpenSSL (openssl) — top-level subcommands + global flags#304
acarl005 merged 2 commits into
mainfrom
factory/app-3963-openssl-completions

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a top-level completion spec for openssl so that typing openssl <Tab> in Warp surfaces the subcommand list and top-level flags.

  • New command-signatures/json/openssl.json defines the top-level openssl command:
    • The full standard subcommand list (each with a short description) — e.g. req, x509, genrsa, genpkey, s_client, s_server, enc, dgst, verify, ca, pkcs12, rsa, ec, ecparam, pkey, list, version, …, including skeyutl (OpenSSL 3.5, the current LTS).
    • The global -help flag.
  • Out of scope (by design): per-subcommand option trees (e.g. openssl req …, openssl x509 …) are tracked as separate child issues and are intentionally not added here.

This is a data-only change to command-signatures/json/openssl.json. The subcommand/description inventory was mined from the Fish reference (openssl.fish), the closed-without-merge prior-art PR #258 (reference only), and openssl list -1 -commands, extended to cover OpenSSL 3.5's skeyutl. The spec is static (no generator added), which matches the dominant pattern for multi-subcommand specs in this repo.

Verification

  • script/presubmit passes: npm run format:check, cargo fmt --check, cargo clippy -D warnings, and cargo test all green.
  • Coverage is provided by the repo's existing test invariants in lib.rs (every JSON spec deserializes; all referenced generatorNames resolve; generator commands contain no unsafe newlines), which exercise the new openssl.json.
  • No UI/computer-use verification: this is a data-only spec change in a backend/library repo, and no dynamic generator was added.

Rework changes

  • [SUGGESTION] Missing 3.5-era subcommand — added skeyutl ("Perform opaque symmetric key (EVP_SKEY) operations"); the original list was mined from OpenSSL 3.0.13, which predates skeyutl (added in OpenSSL 3.5). Re-checked the rest of the list against 3.5's standard commands; skeyutl was the only addition relevant to the top-level scope.
  • Requester instruction (U043V5Z5C2W) — removed the openssl_signature_has_top_level_subcommands_and_flags test from command-signatures/src/lib.rs at the requester's explicit request, so this PR is a data-only change. Per the request, no replacement test was added; the repo's existing deserialization/generator invariants remain the coverage.

Originating thread: https://warpdev.slack.com/archives/C0BDQDW8V5E/p1785980156397719

This PR was generated with Oz.

Add command-signatures/json/openssl.json defining the top-level openssl
command: all 53 standard subcommands (each with a short description) plus
the global -help flag. Per-subcommand option trees are out of scope
(tracked as separate child issues). Add a regression test asserting the
signature exists with its subcommand list and top-level flag.

Resolves APP-3963.

Co-Authored-By: Warp Agent <agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label Aug 6, 2026
@warp-agent-staging warp-agent-staging Bot added the warpy-factory Opened by the Warp factory agents label Aug 6, 2026
@warp-agent-staging
warp-agent-staging Bot marked this pull request as ready for review August 6, 2026 01:52
@oz-for-oss

oz-for-oss Bot commented Aug 6, 2026

Copy link
Copy Markdown

@warp-agent-staging[bot]

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@warp-agent-staging
warp-agent-staging Bot requested a review from acarl005 August 6, 2026 01:52

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds a static top-level openssl command signature with global -help and OpenSSL subcommands, plus a regression test that checks representative subcommands and descriptions.

Concerns

  • The static subcommand inventory is missing skeyutl, which is present in current OpenSSL 3.x command output, so completion would be incomplete for users on those builds.

Verdict

Found: 0 critical, 1 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

"description": "Display a summary of standard commands and options"
}
],
"subcommands": [

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] The subcommand list omits skeyutl, which appears in current OpenSSL 3.x output from openssl list -1 -commands; add it here so openssl <Tab> is complete for those installations.

- Add the openssl 3.5 subcommand skeyutl (Perform opaque symmetric key
  (EVP_SKEY) operations) so the top-level list is complete for users on
  the current LTS.
- Remove the openssl_signature_has_top_level_subcommands_and_flags test
  at the requester's explicit request; the PR is now a data-only change
  to command-signatures/json/openssl.json. The repo's existing
  deserialization/generator invariants remain the coverage.

Co-Authored-By: Warp Agent <agent@warp.dev>
@acarl005
acarl005 merged commit 5e08807 into main Aug 6, 2026
8 checks passed
@acarl005
acarl005 deleted the factory/app-3963-openssl-completions branch August 6, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed warpy-factory Opened by the Warp factory agents

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants