Skip to content

fix(global list): drop stale "once M3 lands" hint#28

Merged
tolgaergin merged 1 commit into
mainfrom
fix-global-list-stale-hint
May 6, 2026
Merged

fix(global list): drop stale "once M3 lands" hint#28
tolgaergin merged 1 commit into
mainfrom
fix-global-list-stale-hint

Conversation

@tolgaergin
Copy link
Copy Markdown
Contributor

Summary

lpm global list against an empty manifest still emitted:

●  No globally-installed packages.
│
●  Manifest does not exist yet at /Users/.../.lpm/global/manifest.toml. Try `lpm install -g <pkg>` once M3 lands.

Two problems:

  1. lpm install -g <pkg> actually ships today (we just landed --allow-new rejection on the global path in Phase 64 follow-ups: phase-language sweep + migrate fixes + behavioral tag catalog #27). The "once M3 lands" wording tells users a working command isn't available.
  2. M3 is an internal milestone identifier with no user-facing meaning, exactly the leak class the Phase 64 user-visible-strings sweep was meant to remove. It snuck through that sweep because the grep was scoped to Phase X.Y and missed M[0-9].

Replaces the line with stable wording that points at the real command and names the manifest path for users who want it for debugging:

●  Run `lpm install -g <pkg>` to install one. Manifest lives at /Users/.../.lpm/global/manifest.toml.

Test plan

  • Empirically verified: ran HOME=/tmp/empty lpm-rs global list and saw the new message render.
  • cargo clippy --workspace --all-targets -- -D warnings clean
  • cargo fmt --check clean
  • cargo nextest run --workspace --exclude lpm-integration-tests — 5609 pass / 7 skipped
  • No tests asserted on the old wording (greppped both crates/ and tests/)
  • Other M[0-9] mentions in the codebase are internal comments only, no other runtime string affected

🤖 Generated with Claude Code

…ng command

`lpm global list` against an empty manifest emitted "Try `lpm install
-g <pkg>` once M3 lands." That's wrong on two counts: `lpm install -g`
ships today, and "M3" is an internal milestone identifier the user
has no context for. The pre-existing user-visible-strings sweep
caught every "Phase X.Y" mention but missed this "M3" leak by virtue
of grepping on the wrong term.

Replace with stable wording that points at the real working command
and names the manifest path for users who want it for debugging.

Verified empirically: `lpm global list` against an empty `$HOME` now
prints "Run `lpm install -g <pkg>` to install one. Manifest lives at
…/.lpm/global/manifest.toml."

Other "M[0-9]" mentions in the codebase are internal `//` / `///`
comments only, no other user-visible runtime string is affected.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tolgaergin tolgaergin merged commit ff1b833 into main May 6, 2026
3 checks passed
@tolgaergin tolgaergin deleted the fix-global-list-stale-hint branch May 6, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant