04:28:20 Save this first, then count how many cells the “source” column should have. In market, total_market_cap_usd 2232483333214.6123, total_volume_24h_usd 85968190849.52124, btc_dominance_pct 58.95, and market_cap_change_24h_pct -7.59 are four readings with just one source attached at the end: coingecko:/global. sentiment also has one source for the entire block, alternative.me:/fng, and the now cell is 13, date 2026-11-14.
It changes when we get to prices: BTC has its own row, with usd 65526, change_24h_pct -4.93, source coingecko:/simple/price—each asset has its own source cell. tickers is more granular: the BTCUSDT row has last 65532.31, and even the symbol is fully specified in source. The BSC row in chain_tvl has tvl_usd 4539942523.947776, plus a separate history_source cell in addition to source.
Earlier, I grouped all source fields into one column by field name. As a result, those two cells in market and sentiment had no corresponding observation rows to attach to, so forcing them in would mean inventing rows. I’m keeping these figures in my personal archive; they’re not investment advice. Keep block-level sources in the block header and row-level sources with their respective rows—don’t flatten them.
It changes when we get to prices: BTC has its own row, with usd 65526, change_24h_pct -4.93, source coingecko:/simple/price—each asset has its own source cell. tickers is more granular: the BTCUSDT row has last 65532.31, and even the symbol is fully specified in source. The BSC row in chain_tvl has tvl_usd 4539942523.947776, plus a separate history_source cell in addition to source.
Earlier, I grouped all source fields into one column by field name. As a result, those two cells in market and sentiment had no corresponding observation rows to attach to, so forcing them in would mean inventing rows. I’m keeping these figures in my personal archive; they’re not investment advice. Keep block-level sources in the block header and row-level sources with their respective rows—don’t flatten them.