SPB Git

spb/firc0001_uqo

Public
10.7 KB · 37 lines latex
1% Owner: Agent 10 (Stage E writing). Every generated exhibit is \input exactly once in the prose at the anchor2% where it is discussed; please do not add a second \input of the same float (duplicate labels). — 2026-11-053% ============================================================================4\section{Limitations, Reproducibility and Conclusion}\label{sec:conclusion}5% ============================================================================67\subsection{Limitations and what was not done}\label{sec:limitations}89Beyond the identification limits above, the current build has concrete technical limitations that bound its use, and this revision has left several items unexecuted. Each is listed with its reason and, where one can be stated, the direction of the bias it implies.1011\begin{itemize}12\item \textbf{Universe.} The issuer universe is a fund-holdings proxy at one date that covers \SPIDrussellProxyCoveragePct\% of the index count under representative sampling, not licensed Russell membership; the source holdings and ticker files were not archived, so the first line of \Cref{tab:reconciliation} cannot be reconstructed; and \SPIDissuersWithoutFilings\ issuers are outside the form scope. The omitted members are expected to be the smallest, so cross-sectional statements about small issuers are the least reliable. A licensed constituent history would settle both points and was not available.13\item \textbf{Parsing.} The parser stores section-level provenance but not character offsets into the raw HTML; tables are flattened in the corpus layer and were removed altogether from the S\&P~500 10-K items prepared in June 2026; \SPIDfullDocumentTenKInvisible\ 10-K filings are invisible to the project layer. Re-parsing the S\&P~500 10-Ks with the corpus-layer segmenter would make the two cohorts comparable and was not done because it would require re-extraction of their sections.14\item \textbf{Focus windows.} The model saw a median \SPIDmdnaShownMedianPct\% of a submitted 10-K MD\&A and \SPIDmentionsFromLtTwentyFivePct\% of mentions come from sections shown for less than a quarter; recall on long sections is bounded above by the windows (\SPIDrulesFocusRecoveredPct\% of rule-based mentions survive them) and is lowest for passages late in a section, such as the liquidity and capital-resources discussion. Storing the focus spans and widening or re-ordering the windows are pipeline changes that imply new model calls.15\item \textbf{Resolver.} The resolver is a deterministic key that both merges distinct phases and splits renamed initiatives; \SPIDprojectsKeyedNameTokenPct\% of projects are keyed on a generic name token, the count ranges from \SPIDprojectsKeyTypeDropped\ to \SPIDprojectsKeyStrict\ across reasonable keys, and the representative fields of \SPIDprojectsTieMaxConfidence\ projects depend on tie order. The deterministic tie-breaker is specified and not yet adopted in the stored table (a pipeline change).16\item \textbf{Extraction contract.} \texttt{amount\_raw} is a formatted float, years and technologies may be back-filled from the model's paraphrase, missing confidences default to \SPIDconfDefault, out-of-vocabulary types default to \texttt{technology\_deployment}, and the raw responses were not stored, so none of these can be undone without re-extraction. Amounts carry no type, currency or scale; the typing pass requires annotation or a second extraction and was not authorised.17\item \textbf{Ledger.} The ledger cannot distinguish an empty result from a failed call: \SPIDllmFailedJsonDecodeError\ silent failures are known from the October log, \SPIDjuneLlmCallFailed\ from the June log, and the first post-outage batch (\SPIDresumeBatchSections\ sections) is most likely a block of empty answers. The re-submission of its \SPIDresumeBatchCalls\ gate-passing sections was requested and not granted for this revision; the affected issuers' October counts are biased downward until it is run.18\item \textbf{Two runs.} No June code revision exists, the ledger records no model identifier or prompt hash, and the June snapshot of the model is unknown; the runs are separable only by the backfill timestamp. This cannot be repaired after the fact; the proposed \texttt{extraction\_runs} table prevents a recurrence.19\item \textbf{Stability.} Temperature zero without a seed is not determinism; the re-submission, prompt-paraphrase and model-substitution protocol of \Cref{sec:val_human} requires model calls that were not authorised, so the stability of the output is unmeasured.20\item \textbf{Human labels.} The gold standard of \Cref{sec:val_human} is drawn, weighted and documented but not annotated; precision, recall, category accuracy, calibration and linkage error therefore remain unmeasured, and gate~(d) is not met. This is author labour and the main item of the next round.21\item \textbf{Rule-based baseline.} The agreement rates of \Cref{sec:val_mechanical} are computed on a stratified sample of \SPIDrulesSampleProductive\ productive and \SPIDrulesSampleZero\ zero-mention sections, not on the full ledger; a full-corpus run is a matter of compute time and was deferred.22\item \textbf{Scope.} The 10-Q sections and 8-K bodies are read whole (subject to the windows) while 10-K Items 3--6 and 8--9B are not read at all, and 8-K exhibits (where press releases live) are not read; the first public announcement of a project may therefore precede its first mention.23\item \textbf{Release and licence.} Whether the derived tables (\texttt{project\_mentions}, \texttt{projects}, \texttt{project\_timeline}, \texttt{extracted\_sections}) are released as files with the paper, and under which licence, are author decisions not yet taken; until then gate~(f) holds for the exports and exhibit code only.24\end{itemize}2526\subsection{Reproducibility, data availability and terms}\label{sec:reproducibility}2728\paragraph{Data.} The primary documents are Forms 10-K, 10-Q and 8-K retrieved from the SEC's EDGAR system (public domain) under the fair-access policy, with an identifying user agent, between May 2026 (S\&P~500 issuers) and \SPIDiwvFetchDate\ (remaining issuers); they are not redistributed because of their size (\SPIDrawGb~GB) and can be re-downloaded with \texttt{scripts/download\_filings.py}. The issuer universe merges the Wikipedia S\&P~500 table scraped on \SPIDspWikipediaDate\ (text under the Creative Commons Attribution-ShareAlike 4.0 licence) \citep{wikipediasp500} and the iShares Russell~3000 ETF holdings file published by BlackRock, holdings as of \SPIDiwvHoldingsDate, downloaded on \SPIDiwvFetchDate\ under the iShares website terms of use \citep{iwvholdings2026}; the downloaded holdings file was not archived, while the mapped universe is archived with SHA-256 checksums. The index constituent count is read from the FTSE Russell factsheet of \SPIDfactsheetDate\ \citep{ftserussell3000factsheet2026}. The extraction outputs were generated with the OpenAI API (alias \texttt{gpt-4o-mini} in June 2026; \texttt{gpt-4o-mini-2024-07-18} in October 2026 according to the authors' record) under OpenAI's terms of use; raw API responses were not stored, only the normalized mentions. The derived tables reside in DuckDB on the master node of the authors' cluster and are available from the authors on request; their release as files with the paper is an author decision not yet taken.2930\paragraph{Code.} The acquisition, parsing and extraction pipeline is revision \texttt{2324b58} of the private repository \texttt{uqo-research-db.git}; the \SPIDsnapshotFilesN\ files that define the extraction instrument and the resolver are archived with the paper (\texttt{code/audit/spid\_snapshot/}, with SHA-256 checksums). The exhibit code (\texttt{code/export\_stats.py}, \texttt{code/make\_tables.py}), the exports (\texttt{data/}), the audit scripts of this revision (\texttt{code/audit/}) and their outputs (\texttt{results/}) are released with the paper; \texttt{run\_all.sh} regenerates every table, figure and inline number from the exports, and \texttt{tests/} (\SPIDtestsN\ checks) verifies that the exports reconcile. The master-node environment is pinned (\texttt{requirements.lock}, \SPIDrequirementsLockPackages\ packages; Python \SPIDpythonVersion; DuckDB \SPIDduckdbVersion); no licence file has been committed pending the authors' decision (MIT for code and CC BY 4.0 for derived tables are proposed).3132\paragraph{Reproducibility.} The exhibits are reproducible from the released materials. The databases are regenerable by the authors from the repository, the frozen universe artefact, the download logs and the extraction ledger; the paid extraction step is resumable and ledgered but not deterministic (\Cref{sec:contract}), and the extraction cost about \SPIDtotalCostUsd~USD at October 2026 prices (recorded against the October run; whether the total also covers the June block is to be confirmed by the authors). The repository contains no credentials and no private infrastructure details. The database does not contain personal data; the only names it stores are those of corporations, places and technologies as they appear in public filings.3334\subsection{Conclusion}3536We asked whether distinct strategic projects can be identified, classified, dated, linked and quantified from the SEC filings of a Russell~3000 proxy while preserving source evidence. We have documented a re-runnable, ledgered pipeline that turns \SPIDfilingsTotal\ filings of \SPIDuniverseN\ issuers into \SPIDmentions\ section-linked candidate mentions and \SPIDprojectCountCurrentKey\ candidate projects under one stated key, classified into a \SPIDtaxonomyN-category taxonomy and organized into timelines, and we have audited that pipeline mechanically: the structured fields are found verbatim in their source section for \SPIDgroundAllPct\% of mentions, the model read a median \SPIDmdnaShownMedianPct\% of a 10-K MD\&A, the dominant category co-occurs with the corresponding 8-K item far above its base rate, \SPIDfinMentionsPct\% of mentions are financing instruments rather than projects, and the project count moves between \SPIDprojectsKeyTypeDropped\ and \SPIDprojectsKeyStrict\ with the key. We have been equally explicit about what has \emph{not} been done: the accuracy of extraction, classification and linkage has not been measured against independent human labels; the stability of the instrument has not been tested; amounts are not typed; events are not separated; one post-outage batch is suspect; the universe is a sampled snapshot. The contribution of this paper is therefore the instrument and its audit rather than a validated measurement. The next step of the research program is the annotation of the frame delivered here and the linkage audit; only their results will determine whether the counts reported here can be used as variables, and with what measurement-error model. Until then, SPID is a research database under validation, and we ask that it be cited and used as such.37
Files · main
Menu

Theme