Decided and not yet
What the language has decided, what it has deferred, and what it will not do.
A language’s edges are as much a part of it as its middle. Everything below was decided rather than forgotten, and each row says where the decision is written down. Nothing here is a bug, and nothing here is a promise.
Draft 1 ended with ten open questions; change set 04 answered most, the implementation settled several more, and the platform measured two. Each row below is either decided, with the section that now states it, or open, with what is missing.
| # | Question | Status |
|---|---|---|
| 1 | as of on every layer |
decided: the engine reads cold storage for every layer (ADR-018); §11 |
| 2 | Instrument identity | decided: an instrument is a market code, BTC-PERP; §8.1 |
| 3 | Capability registry history | decided: not versioned; a historical answer uses the registry as it stands. Open in part: the decision said a response would state that moment as capabilities_as_of, and nothing writes it (§26) |
| 4 | Units of oi, volume_24h, depth |
decided: requested per query, every value states its own; §8.5 |
| 5 | Funding on oracle venues | deferred: no oracle venue is collected |
| 6 | Derived candle rule | decided: a derived candle exists only when every base minute exists; §7.2 |
| 7 | Freshness defaults | decided: measured cadences sit well inside them; §8.4 |
| 8 | Settle window | decided: measured, 120 s; §11.5 |
| 9 | Spot instruments and tape functions | out of v1; §17.1 below |
| 10 | Public tags | moot: alerts left the API; §12.3 |
| 11 | Mark and index candles | decided: Kraken publishes them, Hyperliquid does not; §8.6 |
| 12 | Cross-instrument references | deferred; §17.1 below |
| 13 | Book levels under as of |
decided: metrics only, never the raw book; §7.4a |
| 14 | Contract rules per listing | decided: in the reference layer where the venue publishes them; §8.2 |
| 15 | ADR-016 supersession | decided: yes (ADR-018) |
| 17 | Funding normalisation | decided: identity on both venues |
| 18 | v1 aliasing | decided: no |
| 19 | Batch and rate numbers | decided: §13.1 |
| 21 | Band reference price | decided: the mid; §7.4a |
| 22 | Band sets per group | decided: platform-wide; §7.4a |
| 23 | Book cadence | decided: live |
| 25 | Kraken’s funding interval | open: Kraken does not publish the interval. Leave funding_interval null, or record a documented venue constant (1h, provenance venue_documentation). Operator’s decision |
| 26 | capabilities_as_of |
open: decided in C4-03, absent from the code. Either every /v2 answer carries the registry instant it was resolved against, or the decision is withdrawn and §11.2 says the registry is always current |
| 27 | Which venues /v2 shows |
open: /v2 shows a venue only once its public code is published. Bybit and OKX are collected and invisible there. Either publishing is part of bringing a venue online, or the language shows collected venues and marks them unpublished |
17.1 Not yet
Section titled “17.1 Not yet”Deliberately absent from v1, with the reason. None of these is a gap to be filled quietly: each would change what a query means, so each needs a change set of its own.
| Feature | Why not yet |
|---|---|
Boolean series and count_if(condition, n) |
A boolean series would need a second type of series with its own null rules; the useful cases (crossover, gaps) are already functions |
Cross-instrument references (BTC-PERP.mark inside an ETH-PERP row) |
Evaluation is per instrument by construction (§5); a reference across instruments makes the universe a join and the cost unbounded |
| Sub-minute sampling | The stored granularity is one second for snapshot layers, but a series at a sub-minute period would imply candles nobody published; snapshots/history with an interval answers the same question honestly |
mark_sampled and other synthetic series |
A series built by DEBYKO from its own samples is not what a venue published, and the language’s rule is that a value is what a venue published |
| Spot instruments, trade-tape functions (VWAP, trade counts) | Out of v1 scope; the grammar has room (market = spot, trades_1m) and the registry does not yet carry them |
User-defined functions, variables, let |
A query is one expression on purpose: it can be printed, canonicalised, hashed and replayed |