feat(cdc): define graph change feed and land C0 foundation - #446
Open
aaltshuler wants to merge 1 commit into
Open
feat(cdc): define graph change feed and land C0 foundation#446aaltshuler wants to merge 1 commit into
aaltshuler wants to merge 1 commit into
Conversation
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.
Summary
Scope
This is C0 only. It adds no public feed API, cursor, WAL, coordinator, tombstone store, or persistent state. Existing diff_commits remains a net-current comparison.
Validation
Greptile Summary
This PR establishes the C0 foundation for commit-oriented CDC without exposing a feed API or adding persistent feed state.
diff_commitssemantics.Confidence Score: 5/5
The PR appears safe to merge; the executable changes preserve current diff semantics and add well-scoped CDC foundation types and guards.
Identity-based interval extraction matches the manifest’s immutable table-lifetime model, and first-parent classification returns the same resolved commits to the unchanged net-diff path.
Important Files Changed
diff_commitsthrough range classification while reducing both variants to the original endpoint pair.DatasetDeltaimages and stable row/version columns across graph tables.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart LR A[From commit ID] --> C[Resolve commit range] B[To commit ID] --> C C --> D{Child points to from as first parent?} D -->|Yes| E[FirstParent edge] D -->|No| F[Arbitrary range] E --> G[Resolve exact manifest snapshots] F --> G G --> H[Pair table endpoints by immutable identity] H --> I[Existing net-current row diff]Reviews (1): Last reviewed commit: "feat(cdc): establish graph change-feed f..." | Re-trigger Greptile
Context used (3)