cli: scaffold phase 1 asset release commands
Add metin-release CLI with argparse dispatcher, result envelope and error hierarchy, and the full Phase 1 release subcommand set: release inspect - scan source root release build-manifest - wraps make-manifest.py release sign - wraps sign-manifest.py, enforces mode 600 release diff-remote - HEAD each blob hash against a base URL release upload-blobs - rsync release dir minus manifest release promote - rsync manifest.json + signature release verify-public - GET + Ed25519 verify, optional blob sampling release publish - composite of the above with per-stage timings Respects --json / --verbose / --quiet. Exit codes follow the plan (1 validation, 2 remote, 3 integrity, 4 reserved for ERP).
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -101,6 +101,12 @@ ipython_config.py
|
||||
# commonly ignored for libraries.
|
||||
#uv.lock
|
||||
|
||||
# project-local
|
||||
/out/
|
||||
/staging/
|
||||
/.venv/
|
||||
|
||||
|
||||
# poetry
|
||||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||
|
||||
Reference in New Issue
Block a user