Skip to content

feat(object-storage)!: rename s3 command to object-storage (aliases oss, d4)#53

Merged
hi-lei merged 2 commits into
mainfrom
fix/rename-s3-command-name
Jun 3, 2026
Merged

feat(object-storage)!: rename s3 command to object-storage (aliases oss, d4)#53
hi-lei merged 2 commits into
mainfrom
fix/rename-s3-command-name

Conversation

@hi-lei
Copy link
Copy Markdown
Collaborator

@hi-lei hi-lei commented Jun 3, 2026

Summary

Renames the top-level s3 command to object-storage to avoid the naming conflict with AWS S3, and adds oss and d4 as aliases.

Warning

Breaking change. verda s3 … no longer works. Users must switch to verda object-storage … (or the oss / d4 aliases). Stored credentials and s3:// paths are unchanged, so no re-configuration is needed.

What changed

  • Folder/package s3/objectstorage/ (Go package objectstorage, constructor NewCmdObjectStorage). Subcommand logic and tests are unchanged — only the mechanical package rename.
  • Command Use: "object-storage", Aliases: ["oss", "d4"]. Root help grouping and the skipCredentialResolution check updated to match.
  • Help / docs / skills — all verda s3 …, verda --agent s3 …, and bare `s3 <verb>` references rewritten to object-storage across command help, READMEs, per-command CLAUDE.md, and both embedded skill files. The oss/d4 aliases are documented in the skills.
  • Registry package — fixed stale s3 cross-references in docs/comments now that the sibling command is renamed, including the user-facing registry/README.md copy-wizard note that pointed at the now-removed s3 cp.

Intentionally preserved (non-breaking)

  • The s3:// URI scheme in command arguments (industry-standard scheme identifier, not the product name).
  • The verda_s3_ credential keys in ~/.verda/credentials (also read by registry), so existing users' credentials keep resolving.

Verification

  • verda object-storage --help, verda oss …, verda d4 … all resolve; bare verda s3 correctly returns unknown command "s3".
  • make build, make test (22 packages, no failures), and make lint (0 issues) all pass; pre-commit hooks green.

🤖 Generated with Claude Code

hi-lei and others added 2 commits June 3, 2026 23:07
…ss, d4)

Renames the `s3` command to `object-storage` to avoid the naming
conflict with AWS S3. Adds `oss` and `d4` as aliases.

BREAKING CHANGE: `verda s3 ...` no longer works. Use
`verda object-storage ...` (or the `oss` / `d4` aliases) instead.

Scope:
- Folder/package renamed s3/ -> objectstorage/ (Go package
  `objectstorage`, constructor `NewCmdObjectStorage`); subcommand
  logic and tests unchanged.
- Command `Use: "object-storage"`, `Aliases: [oss, d4]`; root help and
  the credential-skip check updated accordingly.
- All `verda s3 ...` / `--agent s3 ...` invocations in help, examples,
  README, per-command CLAUDE.md, and embedded skills rewritten to
  `verda object-storage ...`; aliases documented in the skills.
- Stale `s3` cross-references in the sibling `registry` package docs
  and comments fixed (incl. the user-facing registry README copy-wizard
  note that pointed at the now-removed `s3 cp`).

Intentionally preserved (non-breaking): the `s3://` URI scheme and the
`verda_s3_` credential keys, so existing credentials and paths keep
working.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Addresses two standard-library vulnerabilities flagged by govulncheck,
both fixed in go1.25.11:

- GO-2026-5039: unescaped inputs in net/textproto errors
  (reached via util.debugTransport.RoundTrip -> io.ReadAll ->
  textproto.Reader.ReadMIMEHeader)
- GO-2026-5037: inefficient candidate hostname parsing in crypto/x509
  (reached via registry.httpLister.Ping and util.ClassifyError)

CI installs the toolchain from go-version-file: go.mod, so bumping the
`go` directive is sufficient. Verified clean with
`GOTOOLCHAIN=go1.25.11 govulncheck ./...` -> No vulnerabilities found.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hi-lei hi-lei merged commit 165258e into main Jun 3, 2026
12 checks passed
@hi-lei hi-lei deleted the fix/rename-s3-command-name branch June 3, 2026 20:21
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