Skip to content

feat: reconcile spec drift #561 (22.5.0) - #562

Merged
TexasCoding merged 3 commits into
mainfrom
fix/561-spec-drift
Oct 29, 2026
Merged

TexasCoding merged 3 commits into
mainfrom
fix/561-spec-drift

Conversation

@TexasCoding

Copy link
Copy Markdown
Owner

Closes #561

Reconciles Spec Drift run 40870823940 (core OpenAPI 3.35.0 + perps). Additive; bumps to 22.5.0 (also ships test-only #560).

Changes

  • subaccount_type optional on MarginPosition, MarginSubaccountBalance, MarginRiskPosition, MarginFundingHistoryEntry (spec-required → server_omits_despite_required exclusions, like MarginMarket.halt_sources).
  • New endpoints (sync + async, registered in METHOD_ENDPOINT_MAP / BODY_MODEL_MAP, tests added):
    • GET/PUT/DELETE /portfolio/positions/{ticker}/exit_trigger → portfolio.exit_triggers / set_exit_trigger / cancel_exit_trigger
    • GET /portfolio/credit_history → portfolio.credit_history / credit_history_all
    • POST /portfolio/events/orders/with_exit_trigger → orders.create_with_exit_trigger
    • GET /margin/markets/schedules → perps.markets.schedules
  • Perps WS channel market_lifecycle_v2 → PerpsWebSocket.subscribe_market_lifecycle.
  • Specs synced, kalshi/_generated regenerated (no hand edits).

Blast radius (manual; GitNexus unavailable)

  • No existing public method, model field or signature removed or changed; diff outside _generated only adds code (checked for removed defs/classes/fields).
  • New optional fields default to None, so older payloads still parse; model equality/serialization of existing callers gains one None key at most.
  • PerpsChannel enum gains a member; exhaustive match users could see a new value.
  • New write methods (PUT/DELETE/POST) are not retried.
  • _generated regeneration only affects internal contract tests.

Gates

  • ruff: pass · mypy: pass (161 files)
  • pytest unit: 5046 passed, 3 skipped
  • strict contracts (-W error::UserWarning): 930 passed

@TexasCoding
TexasCoding merged commit bfdcf32 into main Oct 29, 2026
6 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.

Nightly spec-drift: strict contract tests failing (since 2026-10-29)

1 participant