Skip to content

The published asset filename leaks into --help usage text and the cli.parse-error envelope #280

Description

@alpCaner

Found while building and exercising the v0.5.0-rc1 Windows freeze before tagging. Cosmetic and pre-existing — filing so it is not rediscovered as a freeze regression.

What happens

The program name in usage/help/parse-error text derives from sys.argv[0]'s basename rather than a fixed "tan". Verified both ways from the same clean venv:

  • frozen: tan.exe
  • python -m tan: python -m tan

release.yml renames the artefact to its target-triple asset name on upload, so what a user who downloads and runs it directly actually sees is:

Usage: tan-x86_64-pc-windows-msvc.exe [OPTIONS] COMMAND [ARGS]...

and the same string lands inside the JSON envelope, in data.message for cli.parse-error. That second one is the part worth caring about: the envelope is a consumer contract, and a machine-readable field whose content varies by how the binary was named is a poor thing to have there.

Users are told to put the binary on PATH as tan, so most will never see it — but the ones who run the downloaded file in place, and any consumer keying off that message, will.

Also, unrelated and equally cosmetic

tan init --som <SKU> rewrites the scaffolded board.yaml's sku: value but leaves the trailing comment stale — e.g. sku: E1M-V2N101 # Alif Ensemble E8 SoM. Substituting the SKU should either update or drop that comment.

Not a blocker

Neither affects behaviour. Recording both because the freeze verification that surfaced them was a one-off (tan-cli#278: CI's first blink/first install still smoke-test the Rust binary, so nothing routinely exercises the real asset).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenvelope-contractThe {command,ok,exitCode,project,data,issues} contract consumed by alp-sdk-vscodepython-portRust-to-Python port of the tan command surface

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions