Fix broken internal links across docs#27
Open
mintlify[bot] wants to merge 168 commits into
Open
Conversation
Implements the AI System Improvement initiative (Phases A–D):
Phase A — Governance:
- Add ai/RULES.md: all binding rules (AI behavior, pipeline gates, commit
protocol, validation, content rules, self-improvement policy)
- Add ai/LESSONS.md: pattern-triggered accumulated lessons (empty scaffold)
- Slim CLAUDE.md to 53 lines (was 23 rules inline); all rules migrated to
ai/RULES.md; add Commands section, Skills table, Key Files table
- Add AGENTS.md: agent-agnostic entry point for Kiro, Cursor, and others
Phase B — Skills system:
- Add ai/skills/ with 9 skill files (dev-ticket-pipeline, doc-review-pipeline,
task-self-review, self-improvement, promote-learnings, generate-docs-from-spec,
write-commit-message, create-initiative-spec, cleanup-after-pipeline)
- Update ai/agent.md: section 3 adds ai/skills/, ai/specs/, governance files;
section 5 replaces step-by-step pipelines with one-line skill references
Phase C — Claude Code Skills (official format):
- Add .claude/skills/ with 9 SKILL.md directories (official format, not
legacy .claude/commands/); all use disable-model-invocation: true;
write-commit-message uses dynamic git diff injection
Phase D — Initiative spec:
- Add ai/specs/ai-system-improvement/ and ai/specs/claude-skills-research/
(spec-driven pipeline used throughout; all phases complete)
chore(ai): add skills layer, governance files, and Claude Code skills
fix(api): add missing mining pool rewards fields
fix(api): typo
api(docs): change payoutDestination example in mining rewards response
added missing-schemas or validation
…ages, add nav links - Add GET /api/v1/public/kline (Market Data) — new MDX page and nav entry - Fix collateral open positions endpoint path: /positions → /positions/open in openapi/private/http-trade-v4.yaml and open-positions.mdx - Remove cancel-oco-order and cancel-oto-order pages, nav entries, and legacy redirects — endpoints no longer documented - Add \"We are hiring\" and GitHub (type: github) links to navbar - Add github social to footer socials
docs(api): add kline, fix positions endpoint, remove cancel OCO/OTO pages, add nav links
- Add guides/mcp-server.mdx — full setup guide for the whitebit-mcp trading server (115 tools); covers Claude Code, Cursor, Claude Desktop, Codex, and OpenClaw client configuration - Add guides/cli.mdx — CLI reference with commands, authentication, examples, and coming-soon install notice (source only for now) - Add guides/ai-faq.mdx — FAQ covering API key safety, supported clients, trading vs docs MCP disambiguation, automation, and safe account practices - Revamp guides/use-with-ai.mdx — full hub page with 4-card grid, feature breakdown by category, and supported AI clients table - Rename guides/ai-ide-setup.mdx → "Docs search via MCP"; add icon - Rename guides/ai-context-menu.mdx → "Docs page AI menu"; add icon - Update docs.json — rename group to "AI Hub", add 3 new pages to nav
docs(ai-hub): add AI Hub section with MCP server, CLI, and FAQ pages
…text - Rename "WhiteBIT MCP server" to "WhiteBIT documentation MCP server" in the IDE quick connect table to distinguish from the trading MCP server - Update frontmatter description to list actual supported tools (ChatGPT, Claude, Perplexity, Grok, Cursor, VS Code, Claude Desktop) instead of implying docs integrations exist for Claude Code / Codex / OpenClaw - Remove duplicate "via MCP via MCP" link text in two places
fix(ai-context-menu): clarify MCP server name and fix duplicate link text
Stage to main
- Add Family 7 (Negative parallelism / contrastive reframe) — the dominant 2024-2026 syntactic AI tell missing from catalog v1 - Rename Family 3 to "Hollow vocabulary" and split into 5 subtypes (adjectives, verbs, nouns, adverbs, inflated linking verbs) - Add §5.4 Participial fluff, §6.6 Over-inclusive scope, §1.3 closing-paragraph variant - Domain-legitimate callouts for trading terms (leverage, ecosystem, margin/position/pair/pool) prevent false positives - Sync AGENTS.md and ai/agent.md to four-root scope (closes 2026-04-25 divergence) - Apply v2 catalog to guides/websocket-quickstart.mdx — three rewrites removing TOC-in-prose intro, end-of-section summary, and one hollow "production-grade"
Resolve audit Q7 with SME confirmation: no caps on active subscriptions per connection, no caps on markets per subscribe request, and uniform behavior across all public and private channel types. The 200 requests/min/ connection limit remains the only effective constraint.
Transcribe SME-confirmed per-endpoint date filter behavior into spec descriptions so partners building full-history exports know the exact bounds and avoid silent data truncation (audit Q13): - order/history: add startDate/endDate; document 31-day max window, 6-month floor (00:00 UTC), and silent endDate clamp to now. - positions/history: add startDate/endDate; document optional semantics and the startDate <= endDate <= now+1s ordering constraint. - main-account/history, codes/history, sub-account transfer history: add explicit "no date filtering" notes with the pagination bounds (limit <= 100, offset <= 10000 where applicable).
Removes `disable-model-invocation: true` from the create-change-request SKILL.md frontmatter so the skill can fire automatically when the model detects a CR-shaped request, in addition to the existing `/create-change-request` slash command.
Source-fidelity polish on the positionSide field added in aac891a (audit Q17). Caught during task-completion-review self-challenge. - "default for new accounts" → "default account mode": SME source said one-way is "the default mode partners see today," not "default for new accounts." Drop the unsupported qualifier. - "[hedge mode](/glossary#position-side)" → "See [positionSide] (/glossary#position-side).": link text now matches the destination glossary entry name.
- Add §1.6 invocation routing (Skill tool only routes to user-invocable harness skills; project skills require manual SKILL.md execution). - Add §1.7 Self-Execution (AI runs scripts itself; user runs commands only when external credentials/permission are required). - humanize-review now default-emits a task file with strong per-task argumentation, all-7-families self-challenge, and Family 6.2 a/b/c resolution; frontmatter is in audit scope. - ai-voice-catalog Family 6.2 documents three resolutions for missing endpoint names (exists / should-exist-but-doesn't / out-of-band). - answer-partner-questions adds blog.whitebit.com and institutional surfaces to the source selection table. - LESSONS.md consolidator pass: 5 entries archived (4 humanize lessons fully covered by today's SKILL/catalog updates; 1 promoted to §1.6).
Eliminate AI-voice patterns from institutional/overview.mdx flagged by a humanize-review pass: a hollow-adjective + triadic-list + over-inclusive scope stack in the lead-in to the partner matrix, meta-narration openers under "## Which Product Is Right?" and "## Product Catalog" that restated what the H2 already conveyed, "boosting liquidity" gerund framing on the Credit Line bullet that obscured the actual mechanism, a 3-noun stack on the CaaS opener, an abstract "Embed wallet functionality via API" lead on the WaaS bullet where four sentences of concrete capabilities followed, and a "Find the right starting point" Card description that broke the cadence of its CardGroup siblings.
Eliminate AI-voice patterns from products/spot/overview.mdx flagged
by a humanize-review pass: two canonical Family 4 noun stacks in the
lead positioning sentence ("the kill-switch safety mechanism to
protect against runaway strategies" and "bulk operations for
position management" — also a futures/margin terminology mismatch
on a spot page) replaced with verb-form phrasing matching the
Capabilities bullets, two echoes of the same kill-switch+safety
stack on the Trading firms bullet and the Trading automation
paragraph, an abstract "for strategy separation" sub-account phrase
given a concrete market-making + directional scenario (per-sub-
account kill-switch isolation deliberately excluded — the
destination page does not document it), and two generic What's Next
card descriptions ("Full endpoint documentation for all spot
trading endpoints" and "End-to-end guide for building an automated
trading system") replaced with concrete content sourced from the
page itself and the Trading Bot guide frontmatter.
Eliminate two AI-voice patterns from products/futures/overview.mdx
flagged by a humanize-review pass: a Family 5.4 participial-fluff
tail on the Mark Price liquidation bullet ("— reducing the risk of
liquidation from temporary price wicks") rewritten as a two-sentence
statement, and a Family 6.1 missing-numbers hedge on the Funding
Rates bullet ("Settlement occurs periodically") rewritten to name
the funding_interval_minutes field on the futures markets endpoint.
The funding-interval rewrite deliberately omits a "typical 300
minutes" figure: the spec exposes 300 only as an example response
value, not a documented default — naming it as typical would
fabricate authority the spec does not assert.
Eliminate five AI-voice patterns from guides/integration-paths.mdx
flagged by a humanize-review pass:
- Family 1.2 meta-narration intro ("Select the relevant category
below...") replaced with the six partner-type enumeration the
H2s already imply.
- Family 4 compound-noun stack with hollow adjective ("flexible
multi-account structures") replaced with the concrete sub-account
primitive the page already documents at line 75.
- Family 3.1 hollow noun phrase ("the full product suite") replaced
with a cataphoric reference to the institutional product catalog
named in the next paragraph.
- Family 4 three-noun stack ("order activity surveillance") replaced
with "order activity monitoring" to match the section heading.
- Frontmatter description audience list extended to match the page's
actual six partner-type sections (prop trading firms was missing).
Eliminate two AI-voice patterns from guides/first-api-call.mdx
flagged by a humanize-review pass:
- Family 1.1 table-of-contents-in-prose intro ("The guide covers
server time, market data, and an authenticated balance read.")
replaced with an audience+scope sentence to satisfy guide-pages.md
§5.2 (intro must be 2–4 sentences and name who it is for).
- Family 6.4 generic What's Next card description ("Explore all
public market data endpoints.") replaced with a concrete count
and named subjects verified against products/market-data/overview.mdx
(14 public endpoints for tickers, orderbooks, trades, and funding
rates).
Add POST /api/v4/order/cancel/bulk to the V4 trade spec along with a spec-driven MDX page, navigation entry, Spot Trading overview card, and changelog entry. The endpoint cancels up to 100 orders per request; each item targets one order by market plus exactly one of orderId or clientOrderId, and the response array preserves request order one-to-one. Cross-link the sibling cancel and bulk-create pages, and extend the rate-limits Batch requests tip to mention the new endpoint.
Document the ADL mechanism released 2026-04-22 across the portal: - New concept page (concepts/auto-deleveraging.mdx) covering the two-stage liquidation flow, Rating formula, ADL Grade thresholds, and the worked example from the help-center article. - Cross-references from the Futures overview, order-types page, and glossary (3 new entries + 1 update). - Changelog entry under Improvement category. Sourced from the WhiteBIT help-center article and confirmed SME answers (ai/inputs/sme_answers_adl.md). Topics without confirmed answers (Margin Fraction definition, REST/WebSocket exposure of Grade, residual coverage, opt-out, sub-account aggregation) are deliberately omitted from this release per the source-of-truth rule; tracked in Section B for a follow-up release.
The POST /api/v4/collateral-account/positions/history response no longer returns positionSide. Two new fields replace it: side (same LONG|SHORT|BOTH enum, no semantic change) and isHedge (boolean, captured at position open time, established empirically by toggling hedge mode on staging and observing that existing records did not flip). Add a Warning callout to the operation description and a Breaking change entry in changelog.mdx covering migration guide, sunset date, replacement, and impact.
The V4 trade OpenAPI spec documented several order fields with snake_case names (`order_id`, `client_order_id`, `deal_money`, `deal_stock`, `deal_fee`); the server has always used camelCase. Partners using the documented names hit silent-drop on requests (HTTP 200 returned but `client_order_id` was discarded) and silent-rename on responses. The wire format itself is unchanged — only the documentation now matches.
Documentation/new docs tab conent
Add the Address Checker (AML) endpoint group under API Reference, and roll out the `public: true` navigation marker across all existing groups so site-wide password protection (Pro plan) applies only to the new AML group. - New OpenAPI spec at openapi/private/aml.yaml covers the three endpoints: list supported assets, create address check, get check result. Bodies include `request`/`nonce` matching the V4 private-API signing convention. - Four new MDX pages under api-reference/aml/ — one overview and three minimal spec-driven endpoint pages. - docs.json: AML group inserted before OAuth in API Reference; 52 existing groups (top-level + nested) marked `public: true` so they bypass auth.
docs(api): document AML Address Checker endpoints
Stage to main
Adds 4 endpoints + 2 webhook events; gates the group via Mintlify auth by marking all other nav groups public.
docs(api): add Address Checker endpoints
fix(api): clarify Address Checker webhook intros
Stage into main
Generated-By: mintlify-agent
Contributor
Author
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
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.
Summary
Ran
mint broken-linksandmint validate, then fixed all broken internal links found. Also fixed a syntax error inapi-reference/authentication.mdxthat was preventing the broken-links check from running at all.After the fixes,
mint broken-linksreports no broken links.Issues found and fixes applied
Parse blocker
api-reference/authentication.mdx(L122–124)‘ ’) inside a JSXcolumns={[...]}expression caused an acorn parse error and blocked the entire broken-links scan'Broken links
All listed paths were referenced but did not exist. Replaced each with the actual file path under
api-reference/.concepts/balances.mdx/api-reference/deposits/get-deposit-address/api-reference/account-wallet/get-cryptocurrency-deposit-addressguides/broker-guide.mdx/api-reference/sub-accounts/create/api-reference/sub-accounts/create-sub-accountguides/broker-guide.mdx/api-reference/sub-accounts/transfer/api-reference/sub-accounts/sub-account-transferguides/integration-paths.mdx(×2)/api-reference/spot-trading/kill-switch/api-reference/spot-trading/sync-kill-switch-timerguides/payment-integration.mdx(×2)/api-reference/deposits/get-deposit-address/api-reference/account-wallet/get-cryptocurrency-deposit-addressguides/payment-integration.mdx(×4)/api-reference/withdrawals/create-withdraw/api-reference/account-wallet/create-withdraw-requestguides/payment-integration.mdx/api-reference/deposits/refund-deposit/api-reference/account-wallet/refund-depositguides/payment-integration.mdx/api-reference/deposits/fiat-deposit-url/api-reference/account-wallet/get-fiat-deposit-addressplatform/webhook.mdx/api-reference/account-wallet/get-deposit-historyand/api-reference/account-wallet/get-withdrawal-history(separate links)/api-reference/account-wallet/get-deposit-withdraw-history(the actual combined endpoint)Validation
mint broken-links: success — no broken links foundmint validate: still emits 5 pre-existing warnings aboutInvalid import path reactin/snippets/*.jsxfiles, unrelated to this changeNotes
For the
kill-switchlink there were two candidate endpoints (status-kill-switch-timerandsync-kill-switch-timer). Usedsync-kill-switch-timerbecause the surrounding text describes setting/resetting the timer as a circuit breaker, which matchesPOST /api/v4/order/kill-switch.