Skip to content

feat(graph-engine): add command to update variables at runtime - #30

Open
tomerqodo wants to merge 6 commits into
augment_only-issues-20260113-augment-codex-sentry_base_featgraph-engine_add_command_to_update_variables_at_runtime_pr175from
augment_only-issues-20260113-augment-codex-sentry_head_featgraph-engine_add_command_to_update_variables_at_runtime_pr175
Open

feat(graph-engine): add command to update variables at runtime#30
tomerqodo wants to merge 6 commits into
augment_only-issues-20260113-augment-codex-sentry_base_featgraph-engine_add_command_to_update_variables_at_runtime_pr175from
augment_only-issues-20260113-augment-codex-sentry_head_featgraph-engine_add_command_to_update_variables_at_runtime_pr175

Conversation

@tomerqodo

Copy link
Copy Markdown

Benchmark PR from qodo-benchmark#175

laipz8200 and others added 6 commits January 5, 2026 14:41
Add a new command for GraphEngine to update a group of variables. This command takes a group of variable selectors and new values. When the engine receives the command, it will update the corresponding variable in the variable pool. If it does not exist, it will add it; if it does, it will overwrite it. Both behaviors should be treated the same and do not need to be distinguished.
…n and remove value type validation

- test(graph-engine): update UpdateVariablesCommand tests to pass concrete Variable instances
- fix(graph-engine): align VariableUpdate values with selector before adding to VariablePool

Tests not run.
… pool updates from Variable.selector, updating tests accordingly
…lers.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@augmentcode

augmentcode Bot commented Jan 15, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds a new graph-engine command that lets a running workflow update variables at runtime.

Changes:

  • Introduced UpdateVariablesCommand (+ VariableUpdate) and a new CommandType.UPDATE_VARIABLES.
  • Extended Redis command deserialization to recognize and validate the new command type.
  • Added UpdateVariablesCommandHandler and registered it in GraphEngine to apply updates to the runtime VariablePool.
  • Extended GraphEngineManager with a helper to send update-variable commands via Redis.
  • Added unit tests covering Redis-channel deserialization and end-to-end variable pool updates during GraphEngine.run().

Technical Notes: Variable updates are provided as strongly-typed VariableUnion instances and are applied by calling VariablePool.add() for each selector/value pair.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.


ABORT = "abort"
PAUSE = "pause"
UPDATE_VARIABLES = auto()

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CommandType.UPDATE_VARIABLES = auto() makes the serialized command type value depend on the enum member name (and can change on rename), which is risky for a Redis/wire protocol. Consider using an explicit string value (like "abort"/"pause") to keep the command contract stable.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants