Skip to content

os migrate meta prints (runtime 17.0.0) beside real package versions — PROTOCOL_VERSION is the protocol major padded to semver, and reads as the runtime's version on a 17.3.0 install #15585

Description

@os-litant

Carried out of #15325 per its triage (comment 5546724278): the reporter observed this while upgrading hotcrm, and triage ruled it a different defect that must not close with that card. Filed unassigned for triage; #15325 is not addressed here and this card is not addressed there.

Observed (reporter, 17.3.0 runtime)

os migrate meta --from 17
Chain:  protocol 17 → 17 (runtime 17.0.0)

Where it comes from (re-derived on origin/main at 0c5e97368)

  • packages/cli/src/commands/migrate/meta.ts:353printInfo(\Chain: protocol ${fromMajor} → ${toMajor} (runtime ${PROTOCOL_VERSION})`)`
  • the --json path, same file line 330 — runtime: PROTOCOL_VERSION
  • PROTOCOL_VERSION is '17.0.0' in packages/spec/src/kernel/protocol-version.ts:18, and PROTOCOL_MAJOR is derived from it. It is the protocol major padded to a semver string. It is not, and never tracks, the installed @objectstack/cli / runtime package version.

Why it misleads

The word in front of it is runtime, and it prints next to real package versions in the same upgrade session (npm view, os info, the changelog). On a 17.3.0 install a reader takes runtime 17.0.0 as "your runtime is 17.0.0" — an apparent downgrade or a stale install, neither of which is true. The --json field runtime carries the same ambiguity to machine consumers, which is the worse half: an agent scripting the upgrade has no prose to disambiguate.

Options (for triage, not decided here)

A and C are independent; B is optional on top of A.

Scope fence

Not a security, data or correctness defect — a labelling defect in a diagnostic line and one JSON field name. @objectstack/cli migrate meta only; the spec constant is correct as a protocol version and should not move.

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions