% Generated by code/make_tables.py from results/universe/universe\_artefacts.json, results/russell\_coverage.json. Do not edit by hand. \begin{table}[H] \centering\footnotesize \setlength{\tabcolsep}{3pt} \caption{Universe artefacts: file digests computed on the master node and release status}\label{tab:universe_artefacts} \begin{threeparttable} \begin{adjustbox}{max width=\textwidth} \begin{tabular}{p{3.4cm}p{5.5cm}rp{2.9cm}} \toprule Artefact & SHA-256 & Bytes & Shipped with the paper \\ \midrule \texttt{universe.\allowbreak{}json} & \texttt{\scriptsize 3967b29b378e50fbbac139bfc9051207} \texttt{\scriptsize 49ff09dcf8ec5769c3fbb12cb1c016e2} & 839{,}099 & yes (data/metadata/) \\ \texttt{russell3000\_\allowbreak{}constituents.\allowbreak{}json} & \texttt{\scriptsize 758cbebf58540230ede17fd35890336b} \texttt{\scriptsize a6bf9e29fad58e3792ce7134997c6b41} & 751{,}897 & yes (data/metadata/) \\ \texttt{sp500\_\allowbreak{}constituents.\allowbreak{}json} & \texttt{\scriptsize 5084075260692130896c3c9a187223e2} \texttt{\scriptsize 870b8e73774b35d1e28763fe8ffddb7d} & 109{,}110 & yes (data/metadata/) \\ \texttt{cik\_\allowbreak{}mapping.\allowbreak{}json} & \texttt{\scriptsize 7ec59b276cef779f8f714d29d7b77938} \texttt{\scriptsize ee3731f11ea5bd95526006fd03ed20fc} & 481{,}386 & no (hash only) \\ \texttt{shards.\allowbreak{}json} & \texttt{\scriptsize 8351ff54bea877175ca4bba51fc043ba} \texttt{\scriptsize 279b2bfbcc7ddb80db1da534ff922771} & 57{,}411 & no (hash only) \\ FTSE Russell factsheet (2026-09-30) & \texttt{\scriptsize 281e92643781cf19a3f4bc6a670e0719} \texttt{\scriptsize aa5ef1347d1071300491274aed0436e4} & -- & no (public URL) \\ Russell US indexes methodology (v7.2) & \texttt{\scriptsize 26d2d051beb27a6a808af7c17a2e2871} \texttt{\scriptsize cc5388e669bedbb42cbc4d0d3ce47c76} & -- & no (public URL) \\ \bottomrule \end{tabular} \end{adjustbox} \begin{tablenotes}\footnotesize \item Digests computed read-only on the master node (\texttt{results/universe/SHA256SUMS}); the three constituent files are shipped under \texttt{data/metadata/}. The iShares holdings CSV and the SEC \texttt{company\_tickers.json} consumed by the build were searched for on the node and not found (none): gate (a) of Table~\ref{tab:gates} is met for the frozen JSON artefacts only, not for their upstream sources. \texttt{cik\_mapping.json} and \texttt{shards.json} are hashed but not released (the latter names private cluster nodes); the URLs of the two public FTSE Russell documents are recorded in \texttt{results/russell\_coverage.json}. \end{tablenotes} \end{threeparttable} \end{table}