Skip to content

feat(quote)!: remove the derived QuoteTick.midpoint column#1201

Merged
userFRM merged 3 commits into
mainfrom
chore/obliterate-derivations-0.2.0
Jul 11, 2026
Merged

feat(quote)!: remove the derived QuoteTick.midpoint column#1201
userFRM merged 3 commits into
mainfrom
chore/obliterate-derivations-0.2.0

Conversation

@userFRM

@userFRM userFRM commented Jul 11, 2026

Copy link
Copy Markdown
Owner

From the engine-vs-terminal audit (two agents independently flagged it). QuoteTick.midpoint was a client-side derivation — the parser computed (bid + ask) / 2 and surfaced it as a column the wire never sends. The terminal's gRPC bridge is pure pass-through and emits no midpoint for quotes; same class as the already-killed derive_ohlcvc and local greeks calc. The SDK delivers exactly what the terminal delivers, so it's gone.

Removed from every codegen surface (parser, tdbe struct, rust/python arrow frames, python/typescript classes, cpp layout asserts, columns derive_midpoint path) + regenerated. The struct, Arrow/Polars column, per-binding class fields, C-ABI struct (tail padding grows to hold the align(64) size), MCP/server JSON, and benches all drop it. IvTick.midpoint and MarketValueTick's integer midpoint are real server-sent values — unchanged.

Breaking: quote Arrow schema + QuoteTick binding types no longer carry midpoint; compute (bid+ask)/2 caller-side if needed.

Verified: rust lib 1063 tests pass; parity clean + --selftest 209/0; sdk_surfaces + docs_site --check pass; rs/py/ts(napi)/cpp-asserts, MCP, server, and benches all compile. Net -295.

Part of the ongoing terminal-parity obliteration; is_open / list-sort / interval-snap follow separately.

claude added 3 commits July 12, 2026 00:56
The engine-vs-terminal audit flagged QuoteTick.midpoint as a client-side derivation: the parser computed (bid + ask) / 2 and surfaced it as a column the wire never sends. The terminal's gRPC bridge is pure pass-through and emits no midpoint for quotes — this is the same class as the already-removed derive_ohlcvc and local greeks calc. The SDK's contract is to deliver exactly what the terminal delivers, so the derived column is removed.

Removed the midpoint synthesis from every tick codegen surface (parser, tdbe struct, rust/python arrow frames, python/typescript classes, cpp layout asserts) and the columns presence helper's derive_midpoint path, then regenerated. The QuoteTick struct, its Arrow/Polars column, the per-binding class fields, the C ABI struct (tail padding grows to keep the align(64) size), the MCP/server JSON serialisers, and the benches all drop it. IvTick.midpoint and MarketValueTick's integer midpoint are real server-sent values and are unchanged.

Breaking: the quote history / snapshot Arrow schema and the QuoteTick binding types no longer carry a midpoint column; compute (bid + ask) / 2 caller-side if needed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
test_column_projection built two QuoteTick values with a midpoint field and
asserted midpoint in the projected column set. QuoteTick no longer carries that
column, so `cargo check --all-targets --features arrow,polars` failed with
E0560. Remove the field from both constructions and drop midpoint from the
expected column lists; the projection assertions now match the wire schema.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@userFRM userFRM merged commit f3de3ac into main Jul 11, 2026
52 checks passed
@userFRM userFRM deleted the chore/obliterate-derivations-0.2.0 branch July 11, 2026 23:25
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.

2 participants