Closed
Conversation
…e check and ruff check done
…e check and ruff check dones
a13d26f to
b5c43a4
Compare
…e check and ruff check donesss
…e check and ruff checkss
619f618 to
73e46a5
Compare
e6c2f12 to
1df0a6f
Compare
… and ruff checsks
c740807 to
582c1fe
Compare
… and ruff checsksssss
… and ruff checsksss
… and ruff checsksssss
fdf51cc to
77b07fe
Compare
80e0943 to
e0b4abd
Compare
… and ruff checskssssssssssss
287e69c to
5e4b019
Compare
56cd026 to
beb29ec
Compare
ec42839 to
961c1db
Compare
…t requirementssss ruff checks
Contributor
Author
|
hi @bryanadenhq i need help what is the main cause in this i was trying since couple of hours |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR transforms the
GraphExecutorfrom a linear runner into a Time-Travel Execution Engine. It introduces the ability to snapshot state at every step, rewind execution, and "fork" new execution paths from previous states. This is a foundational feature for advanced debugging and "Human-in-the-Loop" optimizations.Additionally, this PR applies comprehensive linting fixes to
executor.pyandnode.pyto satisfyruffrequirements (fixing line lengths, import sorting, and trailing newlines).Type of Change
Related Issues
Fixes #949
Changes Made
1. Time-Travel Logic (
core/framework/graph/executor.py)ExecutionSnapshot: Added a dataclass to store immutable point-in-time state (step index, node ID, memory copy, timestamp).executeloop to capture aSharedMemory.snapshot()before every node execution and append it toExecutionResult.history.fork_executionAPI: Implemented a method to resume execution from any snapshot. It restores the memory state, sets the entry point to the snapshot's node, and allows injectinginput_overridesto fix data on the fly.2. Memory Management (
core/framework/graph/node.py)SharedMemory.snapshot()which usescopy.deepcopyto ensure forked execution branches do not mutate the history of the original run.3. Code Quality & Linting
executor.py: Restored type safety checks for session state and fixed allrufferrors (line lengths, newlines).node.py: Fixed severe line length violations (E501), sorted imports (I001), and ensured proper formatting for complex Pydantic field definitions and logger messages.Testing
Describe the tests you ran to verify your changes:
cd core && pytest tests/)cd core && ruff check framework/graph/executor.py framework/graph/node.py)fork_executionsuccessfully resumes from a specific node ID with restored memory.Checklist