docs: signpost the hosted MindsHub API from the Cowork docs pages (ENG-1745) - #12487
Conversation
…G-1745) docs.mindshub.ai is the address a developer guesses when looking for our hosted API, and today it only shows Cowork content. Its largest page is a REST reference for the local Cowork server, so it reads like a cloud API reference when it is not. This adds a signpost and moves nothing: - A banner under the nav on all four pages, above the fold at desktop and mobile width, pointing to the hosted MindsHub API docs. - A "Hosted API" item in the nav on all four pages. - A callout on api.html above the first endpoint, stating that the page documents the local Cowork server at http://localhost:26866/api/v1 with no API key, and that the hosted API at api.mindshub.ai is a different service with its own keys and docs. No URL, file or existing content changes. Link target is the currently published developer docs; the permanent redirect that ships with the console docs route will carry it forward. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The domain decision reversed on 20 Aug after Costa's review. The developer docs live at docs.mindshub.ai/inference, and these four pages move to docs.mindshub.ai/cowork so neither product is a lodger in the other's house. So the signpost points at the final address rather than at the github.io path it was going to be corrected off later. Nine link targets across the four files. The /cowork move itself needs no change here: the nesting happens at the edge, and every internal link on these pages is relative, so they resolve correctly one path deeper with no content edit. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Costa, review welcome now — please do not merge yet, and this one matters more than usual. Merging pushes straight to the public The nine link targets now point at One thing you may not expect, and it is good news for your build: the The one repo-settings step that is yours: taking |
Found by clicking through the preview. Once these pages are served under /cowork, the navbar brand returns to this documentation set, not to the hostname, so a reader who arrives via the chooser page at the root has no way back to it. The same gap exists on the inference side and is fixed there too. Adds a back link at the start of the nav row on all four pages, pointing at /, which is the chooser page under ENG-1779. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
It sat mid-row between the brand and the section links, which is not where anyone looks for a way back. Now the first item in .nav-inner, before the brand. Deliberately outside .nav-links: that container collapses into the hamburger on narrow screens, and the only route out of this documentation set should not be behind a menu. Needs its own rule now that .nav-links a no longer applies. Mono and uppercase so it sits with the brand next to it, dimmer and tighter-tracked so it does not read as part of the wordmark, and the same 120ms colour transition the other nav links use. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
@Dav1dF Things that check out before I get to the problems: your counts are exact (9 links to Four findings, first two worth fixing before merge. 1. The nav visually breaks between 641px and 718px, and it's a new regressionI measured the real nav with this PR's exact markup and CSS injected. The row now needs a 719px minimum viewport: 79px back link + 117px brand + 411px links + 64px of gaps + 48px padding. The hamburger doesn't take over until ≤640px. That leaves a ~78px band where the nav has to squeeze. At 660px, one of the three widths in the Verification section:
So "MINDS / COWORK" stacks, and the links wrap inside a bar that's still fixed at 52px tall. The reason this slipped through is worth naming, because it isn't carelessness: the check used was Cheapest fix: raise the collapse breakpoint from 2.
|
Costa reviewed and found a regression the verification could not have caught. The nav row needs 719px once the back control is in it (79 back + 117 brand + 411 links + 64 gaps + 48 padding), but the hamburger did not take over until 640px. In the ~78px band between, the brand and every link wrapped onto two lines inside a bar still pinned at 52px. At 660px, one of the three widths the PR claimed to have checked: "Minds Cowork" 18px -> 35px, every link 21px -> 42px. The check used was scrollWidth == clientWidth, and it passes at 660px. It structurally cannot see text wrapping vertically inside a fixed-height bar. That was the real defect, and the verifier in mindshub_inference#441 has been fixed alongside this: it now records every nav item height at a wide reference width and flags any that grow at a narrower one. Run against these files it reproduces Costas numbers exactly, and passes after this change. Nav breakpoint raised 640 -> 760 in all four files. The two other 640px queries are content grids and are untouched. Two smaller ones from the same review: - "Hosted API" no longer opens in a new tab and drops its external arrow. After cutover it is the same hostname, so both were wrong: the arrow claims external and the new tab treats a sibling doc set as a departure. The genuinely external GitHub link beside it keeps both. - .nav-up:hover set colour but never reset the global a:hover opacity of 0.8, which .nav-links a:hover does reset, so the back link hovered dimmer than its neighbours. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Costa — findings 1, 3 and 4 fixed in 1. The nav wrapping between 641 and 718Right, and the diagnosis is worth more than the bug. Breakpoint raised 640 to 760 in all four files; the two other 640px queries are content grids and are untouched. The verifier has been fixed too, because it would have passed this. I built a cutover verification script tonight (mindshub_inference#442) around exactly the assertion you identified as blind: First attempt at fixing it was wrong in a way worth recording: counting What works is differential — record every nav item's height at a 1400px reference width, flag any that grew at a narrower one. Against your files it reproduces your numbers exactly: 18 to 35 and 21 to 42, the same figures you measured by hand. Clears after the breakpoint change. The width set now includes 640, 660, 700 and 1024, because the old 390/768 pair stepped straight over the band the bug lived in. And the script was caching its own results, so a re-run after the fix reported the state before it. 2. Where
|
Linear: ENG-1745
Description
docs.mindshub.aiis the address a developer guesses when they are looking for our hosted API, and right now it only shows Cowork content. Its largest page,api.html, is a REST reference for the local Cowork server athttp://localhost:26866/api/v1with no auth header anywhere, so it reads like a cloud API reference when it is not.This PR only adds a signpost. Nothing moves, nothing is removed, no redirect is introduced.
All four pages (
index.html,setup.html,use-cases.html,api.html):Hosted API ↗item in the nav row, next toGitHub ↗.api.htmlalso gets a callout above the first endpoint (above the ERD and the base URL strip) saying the page documents the local Cowork server, that it takes no API key and is not reachable over the internet, and that the hosted MindsHub API atapi.mindshub.aiis a different service with its own keys and its own docs.20 Aug update: the link target changed, and so did the plan around it
The domain decision reversed after Costa's review (ENG-1744). The developer docs go to
docs.mindshub.ai/inference, notconsole.mindshub.ai/docs, and these four pages move todocs.mindshub.ai/coworkso neither product is a lodger in the other's house.Two consequences for this PR:
https://docs.mindshub.ai/inference/(62753a9), the final address, rather than thegithub.iopath they would have had to be corrected off later./coworkmove needs no change in this repo. The nesting happens at the edge, and every internal link on these pages is relative (href="api.html"), so they all resolve correctly one path deeper with no content edit and no change todeploy_docs.yml. There is no window where the live hostname 404s while files are moved around.Held until the route is live
docs.mindshub.ai/inferencedoes not resolve until the edge route lands, rehearsed ondocs-next.mindshub.aifirst. Merging before then would ship a banner whose link 404s, which is worse than the dead end it fixes.Ready to merge the moment that route is live. The alternative was to ship now pointing at
github.ioand correct it afterwards; that is a link we would knowingly have to come back to, which is the kind of debt this audit keeps finding.Heads up before merge
Merging this deploys straight to the public
docs.mindshub.ai..github/workflows/deploy_docs.ymlpublishesdocs/to GitHub Pages on any push tomainthat touchesdocs/**. So this wants a look before merge, not after.One thing to know if you are reviewing after the cutover: ENG-1744 takes
docs.mindshub.aioff this repo as a GitHub Pages custom domain, so the site then serves atmindsdb.github.io/mindshub/and reaches the public hostname through Cloudflare. The deploy workflow is unchanged either way.Type of change
Verification
Done locally with headless Chrome over the four files, at 390px (mobile, emulated), 660px and 1280px:
scrollWidth == clientWidthat 390 and 660). The mobile hamburger still behaves as before, and the banner sits outside it so it is visible without opening the menu.docs.mindshub.ai/inference, 0 remaining tomindsdb.github.io/mindshub_inference.Still owed, and it is why this is not merged yet: the link target returns 200. It cannot until the route exists.
After merge, worth confirming on the live hostname: all four pages still 200 under
/cowork/, the banner shows, the four legacy root paths 301 into/cowork/, and the signpost link resolves.Out of scope
Retiring or redirecting the hostname: not happening,
docs.mindshub.aikeeps Cowork's docs under the same ownership and ENG-1747 is cancelled. Also out of scope: re-sorting the local API reference onto the developer docs, restyling onto the Minds design system, and the stale Mintlifydocs/docs.jsonbeside these files. The edge route, the Pages custom-domain removal and the legacy-path 301s all belong to ENG-1744.