Skip to content

refactor(events)!: simplify event identity and buffering - #245

Open
laipz8200 wants to merge 1 commit into
laipz8200/refactor-engine-architecturefrom
laipz8200/refactor-event-contract
Open

refactor(events)!: simplify event identity and buffering#245
laipz8200 wants to merge 1 commit into
laipz8200/refactor-engine-architecturefrom
laipz8200/refactor-event-contract

Conversation

@laipz8200

Copy link
Copy Markdown
Member

Important

  1. Make sure you have read our contribution guidelines
  2. Search existing issues and pull requests to confirm this change is not a duplicate
  3. Open or identify the issue this pull request resolves or advances
  4. Use a Conventional Commits title for this pull request, and mark breaking changes with !
  5. Remember that the pull request title will become the squash merge commit message
  6. If CLA Assistant prompts you, sign CLA.md in the pull request conversation

Related Issue

Closes #244

Summary

  • Replace the append-only event list, custom read/write lock, and polling loop with a condition-backed deque that releases consumed events.
  • Give graph events distinct event, graph, execution, and node-execution identities while preserving execution identity and sequence across runtime snapshots.
  • Keep layer observation and consumer ordering deterministic for concurrent producers.
  • Remove unused AgentNode event structures, exports, and metadata constants, and rely on native event models instead of a custom serialization helper.
  • This changes the public event contract: workflow_id becomes graph_id, node correlation moves from id to node_execution_id, and AgentNode event APIs are removed.

Checklist

  • This pull request links the issue it resolves or advances
  • This pull request title follows Conventional Commits, and any breaking change is marked with !
  • If CLA Assistant prompted me, I signed CLA.md in the pull request conversation

@laipz8200
laipz8200 force-pushed the laipz8200/refactor-event-contract branch from 0421711 to 9b3d2e1 Compare August 7, 2026 00:55
Replace append-only polling with condition-backed deque consumption. Add graph, execution, event, and node execution identities with snapshot-stable sequencing. Remove unused AgentNode event DTOs and the custom event codec.

BREAKING CHANGE: graph events now expose graph_id and event id separately, node correlation uses node_execution_id, and AgentNode event APIs are removed.
@laipz8200
laipz8200 force-pushed the laipz8200/refactor-event-contract branch from 9b3d2e1 to 825ab17 Compare August 7, 2026 07:14
@laipz8200
laipz8200 changed the base branch from main to laipz8200/refactor-engine-architecture August 7, 2026 07:14
@laipz8200
laipz8200 marked this pull request as ready for review August 7, 2026 07:16
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Aug 7, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor GraphEngine event identity and buffering

2 participants