Skip to content

[cli] Add ailang publish --validate-only flag --bod... #157

Description

@sunholo-voight-kampff

Add ailang publish --validate-only flag --body Problem

The registry validator (Cloud Run) can lag behind the local ailang version. We hit this on the v0.13 string-interpolation migration: local ailang check passed (dev branch), the local ailang publish --dry-run passed (just builds tarball), but the actual upload failed because the Cloud Run validator was still pinned to v0.12.0 and couldn't parse the new ${...} interpolation syntax.

We only discovered the drift at tag time, after committing version bumps and pushing the tag. Rolling back is awkward.

Proposed fix

A new flag ailang publish --validate-only:

  • Builds the tarball (same as --dry-run)
  • Uploads it to $AILANG_REGISTRY_VALIDATOR
  • Server runs ailang check (and verify if applicable)
  • Server returns success/failure WITHOUT storing the package in the registry
  • Local exits 0/1 based on validator response

This lets CI run on every PR/main push to catch validator drift before tagging. Equivalent to a "dry-run that actually exercises the validator."

Why not just use ailang publish in CI?

It would publish duplicate versions on every push.

Why not match the validator's ailang version locally?

The validator's version isn't published anywhere we can pin against, and it can change without notice.

Reproduction

ailang-parse v0.12.1 release on 2026-04-19 / 20: local check + dry-run both clean, registry upload failed with "PAR_UNEXPECTED_TOKEN" because validator was on v0.12.0. Required deploying validator v0.13.0 in the ailang repo and waiting before retrying.

Reported by: ailang-parse maintainer (Mark)


Reported by: cli via ailang messages

Metadata

Metadata

Assignees

No one assigned

    Labels

    ailang-messageMessage from AILANG messaging systemfeatureFeature requestfrom:cliMessage from cli agent

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions