What if We All Just Submit the Transcripts? Provenance and Auditability for AI-Native Research Processes
Abstract
Venues now often require authors and reviewers to \emph{disclose} their use of large language models. However, disclosure is a weak checkbox: it is not granular, unauditable, and carries no evidence. What if instead, all researchers \emph{submitted all of their related AI transcripts?} We take the disclosure of LLMs and coding agents to its logical conclusion, explore what it takes to support a stronger norm of \emph{complete transcript submission}, and implement a proof-of-concept system that makes this \emph{what if?} a reality. For adoption at conference scale, major challenges arise, and things are not as simple as submitting a \texttt{transcripts.zip}---though we present a working system that can address many of these challenges. The main challenges were \emph{safety, evidence, traceability and auditability, data governance,} and \emph{contract stability}. We also describe the design choices that our software system made to solve these challenges, and discuss how it enables enforceable AI-use policies, reviewer accountability, and confidential review-time disclosure. The system has three parts. \texttt{ingestor} is a local-first CLI that harvests coding-agent sessions from five harnesses (Claude Code, Codex, OpenCode, Cursor, and Strike) into a common transcript format, binds them to detected git commits, redacts them, and lets the researcher annotate and review them locally before crossing any network boundaries. \texttt{commons} is a data commons that stores published transcripts as encrypted, content-addressed, immutable blobs under an append-only governance audit log, with Creative Commons licensing, private-by-default visibility, and collective-scoped sharing designed for maintainers of open-contribution projects. \texttt{apicontracts} is the versioned data model that both sides use and allows for scalable, maintainable usage in any downstream custom applications through API specifications defined in OpenAPI format, with Go and TypeScript bindings generated and kept in parity by tests.