docs: correct streaming strike accessor and rate-limit model in shipped docs#874
Merged
Merged
Conversation
…ed docs The interactive query-builder Python recipes (Option Flow Scanner, Live Option Chain) read `c.strike_dollars` off the streaming `ContractRef`, but that accessor no longer exists on the Python streaming contract payload; it is `strike` (dollars, float) plus `strike_thousandths` (int). Pasting the example raised `AttributeError`. Both Python lines now read `c.strike`; the TypeScript and Rust snippets in the same component already use the correct surface and are untouched. The server README and the error-codes table still described the old bind-conditional rate limiter (auto-on for non-loopback, off for loopback, 20 rps / burst 40). The limiter is opt-in and off by default on every bind regardless of address, enabled via `THETADATADX_RATE_LIMIT_PER_SECOND` / `THETADATADX_RATE_LIMIT_BURST_SIZE`; both docs now match the server reference, and the internal `governor_error_response` doc comment drops the stale "non-loopback limiter" phrasing. The rc.1 changelog gained a Security note recording the per-IP rate-limit default flip to opt-in / off-by-default, kept byte-identical between the root ledger and the docs-site mirror. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…s-and-ratelimit-docs # Conflicts: # tools/server/README.md
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.
Three shipped-doc defects, docs-only (plus one internal doc-comment line in the server router).
Streaming strike accessor — example raised AttributeError
The interactive query-builder Python recipes (Option Flow Scanner, Live Option Chain) printed the contract using
c.strike_dollars, wherec = event.contractis a streamingContractRef. That accessor is no longer on the Python streaming contract payload — the surface isstrike(dollars,float) plusstrike_thousandths(int), as the.pyiconfirms. A copy-paste of either example hitAttributeError. Both Python lines now readc.strike. The TypeScript (c.strike) and Rust (contract.strike_dollars(), the valid Rust accessor) snippets in the same component already use the correct surface and are untouched.Rate-limit model — two docs described the removed bind-conditional limiter
tools/server/README.mdanddocs-site/docs/articles/error-codes.mdstill described the old model (auto-on for non-loopback binds, disabled on loopback, 20 rps / burst 40). The limiter is opt-in and off by default on every bind regardless of address, enabled viaTHETADATADX_RATE_LIMIT_PER_SECOND/THETADATADX_RATE_LIMIT_BURST_SIZE(matchingdocs-site/docs/server/index.md, which is already correct and is the phrasing model used here). Both docs now match, and the internalgovernor_error_responsedoc comment intools/server/src/router.rsdrops the stale "non-loopback limiter" phrasing for opt-in phrasing — no logic change.Changelog — rc.1 missing the default flip
The
13.0.0-rc.1Security section gained a one-line note recording the per-IP rate-limit default flip to opt-in / off-by-default, applied byte-identically to the rootCHANGELOG.mdand thedocs-site/docs/changelog.mdmirror.Verification
cargo run -p thetadatadx --features config-file,__internal --bin generate_docs_site --locked -- --check→ "docs site: generated pages match the registries".scripts/check_docs_consistency.py→ "docs consistency: ok" (it scans the.vuecomponents for dead-API tokens).cargo fmt --all -- --check→ clean (the router doc comment is the only source touch).🤖 Generated with Claude Code