Repository navigation
[AI-7080] Report snapshot inputs that changed since launch - #25182
luisorofino wants to merge 3 commits into
Conversation
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: bbcedaa | Docs | View more details | Give us feedback! |
evalya-impact-summaryevalya impact analysis |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c3c14fcccc
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
c3c14fc to
5986233
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 478c69fa4e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
78f8cc8 to
d21620c
Compare
d21620c to
cd3fead
Compare
cd3fead to
9799f7c
Compare
A resumed run keeps the snapshot it started with, even when the file it was launched from has since been edited, moved, or deleted. That decision was silent. The orchestrator now reports it through a new `on_input_diverged` callback, fired from the capture that makes the decision, so there is a single source of truth and a future non-TUI runner can surface it too. The execution screen subscribes and shows a one-line notice naming the affected inputs. The notice shares a fixed-height body with the pipeline graph, and that body hides its overflow, so every row the notice takes is a row the graph loses. It therefore summarizes past three names and carries no border or padding: an unbounded, boxed banner drove the pipeline to zero height on an 80x24 terminal.
9799f7c to
bbcedaa
Compare
AAraKKe
left a comment
There was a problem hiding this comment.
note: Reviewed the capture-to-callback-to-TUI notice wiring against the PRD-path branch. The notice follows the capture's reuse decision, and the earlier combined-name-width and captured-path assertion findings are fixed at this head. The four focused orchestrator/notice tests passed, including multiple inputs and maximum-length names. No new correctness findings in this PR's delta; the snapshot capture requests are on #25180.
|
This pull request has been automatically marked as stale because it has not had activity in the past 15 days. It will be closed in 30 days if no further activity occurs. If this pull request is still relevant, adding a comment or pushing new commits will keep it open. Also, you can always reopen the pull request if you missed the window. Thank you for your contributions! |
Validation ReportAll 22 validations passed. Show details
|
What does this PR do?
Adds an
on_input_divergedcallback, fired by the orchestrator when a resumed run keeps a snapshot copy whose source file has changed since launch. The execution screen subscribes through the existing callback-to-message bridge and shows a one-line notice naming the affected inputs.The callback fires from inside the capture that makes the reuse decision, so what the user is told is what actually happened. An earlier draft had the TUI re-derive divergence by re-reading the manifest itself; that was a second implementation of the same question and could disagree with the first. Delete the snapshot file but leave the manifest, and the capture re-captures the current file while the TUI would have announced the opposite.
The notice deliberately carries no border or padding and summarizes past three names. It shares a fixed-height body with the pipeline graph, and that body hides its overflow, so every row the notice takes is a row the graph loses with no scrollbar to recover it. Measured on an 80x24 terminal, an unbounded boxed banner drove the pipeline to zero height; the shipped version costs it two rows.
Motivation
AI-7080.
Reusing the captured snapshot is what makes a resumed run reproducible, but doing it silently is confusing in the one case where the user can tell the difference: they edited the PRD between runs and expect the new version to take effect. Naming the input and saying which version won removes the surprise without changing the behavior.
A callback rather than a TUI-local check also means a future non-TUI runner — a CLI entry point, for example — can surface the same information by subscribing, with no new logic.
Review checklist (to be filled by reviewers)
qa/requiredif this PR needs QA validation, orqa/skip-qaif it does not. Exactly one of the two is required.backport/<branch-name>label to the PR and it will automatically open a backport PR once this one is merged