Skip to content

docs: sweep stale root/exp_date refs across doc tree (closes #503)#504

Merged
userFRM merged 1 commit into
mainfrom
docs/503-stale-root-sweep
May 7, 2026
Merged

docs: sweep stale root/exp_date refs across doc tree (closes #503)#504
userFRM merged 1 commit into
mainfrom
docs/503-stale-root-sweep

Conversation

@userFRM
Copy link
Copy Markdown
Owner

@userFRM userFRM commented May 7, 2026

Summary

Post-#484 (8.0.28) follow-up. The Rust SDK rename Contract.root -> Contract.symbol and Contract.exp_date -> Contract.expiration was not propagated to the doc tree at the time. This PR brings the docs into alignment with the SDK surface. Wire codecs (FPSS binary frames, MDDS gRPC) are unchanged.

Closes #503.

Files touched (per-rule)

File Change
docs/api-reference.md Contract and OptionContract Rust struct fields renamed (root/exp_date -> symbol/expiration); "String root field" prose updated to "String symbol field".
docs/macro-guide.md parsed_endpoint! example query block: root: symbol.to_string() -> symbol: symbol.to_string().
docs/architecture.md Added a paragraph clarifying that the FPSS binary diagram labels (root_len, root, exp_date) are the on-the-wire field names; the diagrams remain accurate as-is because the FPSS streaming wire format is unchanged. The Rust SDK exposes these as symbol and expiration, and MDDS gRPC v3 uses symbol natively.
docs/java-parity-checklist.md Added top-of-file vocabulary note. Rust-side mentions rewritten to Contract::option(symbol, expiration, strike, right) and Contract symbol length check. Java-side root / expDate references kept verbatim (Java terminal vocabulary is unchanged). Contract::option_raw mention reworded to flag the future IntoOptionSpec shape, deferred to 9.0.0.
docs-site/docs/api-reference.md Field table row root/exp_date -> symbol/expiration. Prose: OptionContract records list updated.
docs-site/docs/streaming/connection.md Comment "read the root ticker" -> "read the symbol".
docs-site/docs/streaming/events.md Comment "(plus .exp_date / ...)" -> "(plus .expiration / ...)". .is_call and .strike are still correct.
docs-site/docs/historical/option/list/roots.md Picked option (b) — kept the file name and URL slug for inbound-link stability (the roots.md slug is referenced from historical/option/index.md and the VitePress sidebar). Prose updated to clarify the SDK method is option_list_symbols; the legacy "roots" term is preserved in the slug only. No file rename.
docs-site/docs/historical/option/list/contracts.md Response field table and JSON sample updated to symbol (matches OptionContract struct on every SDK). Go example fixed: t.Root -> t.Symbol (the Go SDK struct uses Symbol since #484). Note added: there is no raw JSON wire format on this endpoint — the response decodes from a v3 gRPC DataTable, so the SDK's symbol vocabulary is what callers see.
sdks/cpp/README.md Surface table row updated: root, expiration, strike, right -> symbol, expiration, strike, right.

Out-of-list cleanup

  • docs-site/public/thetadatadx.yaml — OpenAPI Contract schema also had stale root / exp_date properties. Updated for consistency. The path/operationId drift checks still pass (scripts/check_docs_consistency.py).

Final scrub

rg "\\.root\\b|\\bexp_date\\b|\\.expDate\\b" docs/ docs-site/ sdks/*/README.md README.md ROADMAP.md returns only:

  • docs-site/docs/changelog.md — frozen historical entries (including the new 8.0.35 entry that describes the sweep).
  • docs/architecture.md — the FPSS wire-format byte labels, intentionally preserved with explanation.

No prose references to the Rust SDK using root / exp_date remain.

Version

scripts/bump_version.py 8.0.33 -> 8.0.35 across all manifests. The 8.0.34 slot is reserved for the parallel Wave 2A work-stream; per the V8 patch-bump-only policy, this PR rides 8.0.35 once Wave 2A merges. If the merge order needs to be different, the reviewer can swap the version bump locally before squash-merge.

scripts/check_version_sync.py: ok at 8.0.35.
scripts/check_docs_consistency.py: ok.

Test plan

  • cargo fmt --all -- --check clean
  • cargo test --workspace passes (incl. all doc-tests)
  • cargo clippy --workspace --all-targets -- -D warnings clean
  • python3 scripts/check_docs_consistency.py ok
  • python3 scripts/check_version_sync.py ok at 8.0.35
  • Render the VitePress site locally and visually confirm the changelog entry, the streaming pages, and the option list pages
  • Confirm the OpenAPI schema renders correctly in the API reference panel

Post-#484 (8.0.28) follow-up. The Rust SDK rename
Contract.root -> Contract.symbol and Contract.exp_date -> Contract.expiration
was not propagated to the doc tree. Sweep brings the docs into alignment with
the SDK surface; wire codecs (FPSS binary frames, MDDS gRPC) are unchanged.

Touched:
- docs/api-reference.md - Rust struct definitions and prose
- docs/macro-guide.md - parsed_endpoint! example query block
- docs/architecture.md - clarifies that the FPSS binary diagram labels are
  wire-format names, not SDK struct names
- docs/java-parity-checklist.md - top-of-file vocabulary note plus Rust-side
  rewrites; Java-side root/expDate references kept verbatim
- docs-site/docs/api-reference.md - field tables and prose
- docs-site/docs/streaming/{connection,events}.md - inline comments
- docs-site/docs/historical/option/list/roots.md - prose only; URL slug
  preserved for inbound-link stability
- docs-site/docs/historical/option/list/contracts.md - JSON sample, response
  table, and Go example (t.Root -> t.Symbol)
- docs-site/public/thetadatadx.yaml - OpenAPI schema for Contract
- sdks/cpp/README.md - OptionContract surface row

Version bump 8.0.33 -> 8.0.35 across all manifests; sub-Cargo.lock files
updated (8.0.34 placeholder is reserved for Wave 2A's parallel work-stream).
CHANGELOG entry added under [8.0.35] in both CHANGELOG.md and the docs-site
mirror.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@userFRM userFRM merged commit 1f4087f into main May 7, 2026
32 checks passed
@userFRM userFRM deleted the docs/503-stale-root-sweep branch May 7, 2026 03:58
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.

Stale 'root' / 'exp_date' doc references across repo (post-#484 sweep miss)

1 participant