• v0.1.0 6e71ddb635

    jann released this 2026-04-14 19:21:55 +02:00 | 15 commits to main since this release

    First Phase 1 drop from the metin-release-cli-plan.md. Implements the minimum asset release path the launcher contract needs.

    What's in

    • metin-release release inspect
    • metin-release release build-manifest (wraps make-manifest.py)
    • metin-release release sign (wraps sign-manifest.py)
    • metin-release release diff-remote (HEAD against storage)
    • metin-release release upload-blobs (rsync, --dry-run / --yes gated)
    • metin-release release promote (atomic manifest swap)
    • metin-release release verify-public (Ed25519 over the public manifest, optional blob sample)
    • metin-release release publish (composite)

    Stable exit-code contract (0/1/2/3/4) and --json output on every subcommand. 18 pytest tests green on Linux, end-to-end publish exercised against a local rsync target + local HTTPServer, no VPS touched.

    What's out of scope

    Phase 2 (erp …), Phase 3 (MCP wrapper), Phase 4 (m2pack …) and Phase 5 (launcher publish) are explicitly not in 0.1.0.

    Smoke test

    metin-release release inspect --source /path/to/client --json
    

    Against a real 54,440-file, 3.4 GB client-wine tree: inspect completes in ~0.2 s and emits clean JSON on stdout.

    Downloads