refactor(stocks)!: rename ticker to stocks - #324
Merged
Conversation
BREAKING CHANGE: `moshcode ticker` and `/ticker` are gone. The verb is `moshcode stocks` / `/stocks`; `advisor` remains an alias, unchanged. `ticker` named the argument, not the subject. That was fine while it was the only market verb — it stopped being fine the moment `/crypto` landed beside it, because "ticker" describes a symbol both surfaces use and a market only one of them covers. `stocks` sits opposite `crypto` and says which is which. A hard rename rather than an alias: two names for one verb is the confusion this rename exists to remove, and the window since v0.26.0 is two days. The old name is not silently dead. src/help.mjs gains a RENAMED_COMMANDS table — deliberately not an alias table, since the verb stays gone — so both the CLI and the pit answer with where it went: $ moshcode ticker NVDA ✗ unknown command "ticker" — did you mean stocks? mosh ▸ /ticker NVDA ✗ unknown command "/ticker NVDA" — /ticker is now /stocks. Edit distance could never have produced that suggestion; `ticker` is six edits from `stocks`. A test asserts every entry in the table names a command that exists and an old name that no longer dispatches. The word "ticker" stays wherever it means a symbol rather than the command: `is not a ticker symbol`, the `tickers` verb, `--sort ticker`, advis0r's own `/api/ticker` and `/ticker/<SYMBOL>` routes, and the `ticker` response field. `moshcode trade ticker AAPL` is Alpaca's asset lookup and is untouched — the rename script asserted it survived rather than trusting a global replace. The plugin keeps its id. `ticker@moshcode` still installs, and its command is now `/stocks`; renaming the plugin would force every existing install to uninstall and reinstall, which an id is not worth. Its README says so, so the mismatch reads as a decision rather than an oversight. prd/0008 is left as written — it records what was proposed at the time. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ThreatCrush Security Scan91 finding(s) HIGH/CRITICAL: 2 | MEDIUM: 41 | LOW: 48
…and 41 more. Full results in the Security tab. Snippets are redacted; ThreatCrush never prints matched credential material. |
Merged
ralyodio
added a commit
that referenced
this pull request
Aug 8, 2026
Bump to v0.28.0, releasing the rename of `ticker` to `stocks` (#324). Breaking, and the first release in this series that is: `moshcode ticker` and `/ticker` no longer dispatch. The verb is `moshcode stocks` / `/stocks`, and `advisor` remains an alias. Minor rather than major because the project is pre-1.0, where a minor is the conventional place for a breaking change — and because the break is one verb, one release old, that answers with where it went rather than a bare "unknown command". `ticker@moshcode` keeps its plugin id and installs unchanged; its command is now `/stocks`, which existing installs pick up on the next plugin update. The rename is what makes the release necessary rather than optional: install.sh serves the latest release tarball, so until a release carries it every installed binary still answers to `ticker` and not to `stocks`. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BREAKING CHANGE:
moshcode tickerand/tickerare gone. The verb ismoshcode stocks//stocks.advisorremains an alias, unchanged.tickernamed the argument, not the subject. That was fine while it was the only market verb — it stopped being fine the moment/cryptolanded beside it, because "ticker" describes a symbol both surfaces use and a market only one of them covers.stockssits oppositecryptoand says which is which.Hard rename rather than an alias: two names for one verb is exactly the confusion this rename exists to remove, and the window since v0.26.0 is two days.
The old name is not silently dead
src/help.mjsgains aRENAMED_COMMANDStable — deliberately not an alias table, since the verb stays gone — so both the CLI and the pit say where it went:Edit distance could never have produced that suggestion;
tickeris six edits fromstocks. A test asserts every entry in the table names a command that exists and an old name that no longer dispatches, so the table can't rot.What deliberately did not change
The word "ticker" stays wherever it means a symbol rather than the command:
is not a ticker symbol, thetickersverb,--sort ticker/api/tickerand/ticker/<SYMBOL>routes, and thetickerresponse fieldmoshcode trade ticker AAPL— Alpaca's asset lookup, a different command entirely. The rename scripts asserted it survived rather than trusting a global find-and-replace.The plugin keeps its id.
ticker@moshcodestill installs, and its command is now/stocks. Renaming the plugin would force everyone who already installed it to uninstall and reinstall, which an id is not worth — existing installs pick/stocksup on the next plugin update. The plugin README states this so the mismatch reads as a decision, not an oversight.prd/0008is left as written — it records what was proposed at the time.Verification
moshcode stocks NVDA,moshcode advisor NVDA,moshcode ticker NVDA(now the hint), and/stocks+/tickerinside the pit.🤖 Generated with Claude Code