Commit c127f53
committed
Add typed VRP response model (Tier 1 endpoint 1 of full POCO sweep)
- VrpResponse + 8 sub-types (VrpCore, VrpDirectional, VrpTermItem,
VrpGexConditioned, VrpVannaConditioned, VrpRegime, VrpStrategyScores,
VrpMacro). Field-level nullability defensive across all 5 SDK languages.
- Rich docstrings on every type and field — explains semantics + units +
sign conventions, calls out the famous nested-trap silent-null patterns
(response.z_score → response.vrp.z_score; response.put_vrp → response
.directional.downside_vrp; response.net_gex → response.regime.net_gex,
etc). Boosts LLM autocomplete accuracy and adds searchable surface area
on PyPI/typedoc/javadoc/NuGet.
- C# rename: VrpRegime.vrp_regime mapped to property VrpRegimeLabel
because C# disallows a property name matching its enclosing class.
JSON wire name unchanged.
Live vs historical structural diffs (encoded into the types):
- macro.fed_funds: live includes; historical omits
- macro.hy_spread: live currently null; historical populated (the
earlier comment claiming hy_spread is hard-coded to 3.5 on historical
is incorrect; corrected here)
- vrp.z_score / percentile / regime.vrp_regime / strategy_scores /
net_harvest_score: nullable on historical when warmup is insufficient
(queries near 2018-04-16, dataset start)
Backwards-compatible: existing untyped methods continue to return raw
JsonElement / map[string]interface{} / dict / unknown unchanged.
Integration tests + final 0.4.0-rc.2 release cut follow once Tier 1 is
complete (MaxPain + StockSummary still pending in this tier).1 parent 0c525ea commit c127f53
2 files changed
Lines changed: 466 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
19 | 28 | | |
20 | 29 | | |
21 | 30 | | |
| |||
64 | 73 | | |
65 | 74 | | |
66 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
67 | 86 | | |
0 commit comments