Inspiration

What it does

How we built it

Challenges we ran into

Inspiration

AI agents now do real data work — normalizing files, joining datasets, building reports — faster than teams can document it. The finished artifact rarely answers: which instruction produced it, which code ran, which exact bytes went in and out, and on which environment. The reviewers who most need those answers are often not ML engineers.

What it does

Rootline seals four links for every agent-assisted run — the MLflow trace of what the agent was asked and did, the Git commit that ran, the input/output bytes (DVC + SHA-256), and the locked environment (uv) — into an immutable record. Verification is always a deterministic hash comparison; re-checking appends dated observations and never rewrites history (enforced with O_EXCL exclusive file creation).

A local Console shows three views: a Lineage graph (three.js) where nodes carry the agent's actual instructions and drift appears as a red broken link; a Simple view in plain language for non-technical reviewers; and an Expert view with the full chain. The Console also loads external provenance repositories — the demo includes a real urban-data project built from 30,000+ street-level scenes.

How we used Codex

Codex implemented and tested the product end to end across small, feature-sized sessions: the evidence core, the Codex→MLflow trace bridge, the GPT-5.6 audit, the Console and all three views, and the documentation. Every session ID is mapped to its commits in docs/SESSIONS.md, and the repository's own development runs are sealed as evidence — the tool's history is provable by the tool itself.

How we used GPT-5.6

GPT-5.6 (Responses API, strict structured output, store: false) writes the plain-language audit report: it explains the deterministic result, lists risks, and gives reproduction steps. It never decides pass/fail. Prompts are privacy-bounded — data files and trace bodies are replaced by SHA-256 fingerprints — and every call leaves a receipt (requested/resolved model, response ID, token usage, input hash) stored as evidence. The demo's external lineage also comes from a real pipeline where GPT-5.6 verbalized 30,000+ street scenes.

Challenges

Making "immutable" real (exclusive-create semantics, append-only observations), bridging Codex's notify hook into MLflow spans across schema versions, and designing a provenance UI a non-engineer can read in three seconds.

What's next

Multi-project support, more trace backends, and richer lineage sources.## Accomplishments that we're proud of

What we learned

What's next for Rootline

Built With

Share this project:

Updates