Skip to content

Add code diff chain visualization#54

Open
nikivanstein wants to merge 9 commits intomainfrom
feature/codex-add-interactive-code-diff-visualizations-nqufce
Open

Add code diff chain visualization#54
nikivanstein wants to merge 9 commits intomainfrom
feature/codex-add-interactive-code-diff-visualizations-nqufce

Conversation

@nikivanstein
Copy link
Contributor

Summary

  • support computing code diff chains along a solution's lineage
  • show diff chain interactively in the web app
  • add tests for diff chain generation

Testing

  • uv run pytest tests/

https://chatgpt.com/codex/tasks/task_e_68b747ddfca0832198dcdb7910765db6

@codecov
Copy link

codecov bot commented Sep 2, 2025

Codecov Report

❌ Patch coverage is 22.41379% with 90 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
iohblade/webapp.py 0.00% 56 Missing ⚠️
iohblade/plots.py 43.33% 34 Missing ⚠️

📢 Thoughts on this report? Let us know!

@nikivanstein nikivanstein marked this pull request as draft September 2, 2025 20:05
@nikivanstein nikivanstein marked this pull request as ready for review February 3, 2026 11:49
@nikivanstein nikivanstein requested a review from BaronH07 February 3, 2026 11:50
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9aefe808e2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

import plotly.graph_objects as go
import streamlit as st
import urllib
from st_diff_viewer import diff_viewer

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add missing dependency for st_diff_viewer import

The new from st_diff_viewer import diff_viewer import will raise ModuleNotFoundError in a clean environment because this dependency is not declared in pyproject.toml or uv.lock (I searched both). That means the Streamlit app will crash at startup unless users happen to have the package installed globally. Please add the dependency or gate the import.

Useful? React with 👍 / 👎.

Comment on lines +771 to +774
if parent is not None:
lineage.append(parent)
pid = parent["parent_ids"]
if pid:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Guard missing parent rows in lineage traversal

get_code_lineage sets parent = None when an ID is missing, but immediately dereferences parent["parent_ids"]. If the dataset is filtered or missing ancestors (common when viewing a subset of runs), this will crash instead of returning the partial lineage. Consider breaking/raising when parent is None before accessing its fields.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants