Skip to content

docs: sync hosted-pmxt custom endpoints#114

Merged
realfishsam merged 1 commit into
mainfrom
sync/hosted-docs
May 22, 2026
Merged

docs: sync hosted-pmxt custom endpoints#114
realfishsam merged 1 commit into
mainfrom
sync/hosted-docs

Conversation

@realfishsam
Copy link
Copy Markdown
Contributor

Auto-generated from hosted-pmxt. Updates OpenAPI paths, docs.json navigation, rate limit tables, and catalog venue list.

Copy link
Copy Markdown
Contributor Author

@realfishsam realfishsam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review: PASS (NOT VERIFIED)

What This Does

Syncs two new hosted-only endpoints (GET /v0/matched-markets, GET /v0/matched-prices) from the hosted-pmxt service into the repo's OpenAPI spec, Mintlify navigation, and LLM doc files. No exchange code, no SDK code, no core library touched — docs only.

Blast Radius

  • docs/api-reference/openapi-hosted.json — hosted-only spec (Mintlify rendering only, not consumed by sidecar server or SDKs)
  • docs/docs.json — navigation sidebar for hosted docs site
  • docs/llms-full.txt / docs/llms.txt — LLM index files served statically
  • No core/, no sdks/, no openapi.yaml (sidecar spec) touched

Consumer Verification

These endpoints live on api.pmxt.dev/v0/ (the hosted router, not the self-hosted sidecar). They cannot be tested against a local sidecar instance. Verification of whether the live hosted endpoints match the new spec is out of scope here — that belongs to hosted-pmxt. What can be verified is that the committed doc files are self-consistent and correctly generated.

Idempotency check (ran locally on PR branch):

$ npm run docs:llms
wrote docs/llms.txt  (77 lines)
wrote docs/llms-full.txt  (5225 lines)

$ git diff docs/llms.txt docs/llms-full.txt
(no output — committed files match generated output exactly)

generate-mintlify-docs.js also correctly preserves the Enterprise group's openapi-hosted.json-backed pages via the externalGroups filter; running it does not clobber the new entries.

Test Results

  • Build: N/A (docs-only PR)
  • Unit tests: N/A
  • Server starts: N/A
  • E2E smoke: NOT VERIFIED (hosted endpoints only, not testable locally)

CI check failures — both pre-existing, not caused by this PR:

  1. "Verify API_REFERENCE.md files are up-to-date" (FAIL)sdks/python/API_REFERENCE.md and sdks/typescript/API_REFERENCE.md are identical between origin/main and this branch. The drift exists on main independent of this PR and would fail on any PR.

  2. "Verify docs are in sync with core" (FAIL)generate:openapi produces "version": "2.17.1" (from core/package.json) but the committed docs/api-reference/openapi.json has "version": "2.42.7" (written by the last publish.yml run). This version skew exists on main too — confirmed by running generate:openapi on origin/main and observing the same 1-line diff. Any PR touching docs/** will trip this check until core/package.json is bumped to the latest release version.

Findings

  1. Duplicate SQL content in llms-full.txt"sql" now appears in both the Documentation/Get Started group (pre-existing, line ~723) and the new Enterprise group entry. generate-llms.js processes every navigation entry independently, so docs/sql.mdx gets rendered twice — adding ~236 lines of duplicated content. Not a correctness bug, but degrades LLM context quality. If the intent is a cross-link, consider whether the "sql" MDX entry needs to be in the Enterprise group at all (since "POST /v0/sql" already anchors the API spec there). Low severity.

  2. operationId contains hyphens (getV0Matched-markets, getV0Matched-prices) — hyphens in operationIds are valid OpenAPI but non-standard for identifier-style names. They work fine as Mintlify URL slugs but will produce broken identifiers if anyone runs a code generator against this spec (get_v0_matched-markets in Python, etc.). Since this spec is Mintlify-only (not used for code generation), it's not blocking. Worth noting for hygiene.

  3. Identical descriptions for two distinct endpoints/v0/matched-markets and /v0/matched-prices share the same description ("Bulk cross-venue price comparison…"), summary-style distinction is minimal, and their response schemas are byte-for-byte identical. The only structural difference is that matched-markets includes a query parameter and matched-prices does not. It is unclear from the spec alone what behaviorally distinguishes these endpoints; the llms-full.txt entry for both reads "Bulk cross-venue price comparison." This is an authoring issue, not a technical defect — but LLM consumers will not be able to distinguish when to use one vs the other.

PMXT Pipeline Check

  • Field propagation (3-layer): N/A — hosted-only endpoints, not routed through sidecar SCHEMAS or SDK shims
  • OpenAPI sync (openapi.yaml): N/A — only openapi-hosted.json touched; sidecar spec unchanged
  • Financial precision: N/A
  • Type safety: N/A
  • Auth safety: N/A — no auth logic touched; endpoint documentation correctly omits credentials

Semver Impact

patch — documentation sync only; no SDK API surface changed, no response shapes modified

Risk

Low. The changes are documentation-only and correctly generated (idempotency verified locally). The two CI failures are pre-existing infrastructure conditions on main unrelated to this PR's content. The duplicate SQL section in llms-full.txt is a minor quality issue. The live behavior of the new endpoints cannot be verified from this repo alone.


Generated by Claude Code

@realfishsam realfishsam merged commit bd76687 into main May 22, 2026
10 of 12 checks passed
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