Remove DelayType::Stratum and DelayType::MonotoneAccum from operator input_delaytype_fn#2850
Draft
MingweiSamuel wants to merge 2 commits intomingwei/dfir-mapped-singletonsfrom
Draft
Remove DelayType::Stratum and DelayType::MonotoneAccum from operator input_delaytype_fn#2850MingweiSamuel wants to merge 2 commits intomingwei/dfir-mapped-singletonsfrom
MingweiSamuel wants to merge 2 commits intomingwei/dfir-mapped-singletonsfrom
Conversation
MingweiSamuel
added a commit
that referenced
this pull request
May 6, 2026
With the inline DAG codegen, each subgraph runs exactly once per tick in topological order. The within-tick stratum barriers (Stratum and MonotoneAccum) are no longer needed — they were only required when subgraphs could be re-triggered with partial data. Changes: - Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum - Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or `Some(DelayType::MonotoneAccum)` to return `None` - Updated `flat_to_partitioned.rs` to remove `DelayType` from the `iter_node_pairs` return type (only used for subgraph boundary detection) - Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling for the removed variants - Updated `meta_graph.rs` to not assign a delay type to singleton reference edges in graph visualization - Removed unused `DelayType` imports from all operator files - Updated stale comments referencing the removed variants Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent actual cross-tick boundaries (defer_tick / defer_tick_lazy). Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph partitioning will change — edges that previously forced boundaries no longer do. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
MingweiSamuel
added a commit
that referenced
this pull request
May 6, 2026
…input_delaytype_fn All operator files that returned Some(DelayType::Stratum) or Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None. This includes fold, reduce, sort, join, anti_join, difference, cross_singleton, and all other operators that previously used these variants. Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from the affected operator files. The dfir_lang crate compiles cleanly with no warnings. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
006273d to
e6168f8
Compare
Deploying hydro with
|
| Latest commit: |
f7e4592
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://111e9675.hydroflow.pages.dev |
| Branch Preview URL: | https://mingwei-delete-delaytype2.hydroflow.pages.dev |
MingweiSamuel
added a commit
that referenced
this pull request
May 6, 2026
With the inline DAG codegen, each subgraph runs exactly once per tick in topological order. The within-tick stratum barriers (Stratum and MonotoneAccum) are no longer needed — they were only required when subgraphs could be re-triggered with partial data. Changes: - Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum - Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or `Some(DelayType::MonotoneAccum)` to return `None` - Updated `flat_to_partitioned.rs` to remove `DelayType` from the `iter_node_pairs` return type (only used for subgraph boundary detection) - Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling for the removed variants - Updated `meta_graph.rs` to not assign a delay type to singleton reference edges in graph visualization - Removed unused `DelayType` imports from all operator files - Updated stale comments referencing the removed variants Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent actual cross-tick boundaries (defer_tick / defer_tick_lazy). Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph partitioning will change — edges that previously forced boundaries no longer do. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
MingweiSamuel
added a commit
that referenced
this pull request
May 6, 2026
…input_delaytype_fn All operator files that returned Some(DelayType::Stratum) or Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None. This includes fold, reduce, sort, join, anti_join, difference, cross_singleton, and all other operators that previously used these variants. Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from the affected operator files. The dfir_lang crate compiles cleanly with no warnings. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
e6168f8 to
ea8837e
Compare
d0625d4 to
c53fbe9
Compare
MingweiSamuel
added a commit
that referenced
this pull request
May 6, 2026
With the inline DAG codegen, each subgraph runs exactly once per tick in topological order. The within-tick stratum barriers (Stratum and MonotoneAccum) are no longer needed — they were only required when subgraphs could be re-triggered with partial data. Changes: - Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum - Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or `Some(DelayType::MonotoneAccum)` to return `None` - Updated `flat_to_partitioned.rs` to remove `DelayType` from the `iter_node_pairs` return type (only used for subgraph boundary detection) - Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling for the removed variants - Updated `meta_graph.rs` to not assign a delay type to singleton reference edges in graph visualization - Removed unused `DelayType` imports from all operator files - Updated stale comments referencing the removed variants Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent actual cross-tick boundaries (defer_tick / defer_tick_lazy). Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph partitioning will change — edges that previously forced boundaries no longer do. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850 Resolve 3-way merge conflict in dfir_lang/src/graph/meta_graph.rs The conflict was between three sides that all agreed on using `pivot_fn_ident` (not `_pivot_fn_ident`) with `subgraph_id.data()` (not `subgraph_id.0`). Resolved to the common intent: `let pivot_fn_ident = Ident::new(&format!("pivot_run_sg_{:?}", subgraph_id.data()), pivot_span);` Verified with `cargo check` — compiles cleanly. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
MingweiSamuel
added a commit
that referenced
this pull request
May 6, 2026
…input_delaytype_fn All operator files that returned Some(DelayType::Stratum) or Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None. This includes fold, reduce, sort, join, anti_join, difference, cross_singleton, and all other operators that previously used these variants. Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from the affected operator files. The dfir_lang crate compiles cleanly with no warnings. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
c53fbe9 to
ef7ca08
Compare
ea8837e to
eb08e2b
Compare
With the inline DAG codegen, each subgraph runs exactly once per tick in topological order. The within-tick stratum barriers (Stratum and MonotoneAccum) are no longer needed — they were only required when subgraphs could be re-triggered with partial data. Changes: - Removed `Stratum` and `MonotoneAccum` variants from `DelayType` enum - Changed all `input_delaytype_fn` that returned `Some(DelayType::Stratum)` or `Some(DelayType::MonotoneAccum)` to return `None` - Updated `flat_to_partitioned.rs` to remove `DelayType` from the `iter_node_pairs` return type (only used for subgraph boundary detection) - Updated `graph_write.rs` to remove the `--x` and `#60` mermaid styling for the removed variants - Updated `meta_graph.rs` to not assign a delay type to singleton reference edges in graph visualization - Removed unused `DelayType` imports from all operator files - Updated stale comments referencing the removed variants Only `DelayType::Tick` and `DelayType::TickLazy` remain — these represent actual cross-tick boundaries (defer_tick / defer_tick_lazy). Note: Snapshot tests will need regeneration (`INSTA_UPDATE=1`) since subgraph partitioning will change — edges that previously forced boundaries no longer do. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850 Resolve 3-way merge conflict in dfir_lang/src/graph/meta_graph.rs The conflict was between three sides that all agreed on using `pivot_fn_ident` (not `_pivot_fn_ident`) with `subgraph_id.data()` (not `subgraph_id.0`). Resolved to the common intent: `let pivot_fn_ident = Ident::new(&format!("pivot_run_sg_{:?}", subgraph_id.data()), pivot_span);` Verified with `cargo check` — compiles cleanly. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
…input_delaytype_fn All operator files that returned Some(DelayType::Stratum) or Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None. This includes fold, reduce, sort, join, anti_join, difference, cross_singleton, and all other operators that previously used these variants. Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from the affected operator files. The dfir_lang crate compiles cleanly with no warnings. Co-authored-by: Infinity 🤖 <infinity@hydro.run> PR: #2850
eb08e2b to
f7e4592
Compare
ef7ca08 to
55de3bf
Compare
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.
All operator files that returned Some(DelayType::Stratum) or
Some(DelayType::MonotoneAccum) from their input_delaytype_fn now return None.
This includes fold, reduce, sort, join, anti_join, difference, cross_singleton,
and all other operators that previously used these variants.
Also cleaned up unused imports (DelayType, PortIndexValue, ToTokens) from
the affected operator files.
The dfir_lang crate compiles cleanly with no warnings.
Co-authored-by: Infinity 🤖 infinity@hydro.run
PR: #2841