Skip to content

docs: correct the Cowork product name, and stop serving a June Anton build [ENG-1856] - #12490

Merged
Dav1dF merged 1 commit into
mainfrom
hotfix/eng-1856-cowork-docs-name-and-stale-downloads
Aug 21, 2026
Merged

docs: correct the Cowork product name, and stop serving a June Anton build [ENG-1856]#12490
Dav1dF merged 1 commit into
mainfrom
hotfix/eng-1856-cowork-docs-name-and-stale-downloads

Conversation

@Dav1dF

@Dav1dF Dav1dF commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Linear: ENG-1856. Hotfix to main — the Cowork docs publish from there, and all of this is live right now.

The actual defect: the download buttons

docs/setup.html was handing out this:

Was Now
macOS downloads.mindsdb.com/anton/mac/anton-latest.pkg — 218 MB, 20 Jun 2026 downloads.mindshub.ai/mindshub-cowork/mac/mindshub-cowork-latest.pkg — 222 MB, 20 Aug 2026
Windows downloads.mindsdb.com/anton/windows/anton-latest.exe downloads.mindshub.ai/mindshub-cowork/windows/mindshub-cowork-latest.exe — 110 MB, 20 Aug 2026

Old domain, old product name, two months stale. Anyone coming to these docs for MindsHub Cowork got a June Anton build. Both replacements verified 200.

The naming below is what led me here; this is the part that was hurting users.

Naming

Wrong Count Now
Minds Cowork 43 — titles, meta descriptions, keywords, og:*, twitter:*, og:site_name, nav, h1, body MindsHub Cowork
Minds Platform 8author meta tags and footers MindsHub
github.com/mindsdb/minds-platform 10 github.com/mindsdb/mindshub

Not a preference. The marketing site uses "MindsHub Cowork" 41 times, the cowork app repo in 39 files, the console frontend in 5 — and none of them contains "Minds Cowork" at all. These four pages were the only outlier, which is why the chooser page at docs.mindshub.ai/ inherited it.

Two things that needed care rather than a global replace

The clone instruction is two lines that have to agree. setup.html had:

git clone --recurse-submodules https://github.com/mindsdb/minds-platform.git
cd minds-platform

The cd is a bare directory name, so a URL substitution cannot reach it. Changing only the URL leaves an instruction that fails on its second line — worse than changing neither. Both moved together.

26 other mindsdb strings are deliberately untouched. mindsdb.github.io/anton and mindsdb.github.io/engine are live, separate products, and where they should point is a content decision rather than a rename. Asserted per file that the mindsdb.github.io count is unchanged, so a blanket mindsdbmindshub cannot have crept in.

A guard worth mentioning

Every file was asserted over 5 KB before editing. My first attempt read the four files from hotfix/eng-1800-docs-inter-typography — which had merged and been deleted an hour earlier — got four empty strings, and every "the bad string is gone" assertion passed vacuously. The size guard exists so that cannot pass silently again.

Companion change

The chooser page has the same two occurrences, fixed on mindsdb/mindshub_inference#442. That one does not ship by merging — root-page.js is bundled into the Cloudflare Worker, so it needs a wrangler deploy.

Verify after deploy

curl -sS https://docs.mindshub.ai/cowork/ | grep -c 'Minds Cowork'     # 0
curl -sS https://docs.mindshub.ai/cowork/setup.html | grep -o 'downloads[^"]*'

…build [ENG-1856]

David spotted "Minds Cowork" on the chooser page at docs.mindshub.ai. It came
from these four pages, and auditing the name found something worse than a name.

The download buttons in setup.html pointed at
downloads.mindsdb.com/anton/{mac,windows}/anton-latest.* — a 20 June build,
under the old product name, on the old domain. The current installer is
downloads.mindshub.ai/mindshub-cowork/*, dated 20 August. So anyone who came to
these docs to get MindsHub Cowork was handed a two-month-old Anton build. Both
replacements verified 200 at 222 MB and 110 MB. That is the actual defect here;
the naming is what led me to it.

Naming, all of it live: "Minds Cowork" 43 times across titles, meta
descriptions, keywords, og: and twitter: tags, og:site_name, nav, h1 and body
copy. "Minds Platform" 8 times in author meta tags and footers. Ten references
to github.com/mindsdb/minds-platform, which GitHub still redirects but which is
a latent break rather than a working link.

"MindsHub Cowork" is not a preference: the marketing site uses it 41 times, the
cowork app repo in 39 files, the console frontend in 5, and none of them contain
"Minds Cowork" at all. These pages were the only outlier, which is why the
chooser page inherited it.

Two things needed care rather than a global replace.

The clone instruction in setup.html is two lines that have to agree:
`git clone .../minds-platform.git` followed by `cd minds-platform`. The `cd` is
a bare directory name, so a URL substitution cannot reach it. Changing only the
URL would leave an instruction that fails on its second line, which is worse
than changing neither.

And 26 other `mindsdb` strings in these files are deliberately untouched:
mindsdb.github.io/anton and mindsdb.github.io/engine are live, separate
products, and where they should point is a content decision rather than a
rename. Asserted per file that the github.io count is unchanged, so a blanket
mindsdb -> mindshub cannot have crept in.

Also asserted per file: every file over 5 KB before editing. An earlier attempt
read the four files from a branch that had already merged and been deleted, got
four empty strings, and every "the bad string is gone" assertion passed
vacuously. The guard is there so that cannot pass silently again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Dav1dF

Dav1dF commented Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

Second-pass review (Codex): no findings

Ran a scoped adversarial pass over the substitutions. Nothing to fix, and it distinguished what it reproduced from what it reasoned about:

Reproduced:

  • All 43 replacements land on metadata or visible prose. No identifier, attribute, code sample, HTML-escaped, split-tag, case or spacing variant survives — so neither over-reach nor under-reach.
  • Both installer URLs return 200 with current versioned filenames.
  • Titles, descriptions, social tags, author and og:site_name agree per page. No stale canonical or og:url.
  • Payloads reviewed were 90,942 / 16,559 / 30,601 / 19,913 bytes, so no check depended on missing content. That was the specific failure I asked it to hunt for, having hit it myself earlier.

Reasoned, not reproduced: the clone flow. mindsdb/mindshub is canonical, clones into mindshub, and no later command or path in that section assumes minds-platform.

Two things it surfaced that are worth recording

ANTON_* environment variables and ~/.anton paths remain in setup.html, and are correct. They match the build's actual configuration — the binary still reads those. Renaming them here would document something that does not work. Flagging it so a future reviewer doesn't read them as leftovers from this change.

api.html has 10 occurrences where the others have 11, and that is legitimate — it has no product-name hero sentence. I had listed that asymmetry as something to check rather than assume, and it holds.

Still open

The Anton product card, and the mindsdb.github.io/anton and /engine links, stay as scoped — live, separate products, and where they point is a content decision rather than a rename.

@Dav1dF
Dav1dF merged commit ff891bd into main Aug 21, 2026
4 checks passed
@Dav1dF
Dav1dF deleted the hotfix/eng-1856-cowork-docs-name-and-stale-downloads branch August 21, 2026 23:50
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.

2 participants