docs: fix Bet365 tier + 3 audit doc gaps (c8594804) — Fixes #265#268
Open
Mlaz-code wants to merge 1 commit into
Open
docs: fix Bet365 tier + 3 audit doc gaps (c8594804) — Fixes #265#268Mlaz-code wants to merge 1 commit into
Mlaz-code wants to merge 1 commit into
Conversation
Doc gaps surfaced by the Crisp c8594804 audit (eng verdicts in
Mlaz-code/sharp-api-go#885), each verified against current code:
- Bet365 live tier: live-vs-prematch.mdx tier table said Pro; code truth
is RequiresTier="hobby" (sharp-api-go sportsbooks.go:33-34, and
api-reference/sportsbooks.mdx already lists Hobby). Fixed in all 4 locales.
- SSE channel CSV semantics: stream.mdx documented `channel` as a single
value. sse.go:253-271 accepts both `channel` and `channels`, each as a
CSV, and collapses >1 valid channel to `all`; WS supports true selective
multi-channel. Documented the distinction + link to the WS API (4 locales).
- is_main_line vs market=main on /odds/best: is_main_line is per-(event,
market_type,selection) cohort, so period/prop mains legitimately carry
is_main_line=true — it is NOT a "main game lines only" filter; ?market=main
is (main.go:7721-7730). Documented the contrast (4 locales).
- _bN grouping recipe: event-matching.mdx documented the bucket but gave no
cross-bucket grouping recipe. Added the _g{N} doubleheader suffix and a
two-level grouping recipe mirroring same_event / strip_doubleheader_suffix
(api-adapters canonical_ids.py). English only — the de/es/pt-BR
event-matching pages predate the SHA-3432 _bN section entirely and need a
separate i18n backfill (flagged in the PR).
Full site build (next build, all 4 locales) passes.
Fixes #265
Type: docs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
Author
|
@Mlaz-code ⏰ ready-to-merge ping — this PR is clean + mergeable but has sat idle ~3.5 days (opened 2026-06-18 19:35Z, 0 reviews / 0 comments, untouched). State: On merge:
Not live yet: The de/es/pt-BR Automated re-verification ping — crew #934 / Sentinel routine 53. |
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.
What
Closes the four documentation gaps from the Crisp c8594804 diligence audit (engineering verdicts in
Mlaz-code/sharp-api-go#885). Each fix was verified against current code, not just the issue text.live-vs-prematch.mdxtier table lists Bet365 = ProRequiresTier: "hobby"(sharp-api-go/sportsbooks.go:33-34);api-reference/sportsbooks.mdxalready says Hobbystream.mdxdocumentschannelas a single value onlysse.go:253-271acceptschannel/channelsas CSV; >1 valid channel collapses toall; WS does true selective multi-channelchannelsalias + collapse-to-all, with a callout contrasting the WS API (all 4 locales)/odds/best—is_main_linereads like a "main game lines only" filteris_main_lineis per-(event, market_type, selection)cohort, so period/prop mains legitimately carryis_main_line=true;?market=mainis the full-game filter (main.go:7721-7730)is_main_linevs?market=main(all 4 locales)event-matching.mdxdocuments the_bNbucket but gives no cross-bucket grouping recipestrip_doubleheader_suffix/same_eventstrip_g{N}and keep_b{N}; bucket deliberately separates doubleheaders (api-adapters/utils/canonical_ids.py:531-559)_g{N}doubleheader suffix + a two-level grouping recipe (safe same-fixture collapse vs. loose display grouping, with the doubleheader tradeoff stated)Why the recipe has two levels (item 4)
The issue suggested a single recipe — strip
_b{N}/_g{N}and group by{league}_{teams}_{date}. But the_b{N}bucket exists precisely to keep same-day doubleheaders and cross-midnight rematches apart, so blindly stripping it re-merges genuine doubleheaders. The doc now gives both levels and states the tradeoff honestly:_g{N}, keep_b{N}(mirrors the server-sidesame_eventpredicate)._b{N}, group by{league}_{teamA}_{teamB}_{date}, ±1 day; note that this collapses real doubleheaders.Scope note (i18n)
Item 4 is English-only: the
de/es/pt-BRevent-matching.mdxpages predate the SHA-3432_bNdocumentation entirely (they still show the oldnba_celtics_lakers_20260208date format and have no bucket section), so a grouping recipe has no coherent place to attach there. Items 1–3 are applied across all four locales. Follow-up: backfill the full_bNbucket section into the three translatedevent-matching.mdxpages.Verification
npm run build(full pipeline —next buildacross all 4 locales, 224 pages) passes; pagefind indexes cleanly.<Callout>tags balanced; new code fences render inside the numbered list.Fixes #265
Type: docs
🤖 Generated with Claude Code