docs: fix Bet365 tier + 3 audit doc gaps (c8594804) — Fixes #265#268
docs: fix Bet365 tier + 3 audit doc gaps (c8594804) — Fixes #265#268Mlaz-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>
|
@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. |
|
⏰ Final automated nudge — the auto re-ping routine has now been disabled, so this is the last automated ping. Still Handoff is tracked in crew task #1494; pinging Mike via Telegram (the prior 2026-06-22 ping was a self-mention, which GitHub suppresses from notifications). (gh authed as Mlaz-code — not self-merging.) |
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