Skip to content

Add dataflow grammar audit + PR comment workflow#21

Open
mikemol wants to merge 55 commits into
mainfrom
stage
Open

Add dataflow grammar audit + PR comment workflow#21
mikemol wants to merge 55 commits into
mainfrom
stage

Conversation

@mikemol

@mikemol mikemol commented Jan 31, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a new workflow for auditing and visualizing Python function parameter forwarding patterns, aiming to surface "dataflow grammar" candidates for configuration bundling. It adds two static analysis scripts, a shell script for rendering, and a corresponding GitHub Actions workflow. To support this, the policy and policy-checking logic are updated to allow minimal PR comment write permissions for this workflow under strict conditions.

Major features and changes:

1. Dataflow Grammar Analysis and Visualization

  • Added scripts/dataflow_grammar_audit.py, a static analysis tool that infers parameter bundles in Python functions based on forwarding patterns, and can emit a DOT graph for visualization.
  • Added scripts/forwarded_args_audit.py, which audits function parameters to classify their usage as direct forwarding, derived forwarding, non-forward, or unused, helping identify bundling candidates.
  • Added scripts/render_dataflow_grammar.sh to automate running the analysis and rendering the output graph as a PNG using Graphviz.

2. CI Workflow Integration

  • Introduced .github/workflows/pr-dataflow-grammar.yml, a GitHub Actions workflow that runs the analysis on PRs, uploads the resulting artifact, and comments on the PR with a download link for the generated dataflow graph.

3. Policy and Enforcement Updates

  • Updated POLICY_SEED.md to document a narrow exception allowing workflows on GitHub-hosted runners to request pull-requests: write permission for the purpose of PR discourse enrichment (e.g., posting rendered graphs), with strict scoping and allow-listing.
  • Enhanced scripts/policy_check.py to permit pull-requests: write only for eligible workflows (those not using self-hosted runners and only for PR enrichment), and to propagate this exception through permission checks. [1] [2] [3] [4]

@github-actions

Copy link
Copy Markdown

Dataflow grammar graph generated.

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 56.

Component 1

flowchart LR
  7981532500545511848["graph.py:ic_wire_jax"]
  3636478280648831124((node_a, node_b, port_a, port_b))
  7981532500545511848 --> 3636478280648831124
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7981532500545511848 fn;
  class 3636478280648831124 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  1545602466151737049["graph.py:ic_wire_ptrs_jax"]
  8430692738243512697((ptr_a, ptr_b))
  1545602466151737049 --> 8430692738243512697
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1545602466151737049 fn;
  class 8430692738243512697 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - ptr_a, ptr_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 3

flowchart LR
  3420019045429137618["graph.py:ic_wire_jax_safe"]
  2882177512485537085((node_a, node_b, port_a, port_b))
  3420019045429137618 --> 2882177512485537085
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3420019045429137618 fn;
  class 2882177512485537085 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 4

flowchart LR
  2665758481294902926["graph.py:ic_wire_pairs_jax"]
  8427148359634864565((node_a, node_b, port_a, port_b))
  2665758481294902926 --> 8427148359634864565
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2665758481294902926 fn;
  class 8427148359634864565 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 5

flowchart LR
  5259566806635058971["graph.py:ic_wire_ptr_pairs_jax"]
  8219096867488129495((ptr_a, ptr_b))
  5259566806635058971 --> 8219096867488129495
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5259566806635058971 fn;
  class 8219096867488129495 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - ptr_a, ptr_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 6

flowchart LR
  3673093757194498875["graph.py:ic_wire_star_jax"]
  6525943663842065318((center_node, center_port))
  8971501779931587426((leaf_nodes, leaf_ports))
  3673093757194498875 --> 6525943663842065318
  3673093757194498875 --> 8971501779931587426
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3673093757194498875 fn;
  class 6525943663842065318,8971501779931587426 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 2
Observed-only bundles (not declared in Configs):
  - center_node, center_port
  - leaf_nodes, leaf_ports
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 7

flowchart LR
  2947606254771605173["protocols.py:__call__"]
  8528195598074071571((node_a, node_b, self, state, template_id))
  2947606254771605173 --> 8528195598074071571
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2947606254771605173 fn;
  class 8528195598074071571 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 8

flowchart LR
  4340000922147606041["arena_step.py:cycle_core"]
  8838163113443064145((op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn))
  4340000922147606041 --> 8838163113443064145
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4340000922147606041 fn;
  class 8838163113443064145 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn

Component 9

flowchart LR
  2079016823540021845["arena_step.py:cycle_core_value"]
  6926816198369317874((op_interact_value_fn, op_sort_and_swizzle_blocked_with_perm_value_fn, op_sort_and_swizzle_hierarchical_with_perm_value_fn, op_sort_and_swizzle_morton_with_perm_value_fn, op_sort_and_swizzle_servo_with_perm_value_fn, op_sort_and_swizzle_with_perm_value_fn))
  2079016823540021845 --> 6926816198369317874
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2079016823540021845 fn;
  class 6926816198369317874 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_interact_value_fn, op_sort_and_swizzle_blocked_with_perm_value_fn, op_sort_and_swizzle_hierarchical_with_perm_value_fn, op_sort_and_swizzle_morton_with_perm_value_fn, op_sort_and_swizzle_servo_with_perm_value_fn, op_sort_and_swizzle_with_perm_value_fn

Component 10

flowchart LR
  1075207029711797428["arena_step.py:cycle"]
  5887116977040751749((op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn))
  1075207029711797428 --> 5887116977040751749
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1075207029711797428 fn;
  class 5887116977040751749 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 56.

Component 1

flowchart LR
  6073171462204249095["graph.py:ic_wire_jax"]
  2954036494319553736((node_a, node_b, port_a, port_b))
  6073171462204249095 --> 2954036494319553736
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6073171462204249095 fn;
  class 2954036494319553736 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  2176083289040113058["graph.py:ic_wire_ptrs_jax"]
  7439623358427815110((ptr_a, ptr_b))
  2176083289040113058 --> 7439623358427815110
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2176083289040113058 fn;
  class 7439623358427815110 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - ptr_a, ptr_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 3

flowchart LR
  7241833327677950147["graph.py:ic_wire_jax_safe"]
  6038989680916714741((node_a, node_b, port_a, port_b))
  7241833327677950147 --> 6038989680916714741
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7241833327677950147 fn;
  class 6038989680916714741 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 4

flowchart LR
  1162157097229518574["graph.py:ic_wire_pairs_jax"]
  8337294327896045678((node_a, node_b, port_a, port_b))
  1162157097229518574 --> 8337294327896045678
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1162157097229518574 fn;
  class 8337294327896045678 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 5

flowchart LR
  7933507736086239859["graph.py:ic_wire_ptr_pairs_jax"]
  6893177276743310108((ptr_a, ptr_b))
  7933507736086239859 --> 6893177276743310108
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7933507736086239859 fn;
  class 6893177276743310108 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - ptr_a, ptr_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 6

flowchart LR
  3008640435799883260["graph.py:ic_wire_star_jax"]
  3329801315888422568((center_node, center_port))
  570217344871105303((leaf_nodes, leaf_ports))
  3008640435799883260 --> 3329801315888422568
  3008640435799883260 --> 570217344871105303
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3008640435799883260 fn;
  class 3329801315888422568,570217344871105303 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 2
Observed-only bundles (not declared in Configs):
  - center_node, center_port
  - leaf_nodes, leaf_ports
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 7

flowchart LR
  3930253431548674472["protocols.py:__call__"]
  2718474083658790994((node_a, node_b, self, state, template_id))
  3930253431548674472 --> 2718474083658790994
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3930253431548674472 fn;
  class 2718474083658790994 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 8

flowchart LR
  7737524926807919843["arena_step.py:cycle_core"]
  7633001873019705753((op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn))
  7737524926807919843 --> 7633001873019705753
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7737524926807919843 fn;
  class 7633001873019705753 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn

Component 9

flowchart LR
  2184535561597254750["arena_step.py:cycle_core_value"]
  4280703464689243047((op_interact_value_fn, op_sort_and_swizzle_blocked_with_perm_value_fn, op_sort_and_swizzle_hierarchical_with_perm_value_fn, op_sort_and_swizzle_morton_with_perm_value_fn, op_sort_and_swizzle_servo_with_perm_value_fn, op_sort_and_swizzle_with_perm_value_fn))
  2184535561597254750 --> 4280703464689243047
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2184535561597254750 fn;
  class 4280703464689243047 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_interact_value_fn, op_sort_and_swizzle_blocked_with_perm_value_fn, op_sort_and_swizzle_hierarchical_with_perm_value_fn, op_sort_and_swizzle_morton_with_perm_value_fn, op_sort_and_swizzle_servo_with_perm_value_fn, op_sort_and_swizzle_with_perm_value_fn

Component 10

flowchart LR
  5465162342974092476["arena_step.py:cycle"]
  5120271197544090037((op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn))
  5465162342974092476 --> 5120271197544090037
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5465162342974092476 fn;
  class 5120271197544090037 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 55.

Component 1

flowchart LR
  7117136565723350851["graph.py:ic_wire_jax"]
  100387902939323410((node_a, node_b, port_a, port_b))
  7117136565723350851 --> 100387902939323410
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7117136565723350851 fn;
  class 100387902939323410 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  2816517818766728245["graph.py:ic_wire_ptrs_jax"]
  2748122839185980109((ptr_a, ptr_b))
  2816517818766728245 --> 2748122839185980109
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2816517818766728245 fn;
  class 2748122839185980109 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - ptr_a, ptr_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 3

flowchart LR
  5512750681138182375["graph.py:ic_wire_jax_safe"]
  1292054883120716949((node_a, node_b, port_a, port_b))
  5512750681138182375 --> 1292054883120716949
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5512750681138182375 fn;
  class 1292054883120716949 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 4

flowchart LR
  3565918181336956098["graph.py:ic_wire_pairs_jax"]
  8126759817775267336((node_a, node_b, port_a, port_b))
  3565918181336956098 --> 8126759817775267336
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3565918181336956098 fn;
  class 8126759817775267336 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, port_a, port_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 5

flowchart LR
  6264261313848923767["graph.py:ic_wire_ptr_pairs_jax"]
  2145311512814185014((ptr_a, ptr_b))
  6264261313848923767 --> 2145311512814185014
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6264261313848923767 fn;
  class 2145311512814185014 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - ptr_a, ptr_b
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 6

flowchart LR
  1208014084338667291["graph.py:ic_wire_star_jax"]
  7496389361573277383((center_node, center_port))
  7147955203562107169((leaf_nodes, leaf_ports))
  1208014084338667291 --> 7496389361573277383
  1208014084338667291 --> 7147955203562107169
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1208014084338667291 fn;
  class 7496389361573277383,7147955203562107169 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 2
Observed-only bundles (not declared in Configs):
  - center_node, center_port
  - leaf_nodes, leaf_ports
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 7

flowchart LR
  950888645743120820["protocols.py:__call__"]
  3904818814692000558((node_a, node_b, self, state, template_id))
  950888645743120820 --> 3904818814692000558
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 950888645743120820 fn;
  class 3904818814692000558 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 8

flowchart LR
  4971684584308607374["arena_step.py:_resolve_swizzle_with_perm_fns"]
  2186717840902520749((base, blocked_with_perm, hierarchical_with_perm, morton_with_perm, servo_with_perm, with_perm))
  4971684584308607374 --> 2186717840902520749
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4971684584308607374 fn;
  class 2186717840902520749 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - base, blocked_with_perm, hierarchical_with_perm, morton_with_perm, servo_with_perm, with_perm

Component 9

flowchart LR
  5086793652192769941["arena_step.py:cycle"]
  7863004951224764554((op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn))
  5086793652192769941 --> 7863004951224764554
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5086793652192769941 fn;
  class 7863004951224764554 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_sort_and_swizzle_blocked_with_perm_fn, op_sort_and_swizzle_hierarchical_with_perm_fn, op_sort_and_swizzle_morton_with_perm_fn, op_sort_and_swizzle_servo_with_perm_fn, op_sort_and_swizzle_with_perm_fn

Component 10

flowchart LR
  7884342439916855271["arena_step.py:cycle_value"]
  1362241274029401799((op_sort_and_swizzle_blocked_with_perm_value_fn, op_sort_and_swizzle_hierarchical_with_perm_value_fn, op_sort_and_swizzle_morton_with_perm_value_fn, op_sort_and_swizzle_servo_with_perm_value_fn, op_sort_and_swizzle_with_perm_value_fn))
  7884342439916855271 --> 1362241274029401799
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7884342439916855271 fn;
  class 1362241274029401799 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - op_sort_and_swizzle_blocked_with_perm_value_fn, op_sort_and_swizzle_hierarchical_with_perm_value_fn, op_sort_and_swizzle_morton_with_perm_value_fn, op_sort_and_swizzle_servo_with_perm_value_fn, op_sort_and_swizzle_with_perm_value_fn

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  9023948854114705349["protocols.py:__call__"]
  3344788417260840357((node_a, node_b, self, state, template_id))
  9023948854114705349 --> 3344788417260840357
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 9023948854114705349 fn;
  class 3344788417260840357 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  4450547283649804134["cnf2.py:_assert_roots_noop"]
  134117613405267577((_frontier, _ledger, _post_ids))
  4450547283649804134 --> 134117613405267577
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4450547283649804134 fn;
  class 134117613405267577 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  8069841821128942259["cnf2.py:_assert_roots"]
  2944028672384762034((next_frontier, post_ids))
  8069841821128942259 --> 2944028672384762034
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8069841821128942259 fn;
  class 2944028672384762034 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  4087650259922811476["repl.py:run_program_lines_bsp"]
  1436847134450920665((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  4087650259922811476 --> 1436847134450920665
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4087650259922811476 fn;
  class 1436847134450920665 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  4911468778112229173["repl.py:repl"]
  7817621440011111954((block_size, use_morton))
  4911468778112229173 --> 7817621440011111954
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4911468778112229173 fn;
  class 7817621440011111954 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  6516608929612342029["repl.py:_cons_raw"]
  539348004179323795((a1, a2))
  6516608929612342029 --> 539348004179323795
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6516608929612342029 fn;
  class 539348004179323795 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  1714291245946094875["repl.py:cons"]
  8355495619882165432((a1, a2))
  1714291245946094875 --> 8355495619882165432
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1714291245946094875 fn;
  class 8355495619882165432 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  1923524364736324700["repl.py:_alloc"]
  1726448385819201974((a1, a2))
  1923524364736324700 --> 1726448385819201974
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1923524364736324700 fn;
  class 1726448385819201974 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  1605740808504976051["repl.py:_intern"]
  8799739696531545389((a1, a2))
  1605740808504976051 --> 8799739696531545389
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1605740808504976051 fn;
  class 8799739696531545389 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  8678712522210438176["coord.py:_coord_cache_update"]
  2927237593620185954((a1, a2, op))
  8678712522210438176 --> 2927237593620185954
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8678712522210438176 fn;
  class 2927237593620185954 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  4680345879347183102["protocols.py:__call__"]
  9026829074190423121((node_a, node_b, self, state, template_id))
  4680345879347183102 --> 9026829074190423121
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4680345879347183102 fn;
  class 9026829074190423121 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  7668428874834206824["cnf2.py:_assert_roots_noop"]
  2658524393434488906((_frontier, _ledger, _post_ids))
  7668428874834206824 --> 2658524393434488906
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7668428874834206824 fn;
  class 2658524393434488906 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  3340044425921881327["cnf2.py:_assert_roots"]
  582575449691792344((next_frontier, post_ids))
  3340044425921881327 --> 582575449691792344
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3340044425921881327 fn;
  class 582575449691792344 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  8694598135918132075["repl.py:run_program_lines_bsp"]
  3509073512289136470((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  8694598135918132075 --> 3509073512289136470
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8694598135918132075 fn;
  class 3509073512289136470 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  6923741117681376974["repl.py:repl"]
  4814085952947239238((block_size, use_morton))
  6923741117681376974 --> 4814085952947239238
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6923741117681376974 fn;
  class 4814085952947239238 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  2102810535509345465["repl.py:_cons_raw"]
  1008635746670792781((a1, a2))
  2102810535509345465 --> 1008635746670792781
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2102810535509345465 fn;
  class 1008635746670792781 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  1208320779557197728["repl.py:cons"]
  6209706412176801990((a1, a2))
  1208320779557197728 --> 6209706412176801990
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1208320779557197728 fn;
  class 6209706412176801990 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  4812870509595433324["repl.py:_alloc"]
  3767786663033017627((a1, a2))
  4812870509595433324 --> 3767786663033017627
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4812870509595433324 fn;
  class 3767786663033017627 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  972940089124993579["repl.py:_intern"]
  6144584867536165472((a1, a2))
  972940089124993579 --> 6144584867536165472
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 972940089124993579 fn;
  class 6144584867536165472 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  783833962633769140["coord.py:_coord_cache_update"]
  7504952912829315804((a1, a2, op))
  783833962633769140 --> 7504952912829315804
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 783833962633769140 fn;
  class 7504952912829315804 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  4752409578631848338["protocols.py:__call__"]
  5866188676567584575((node_a, node_b, self, state, template_id))
  4752409578631848338 --> 5866188676567584575
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4752409578631848338 fn;
  class 5866188676567584575 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  7619006660494025937["cnf2.py:_assert_roots_noop"]
  6127991341966420750((_frontier, _ledger, _post_ids))
  7619006660494025937 --> 6127991341966420750
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7619006660494025937 fn;
  class 6127991341966420750 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  2069251022367679206["cnf2.py:_assert_roots"]
  2351080048901076404((next_frontier, post_ids))
  2069251022367679206 --> 2351080048901076404
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2069251022367679206 fn;
  class 2351080048901076404 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  2980480229975422074["repl.py:run_program_lines_bsp"]
  6878484830953810500((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  2980480229975422074 --> 6878484830953810500
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2980480229975422074 fn;
  class 6878484830953810500 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  3769895987620189292["repl.py:repl"]
  2786310389766906877((block_size, use_morton))
  3769895987620189292 --> 2786310389766906877
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3769895987620189292 fn;
  class 2786310389766906877 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  8170786416241348962["repl.py:_cons_raw"]
  297901115895210388((a1, a2))
  8170786416241348962 --> 297901115895210388
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8170786416241348962 fn;
  class 297901115895210388 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  6086443084376895451["repl.py:cons"]
  185152697596289916((a1, a2))
  6086443084376895451 --> 185152697596289916
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6086443084376895451 fn;
  class 185152697596289916 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  1947138656651573086["repl.py:_alloc"]
  1029305719709336507((a1, a2))
  1947138656651573086 --> 1029305719709336507
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1947138656651573086 fn;
  class 1029305719709336507 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  2182403435476985188["repl.py:_intern"]
  902127495553574707((a1, a2))
  2182403435476985188 --> 902127495553574707
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2182403435476985188 fn;
  class 902127495553574707 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  2615069430059144900["coord.py:_coord_cache_update"]
  2121743942156297485((a1, a2, op))
  2615069430059144900 --> 2121743942156297485
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2615069430059144900 fn;
  class 2121743942156297485 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  5988749610469462557["protocols.py:__call__"]
  402710241661980720((node_a, node_b, self, state, template_id))
  5988749610469462557 --> 402710241661980720
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5988749610469462557 fn;
  class 402710241661980720 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  1997423142650653249["cnf2.py:_assert_roots_noop"]
  3443515671991552083((_frontier, _ledger, _post_ids))
  1997423142650653249 --> 3443515671991552083
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1997423142650653249 fn;
  class 3443515671991552083 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  941552700596836412["cnf2.py:_assert_roots"]
  5269574714371193591((next_frontier, post_ids))
  941552700596836412 --> 5269574714371193591
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 941552700596836412 fn;
  class 5269574714371193591 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  364908724088105715["repl.py:run_program_lines_bsp"]
  5098401830808275789((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  364908724088105715 --> 5098401830808275789
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 364908724088105715 fn;
  class 5098401830808275789 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  1456934753084533267["repl.py:repl"]
  2671441997067498705((block_size, use_morton))
  1456934753084533267 --> 2671441997067498705
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1456934753084533267 fn;
  class 2671441997067498705 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  3879080629155229929["repl.py:_cons_raw"]
  5261656118825895769((a1, a2))
  3879080629155229929 --> 5261656118825895769
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3879080629155229929 fn;
  class 5261656118825895769 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  6495277185951815649["repl.py:cons"]
  2137993542408694268((a1, a2))
  6495277185951815649 --> 2137993542408694268
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6495277185951815649 fn;
  class 2137993542408694268 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  1312171444847755567["repl.py:_alloc"]
  6826289046335943469((a1, a2))
  1312171444847755567 --> 6826289046335943469
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1312171444847755567 fn;
  class 6826289046335943469 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  216628313074329827["repl.py:_intern"]
  1847226917813205784((a1, a2))
  216628313074329827 --> 1847226917813205784
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 216628313074329827 fn;
  class 1847226917813205784 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  1543552862262940625["coord.py:_coord_cache_update"]
  1981778390922066289((a1, a2, op))
  1543552862262940625 --> 1981778390922066289
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1543552862262940625 fn;
  class 1981778390922066289 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  3499090526581676542["protocols.py:__call__"]
  1470362912697632390((node_a, node_b, self, state, template_id))
  3499090526581676542 --> 1470362912697632390
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3499090526581676542 fn;
  class 1470362912697632390 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  2346582073610964284["cnf2.py:_assert_roots_noop"]
  3378774598530587727((_frontier, _ledger, _post_ids))
  2346582073610964284 --> 3378774598530587727
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2346582073610964284 fn;
  class 3378774598530587727 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  1482673121411588404["cnf2.py:_assert_roots"]
  7802262877840077495((next_frontier, post_ids))
  1482673121411588404 --> 7802262877840077495
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1482673121411588404 fn;
  class 7802262877840077495 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  419327038356169145["repl.py:run_program_lines_bsp"]
  1816696997723620888((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  419327038356169145 --> 1816696997723620888
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 419327038356169145 fn;
  class 1816696997723620888 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  3070509270465550647["repl.py:repl"]
  1783549001398802438((block_size, use_morton))
  3070509270465550647 --> 1783549001398802438
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3070509270465550647 fn;
  class 1783549001398802438 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  8792892893105630646["repl.py:_cons_raw"]
  6871003272030290548((a1, a2))
  8792892893105630646 --> 6871003272030290548
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8792892893105630646 fn;
  class 6871003272030290548 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  1735239543940575373["repl.py:cons"]
  6167647738532182899((a1, a2))
  1735239543940575373 --> 6167647738532182899
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1735239543940575373 fn;
  class 6167647738532182899 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  1673059410960418968["repl.py:_alloc"]
  4639678877171305713((a1, a2))
  1673059410960418968 --> 4639678877171305713
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1673059410960418968 fn;
  class 4639678877171305713 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  8319904438057551409["repl.py:_intern"]
  7737682717817766697((a1, a2))
  8319904438057551409 --> 7737682717817766697
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8319904438057551409 fn;
  class 7737682717817766697 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  5986214194641079491["coord.py:_coord_cache_update"]
  3675068166820964506((a1, a2, op))
  5986214194641079491 --> 3675068166820964506
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5986214194641079491 fn;
  class 3675068166820964506 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  6336776835496291205["protocols.py:__call__"]
  5033492003565940566((node_a, node_b, self, state, template_id))
  6336776835496291205 --> 5033492003565940566
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6336776835496291205 fn;
  class 5033492003565940566 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  8938701892012328153["cnf2.py:_assert_roots_noop"]
  5410764023512129975((_frontier, _ledger, _post_ids))
  8938701892012328153 --> 5410764023512129975
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8938701892012328153 fn;
  class 5410764023512129975 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  2137435228141112318["cnf2.py:_assert_roots"]
  8310279105063993532((next_frontier, post_ids))
  2137435228141112318 --> 8310279105063993532
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2137435228141112318 fn;
  class 8310279105063993532 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  1348349664487522846["repl.py:run_program_lines_bsp"]
  1855532298448602638((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  1348349664487522846 --> 1855532298448602638
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1348349664487522846 fn;
  class 1855532298448602638 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  1407666745631767350["repl.py:repl"]
  5210879271024975405((block_size, use_morton))
  1407666745631767350 --> 5210879271024975405
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1407666745631767350 fn;
  class 5210879271024975405 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  5025997791476170865["repl.py:_cons_raw"]
  1178699605224099367((a1, a2))
  5025997791476170865 --> 1178699605224099367
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5025997791476170865 fn;
  class 1178699605224099367 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  107071473346671653["repl.py:cons"]
  8993398669729193684((a1, a2))
  107071473346671653 --> 8993398669729193684
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 107071473346671653 fn;
  class 8993398669729193684 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  1260119248948442178["repl.py:_alloc"]
  3792208938211590813((a1, a2))
  1260119248948442178 --> 3792208938211590813
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1260119248948442178 fn;
  class 3792208938211590813 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  1119870276770019731["repl.py:_intern"]
  4961288898773495119((a1, a2))
  1119870276770019731 --> 4961288898773495119
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1119870276770019731 fn;
  class 4961288898773495119 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  7427897536471976309["coord.py:_coord_cache_update"]
  9026505090519478442((a1, a2, op))
  7427897536471976309 --> 9026505090519478442
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7427897536471976309 fn;
  class 9026505090519478442 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  7311345601227760393["protocols.py:__call__"]
  7300810480182816342((node_a, node_b, self, state, template_id))
  7311345601227760393 --> 7300810480182816342
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7311345601227760393 fn;
  class 7300810480182816342 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  8643613663088801565["cnf2.py:_assert_roots_noop"]
  8452799734545539865((_frontier, _ledger, _post_ids))
  8643613663088801565 --> 8452799734545539865
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8643613663088801565 fn;
  class 8452799734545539865 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  2988818559645190566["cnf2.py:_assert_roots"]
  5450646902788205853((next_frontier, post_ids))
  2988818559645190566 --> 5450646902788205853
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2988818559645190566 fn;
  class 5450646902788205853 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  8459250812739204454["repl.py:run_program_lines_bsp"]
  2226515003216015363((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  8459250812739204454 --> 2226515003216015363
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8459250812739204454 fn;
  class 2226515003216015363 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  8193828649614440162["repl.py:repl"]
  297508671514828160((block_size, use_morton))
  8193828649614440162 --> 297508671514828160
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8193828649614440162 fn;
  class 297508671514828160 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  8375696292307745258["repl.py:_cons_raw"]
  8613166293369105318((a1, a2))
  8375696292307745258 --> 8613166293369105318
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8375696292307745258 fn;
  class 8613166293369105318 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  5333200359214650524["repl.py:cons"]
  6121704962513709605((a1, a2))
  5333200359214650524 --> 6121704962513709605
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5333200359214650524 fn;
  class 6121704962513709605 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  2743133555344859697["repl.py:_alloc"]
  8215681565491991578((a1, a2))
  2743133555344859697 --> 8215681565491991578
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2743133555344859697 fn;
  class 8215681565491991578 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  6363901978264730592["repl.py:_intern"]
  4334590616813663948((a1, a2))
  6363901978264730592 --> 4334590616813663948
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6363901978264730592 fn;
  class 4334590616813663948 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  4929545267715444676["coord.py:_coord_cache_update"]
  3292434181710487364((a1, a2, op))
  4929545267715444676 --> 3292434181710487364
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4929545267715444676 fn;
  class 3292434181710487364 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  242796878189829383["protocols.py:__call__"]
  4277190278887397772((node_a, node_b, self, state, template_id))
  242796878189829383 --> 4277190278887397772
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 242796878189829383 fn;
  class 4277190278887397772 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  6457850884202436410["cnf2.py:_assert_roots_noop"]
  309283054949251699((_frontier, _ledger, _post_ids))
  6457850884202436410 --> 309283054949251699
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6457850884202436410 fn;
  class 309283054949251699 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  7574865347700051757["cnf2.py:_assert_roots"]
  5845861663297101777((next_frontier, post_ids))
  7574865347700051757 --> 5845861663297101777
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7574865347700051757 fn;
  class 5845861663297101777 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  800627614565493330["repl.py:run_program_lines_bsp"]
  261439871571404709((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  800627614565493330 --> 261439871571404709
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 800627614565493330 fn;
  class 261439871571404709 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  2003270249798878473["repl.py:repl"]
  4615583771902627399((block_size, use_morton))
  2003270249798878473 --> 4615583771902627399
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2003270249798878473 fn;
  class 4615583771902627399 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  9068992931026402896["repl.py:_cons_raw"]
  7448975184022800303((a1, a2))
  9068992931026402896 --> 7448975184022800303
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 9068992931026402896 fn;
  class 7448975184022800303 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  5855742716658404995["repl.py:cons"]
  1283051443143303561((a1, a2))
  5855742716658404995 --> 1283051443143303561
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5855742716658404995 fn;
  class 1283051443143303561 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  6414621045770674613["repl.py:_alloc"]
  684770093566640988((a1, a2))
  6414621045770674613 --> 684770093566640988
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6414621045770674613 fn;
  class 684770093566640988 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  3218022191486486942["repl.py:_intern"]
  3488951816706424337((a1, a2))
  3218022191486486942 --> 3488951816706424337
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3218022191486486942 fn;
  class 3488951816706424337 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  8009872996584226475["coord.py:_coord_cache_update"]
  2837248119533059463((a1, a2, op))
  8009872996584226475 --> 2837248119533059463
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8009872996584226475 fn;
  class 2837248119533059463 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Showing top 10 components of 46.

Component 1

flowchart LR
  3534778801691754858["protocols.py:__call__"]
  7676454471327449018((node_a, node_b, self, state, template_id))
  3534778801691754858 --> 7676454471327449018
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3534778801691754858 fn;
  class 7676454471327449018 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Observed-only bundles (not declared in Configs):
  - node_a, node_b, self, state, template_id
Declared Config bundles not observed in this component:
  - alloc_plan_fn, apply_annihilate_fn, apply_commute_fn, apply_erase_fn, apply_template_fn, apply_template_planned_fn, rule_for_types_fn
  - alloc_plan_fn, apply_template_planned_fn, compact_pairs_result_fn, decode_port_fn, halted_fn, scan_corrupt_fn
  - safe_index_fn

Component 2

flowchart LR
  6984733974919844431["cnf2.py:_assert_roots_noop"]
  3960643290020058343((_frontier, _ledger, _post_ids))
  6984733974919844431 --> 3960643290020058343
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6984733974919844431 fn;
  class 3960643290020058343 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - _frontier, _ledger, _post_ids

Component 3

flowchart LR
  898867156628577305["cnf2.py:_assert_roots"]
  2009096161826218159((next_frontier, post_ids))
  898867156628577305 --> 2009096161826218159
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 898867156628577305 fn;
  class 2009096161826218159 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - next_frontier, post_ids

Component 4

flowchart LR
  6465565547890364593["repl.py:run_program_lines_bsp"]
  6676774141484305536((block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton))
  6465565547890364593 --> 6676774141484305536
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6465565547890364593 fn;
  class 6676774141484305536 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, do_global, do_sort, l1_block_size, l2_block_size, use_morton

Component 5

flowchart LR
  9193006728928656690["repl.py:repl"]
  2844316811755842250((block_size, use_morton))
  9193006728928656690 --> 2844316811755842250
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 9193006728928656690 fn;
  class 2844316811755842250 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - block_size, use_morton

Component 6

flowchart LR
  6408830810298646288["repl.py:_cons_raw"]
  6061993286385757688((a1, a2))
  6408830810298646288 --> 6061993286385757688
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6408830810298646288 fn;
  class 6061993286385757688 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 7

flowchart LR
  1965782657701722373["repl.py:cons"]
  7281947935382805445((a1, a2))
  1965782657701722373 --> 7281947935382805445
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1965782657701722373 fn;
  class 7281947935382805445 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 8

flowchart LR
  5177256400026166328["repl.py:_alloc"]
  2270858367509050716((a1, a2))
  5177256400026166328 --> 2270858367509050716
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5177256400026166328 fn;
  class 2270858367509050716 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 9

flowchart LR
  5844565872542907532["repl.py:_intern"]
  1076756611044652177((a1, a2))
  5844565872542907532 --> 1076756611044652177
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5844565872542907532 fn;
  class 1076756611044652177 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2

Component 10

flowchart LR
  1763777291481752867["coord.py:_coord_cache_update"]
  5126488001588196173((a1, a2, op))
  1763777291481752867 --> 5126488001588196173
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1763777291481752867 fn;
  class 5126488001588196173 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op

@github-actions

github-actions Bot commented Feb 1, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  7845317076883373509["coord.py:_coord_cache_update"]
  5830170840794005323((a1, a2, op))
  7845317076883373509 --> 5830170840794005323
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7845317076883373509 fn;
  class 5830170840794005323 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  1609059707425670169["di.py:_cached"]
  8938229929354469044((args, kwargs))
  1609059707425670169 --> 8938229929354469044
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1609059707425670169 fn;
  class 8938229929354469044 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  7228437435684562486["jax_safe.py:_raise"]
  3293878485954310449((max_val, min_val, size_val))
  7228437435684562486 --> 3293878485954310449
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7228437435684562486 fn;
  class 3293878485954310449 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  5651910038966808973["protocols.py:__call__"]
  3682755162275516877((idx, label, policy_value, size))
  5651910038966808973 --> 3682755162275516877
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5651910038966808973 fn;
  class 3682755162275516877 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  7622051001814078975["commit.py:_raise"]
  5318391522086930263((act_val, exp_val))
  7622051001814078975 --> 5318391522086930263
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7622051001814078975 fn;
  class 5318391522086930263 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["intern.py:_intern_nodes_impl_core.ledger"]
  type_2["Ledger"]
  type_1 --> type_2
  type_3["intern.py:_lookup_node_id.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["intern.py:intern_nodes.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["jit_entrypoints.py:_impl.ptrs"]
  type_8["WirePtrPair"]
  type_7 --> type_8
  type_9["cnf2.py:_cycle_candidates_core_impl.commit_stratum_fn"]
  type_10["Callable[..."]
  type_9 -.-> type_10
  type_11["T]"]
  type_9 -.-> type_11
  type_12["CommitStratumFn"]
  type_9 -.-> type_12
  type_13["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_14["Callable[..."]
  type_13 -.-> type_14
  type_15["object] | None"]
  type_13 -.-> type_15
  type_16["TCallable"]
  type_13 -.-> type_16
  type_17["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_18["Callable[..."]
  type_17 -.-> type_18
  type_19["object] | None"]
  type_17 -.-> type_19
  type_20["TCallable"]
  type_17 -.-> type_20
  type_21["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_22["Callable[..."]
  type_21 -.-> type_22
  type_23["object] | None"]
  type_21 -.-> type_23
  type_24["TCallable"]
  type_21 -.-> type_24
  type_25["jax_safe.py:safe_gather_1d_ok.policy"]
  type_26["SafetyPolicy"]
  type_25 -.-> type_26
  type_27["SafetyPolicy | None"]
  type_25 -.-> type_27
  type_28["repl.py:repl.validate_mode"]
  type_29["ValidateMode"]
  type_28 -.-> type_29
  type_30["ValidateMode | str | None"]
  type_28 -.-> type_30
Loading

Type tightening candidates:

intern.py:_intern_nodes_impl_core.ledger can tighten to Ledger
intern.py:_lookup_node_id.ledger can tighten to Ledger
intern.py:intern_nodes.ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl.commit_stratum_fn downstream types conflict: ['Callable[..., T]', 'CommitStratumFn']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['Callable[..., object] | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['Callable[..., object] | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['Callable[..., object] | None', 'TCallable']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_intern_candidates_core.compact_candidates_fn only observed constant resolved.compact_candidates_fn across 2 non-test call(s)
cnf2.py:_intern_candidates_core.intern_fn only observed constant resolved.intern_fn across 2 non-test call(s)
cnf2.py:_intern_candidates_core.node_batch_fn only observed constant resolved.node_batch_fn across 2 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
commit.py:apply_q.return_ok only observed constant True across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
config.py:resolve_validate_mode.context only observed constant 'cycle_candidates' across 2 non-test call(s)
coord.py:coord_xor_batch.intern_cfg only observed constant None across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 1 non-test call(s)
gating.py:_read_pytest_milestone.allow_unprotected only observed constant True across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:_expect_token.expected only observed constant ')' across 3 non-test call(s)
guards.py:guard_null_row_cfg.label only observed constant 'swizzle.row0' across 2 non-test call(s)
guards.py:guard_slot0_perm_cfg.label only observed constant 'swizzle.perm' across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.label only observed constant 'swizzle.args' across 2 non-test call(s)
index.py:derive_ledger_state.op_buckets_full_range only observed constant cfg.op_buckets_full_range across 2 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jax_safe.py:safe_gather_1d_value.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
modes.py:coerce_bsp_mode.context only observed constant 'bsp_mode' across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  1059483022150370257["coord.py:_coord_cache_update"]
  3434457130547890210((a1, a2, op))
  1059483022150370257 --> 3434457130547890210
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1059483022150370257 fn;
  class 3434457130547890210 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  9150890321507425345["di.py:_cached"]
  4155978357699515598((args, kwargs))
  9150890321507425345 --> 4155978357699515598
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 9150890321507425345 fn;
  class 4155978357699515598 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  2655442039133282680["jax_safe.py:_raise"]
  6684452141960829101((max_val, min_val, size_val))
  2655442039133282680 --> 6684452141960829101
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2655442039133282680 fn;
  class 6684452141960829101 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  4907752957947949066["protocols.py:__call__"]
  7882481018849335763((idx, label, policy_value, size))
  4907752957947949066 --> 7882481018849335763
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4907752957947949066 fn;
  class 7882481018849335763 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  7465446487876988012["commit.py:_wrapped"]
  1021808111969254545((args, kwargs))
  7465446487876988012 --> 1021808111969254545
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7465446487876988012 fn;
  class 1021808111969254545 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  3998066929934071222["commit.py:_raise"]
  5772970248856645063((act_val, exp_val))
  3998066929934071222 --> 5772970248856645063
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3998066929934071222 fn;
  class 5772970248856645063 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_20["Ledger"]
  type_19 --> type_20
  type_21["jit_entrypoints.py:_impl.ptrs"]
  type_22["WirePtrPair"]
  type_21 --> type_22
  type_23["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_24["Callable[..., tuple]"]
  type_23 --> type_24
  type_25["project.py:project_arena_to_ledger.ledger"]
  type_26["Ledger | LedgerState"]
  type_25 --> type_26
  type_27["project.py:project_manifest_to_ledger.ledger"]
  type_28["Ledger | LedgerState"]
  type_27 --> type_28
  type_29["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_30["InternConfig"]
  type_29 -.-> type_30
  type_31["InternConfig | None"]
  type_29 -.-> type_31
  type_32["commit.py:_bind_ledger_index.fn"]
  type_33["Callable[..."]
  type_32 -.-> type_33
  type_34["T]"]
  type_32 -.-> type_34
  type_35["Callable[..."]
  type_32 -.-> type_35
  type_36["object]"]
  type_32 -.-> type_36
  type_37["facade.py:cycle_candidates.ledger"]
  type_38["Ledger | LedgerState"]
  type_37 -.-> type_38
  type_39["LedgerState"]
  type_37 -.-> type_39
  type_40["facade.py:intern_nodes.ledger"]
  type_41["Ledger"]
  type_40 -.-> type_41
  type_42["LedgerState"]
  type_40 -.-> type_42
  type_43["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_44["SafeGatherFn | None"]
  type_43 -.-> type_44
  type_45["TCallable"]
  type_43 -.-> type_45
  type_46["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_47["SafeGatherOkFn | None"]
  type_46 -.-> type_47
  type_48["TCallable"]
  type_46 -.-> type_48
  type_49["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_50["SafeIndexFn | None"]
  type_49 -.-> type_50
  type_51["TCallable"]
  type_49 -.-> type_51
  type_52["jax_safe.py:safe_gather_1d_ok.policy"]
  type_53["SafetyPolicy"]
  type_52 -.-> type_53
  type_54["SafetyPolicy | None"]
  type_52 -.-> type_54
  type_55["repl.py:repl.validate_mode"]
  type_56["ValidateMode"]
  type_55 -.-> type_56
  type_57["ValidateMode | str | None"]
  type_55 -.-> type_57
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  6861282401231381871["coord.py:_coord_cache_update"]
  2932558395281767323((a1, a2, op))
  6861282401231381871 --> 2932558395281767323
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6861282401231381871 fn;
  class 2932558395281767323 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  4036495294200097564["di.py:_cached"]
  2669490636598157647((args, kwargs))
  4036495294200097564 --> 2669490636598157647
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4036495294200097564 fn;
  class 2669490636598157647 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  7931542379865315076["jax_safe.py:_raise"]
  4467509963626099783((max_val, min_val, size_val))
  7931542379865315076 --> 4467509963626099783
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7931542379865315076 fn;
  class 4467509963626099783 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  5843151278943390227["protocols.py:__call__"]
  7499605855922660364((idx, label, policy_value, size))
  5843151278943390227 --> 7499605855922660364
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5843151278943390227 fn;
  class 7499605855922660364 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  320190404280693302["commit.py:_wrapped"]
  6527673418375793596((args, kwargs))
  320190404280693302 --> 6527673418375793596
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 320190404280693302 fn;
  class 6527673418375793596 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  5331631927079689478["commit.py:_raise"]
  7746601009423925352((act_val, exp_val))
  5331631927079689478 --> 7746601009423925352
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5331631927079689478 fn;
  class 7746601009423925352 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_20["Ledger"]
  type_19 --> type_20
  type_21["jit_entrypoints.py:_impl.ptrs"]
  type_22["WirePtrPair"]
  type_21 --> type_22
  type_23["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_24["Callable[..., tuple]"]
  type_23 --> type_24
  type_25["project.py:project_arena_to_ledger.ledger"]
  type_26["Ledger | LedgerState"]
  type_25 --> type_26
  type_27["project.py:project_manifest_to_ledger.ledger"]
  type_28["Ledger | LedgerState"]
  type_27 --> type_28
  type_29["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_30["InternConfig"]
  type_29 -.-> type_30
  type_31["InternConfig | None"]
  type_29 -.-> type_31
  type_32["commit.py:_bind_ledger_index.fn"]
  type_33["Callable[..."]
  type_32 -.-> type_33
  type_34["T]"]
  type_32 -.-> type_34
  type_35["Callable[..."]
  type_32 -.-> type_35
  type_36["object]"]
  type_32 -.-> type_36
  type_37["facade.py:cycle_candidates.ledger"]
  type_38["Ledger | LedgerState"]
  type_37 -.-> type_38
  type_39["LedgerState"]
  type_37 -.-> type_39
  type_40["facade.py:intern_nodes.ledger"]
  type_41["Ledger"]
  type_40 -.-> type_41
  type_42["LedgerState"]
  type_40 -.-> type_42
  type_43["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_44["SafeGatherFn | None"]
  type_43 -.-> type_44
  type_45["TCallable"]
  type_43 -.-> type_45
  type_46["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_47["SafeGatherOkFn | None"]
  type_46 -.-> type_47
  type_48["TCallable"]
  type_46 -.-> type_48
  type_49["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_50["SafeIndexFn | None"]
  type_49 -.-> type_50
  type_51["TCallable"]
  type_49 -.-> type_51
  type_52["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_53["SafetyPolicy"]
  type_52 -.-> type_53
  type_54["SafetyPolicy | None"]
  type_52 -.-> type_54
  type_55["jax_safe.py:safe_gather_1d_ok.policy"]
  type_56["SafetyPolicy"]
  type_55 -.-> type_56
  type_57["SafetyPolicy | None"]
  type_55 -.-> type_57
  type_58["repl.py:repl.validate_mode"]
  type_59["ValidateMode"]
  type_58 -.-> type_59
  type_60["ValidateMode | str | None"]
  type_58 -.-> type_60
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  4676284751091370846["coord.py:_coord_cache_update"]
  7845090091212549060((a1, a2, op))
  4676284751091370846 --> 7845090091212549060
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4676284751091370846 fn;
  class 7845090091212549060 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  2643383216972261848["di.py:_cached"]
  6090915952546527255((args, kwargs))
  2643383216972261848 --> 6090915952546527255
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2643383216972261848 fn;
  class 6090915952546527255 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  6801654286850590448["jax_safe.py:_raise"]
  7814340683383827017((max_val, min_val, size_val))
  6801654286850590448 --> 7814340683383827017
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6801654286850590448 fn;
  class 7814340683383827017 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  980032851984094899["protocols.py:__call__"]
  9158800667537487397((idx, label, policy_value, size))
  980032851984094899 --> 9158800667537487397
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 980032851984094899 fn;
  class 9158800667537487397 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  3792525059811470182["commit.py:_wrapped"]
  4840577971669925210((args, kwargs))
  3792525059811470182 --> 4840577971669925210
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3792525059811470182 fn;
  class 4840577971669925210 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  767813544374935319["commit.py:_raise"]
  5915646085505659996((act_val, exp_val))
  767813544374935319 --> 5915646085505659996
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 767813544374935319 fn;
  class 5915646085505659996 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_20["Ledger"]
  type_19 --> type_20
  type_21["jit_entrypoints.py:_entry.state_or_ledger"]
  type_22["Ledger"]
  type_21 --> type_22
  type_23["jit_entrypoints.py:_impl.ptrs"]
  type_24["WirePtrPair"]
  type_23 --> type_24
  type_25["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_26["Callable[..., tuple]"]
  type_25 --> type_26
  type_27["project.py:project_arena_to_ledger.ledger"]
  type_28["Ledger | LedgerState"]
  type_27 --> type_28
  type_29["project.py:project_manifest_to_ledger.ledger"]
  type_30["Ledger | LedgerState"]
  type_29 --> type_30
  type_31["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_32["InternConfig"]
  type_31 -.-> type_32
  type_33["InternConfig | None"]
  type_31 -.-> type_33
  type_34["commit.py:_bind_ledger_index.fn"]
  type_35["Callable[..."]
  type_34 -.-> type_35
  type_36["T]"]
  type_34 -.-> type_36
  type_37["Callable[..."]
  type_34 -.-> type_37
  type_38["object]"]
  type_34 -.-> type_38
  type_39["facade.py:cycle_candidates.ledger"]
  type_40["Ledger | LedgerState"]
  type_39 -.-> type_40
  type_41["LedgerState"]
  type_39 -.-> type_41
  type_42["facade.py:intern_nodes.ledger"]
  type_43["Ledger"]
  type_42 -.-> type_43
  type_44["LedgerState"]
  type_42 -.-> type_44
  type_45["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_46["SafeGatherFn | None"]
  type_45 -.-> type_46
  type_47["TCallable"]
  type_45 -.-> type_47
  type_48["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_49["SafeGatherOkFn | None"]
  type_48 -.-> type_49
  type_50["TCallable"]
  type_48 -.-> type_50
  type_51["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_52["SafeIndexFn | None"]
  type_51 -.-> type_52
  type_53["TCallable"]
  type_51 -.-> type_53
  type_54["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_55["SafetyPolicy"]
  type_54 -.-> type_55
  type_56["SafetyPolicy | None"]
  type_54 -.-> type_56
  type_57["jax_safe.py:safe_gather_1d_ok.policy"]
  type_58["SafetyPolicy"]
  type_57 -.-> type_58
  type_59["SafetyPolicy | None"]
  type_57 -.-> type_59
  type_60["repl.py:repl.validate_mode"]
  type_61["ValidateMode"]
  type_60 -.-> type_61
  type_62["ValidateMode | str | None"]
  type_60 -.-> type_62
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_entry.state_or_ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  2662172636438935939["coord.py:_coord_cache_update"]
  6788069456705450907((a1, a2, op))
  2662172636438935939 --> 6788069456705450907
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2662172636438935939 fn;
  class 6788069456705450907 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  8758212921478909106["di.py:_cached"]
  231225460441266859((args, kwargs))
  8758212921478909106 --> 231225460441266859
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8758212921478909106 fn;
  class 231225460441266859 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  1846734379738596871["jax_safe.py:_raise"]
  5596153059654580537((max_val, min_val, size_val))
  1846734379738596871 --> 5596153059654580537
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1846734379738596871 fn;
  class 5596153059654580537 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  6393526177944614582["protocols.py:__call__"]
  618155461800628437((idx, label, policy_value, size))
  6393526177944614582 --> 618155461800628437
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6393526177944614582 fn;
  class 618155461800628437 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  35728528869901486["commit.py:_wrapped"]
  2011845459521189907((args, kwargs))
  35728528869901486 --> 2011845459521189907
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 35728528869901486 fn;
  class 2011845459521189907 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  4613438716623643769["commit.py:_raise"]
  3114457815154768096((act_val, exp_val))
  4613438716623643769 --> 3114457815154768096
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4613438716623643769 fn;
  class 3114457815154768096 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_20["Ledger"]
  type_19 --> type_20
  type_21["jit_entrypoints.py:_entry.state_or_ledger"]
  type_22["Ledger"]
  type_21 --> type_22
  type_23["jit_entrypoints.py:_impl.ptrs"]
  type_24["WirePtrPair"]
  type_23 --> type_24
  type_25["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_26["Callable[..., tuple]"]
  type_25 --> type_26
  type_27["project.py:project_arena_to_ledger.ledger"]
  type_28["Ledger | LedgerState"]
  type_27 --> type_28
  type_29["project.py:project_manifest_to_ledger.ledger"]
  type_30["Ledger | LedgerState"]
  type_29 --> type_30
  type_31["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_32["InternConfig"]
  type_31 -.-> type_32
  type_33["InternConfig | None"]
  type_31 -.-> type_33
  type_34["commit.py:_bind_ledger_index.fn"]
  type_35["Callable[..."]
  type_34 -.-> type_35
  type_36["T]"]
  type_34 -.-> type_36
  type_37["Callable[..."]
  type_34 -.-> type_37
  type_38["object]"]
  type_34 -.-> type_38
  type_39["facade.py:cycle_candidates.ledger"]
  type_40["Ledger | LedgerState"]
  type_39 -.-> type_40
  type_41["LedgerState"]
  type_39 -.-> type_41
  type_42["facade.py:intern_nodes.ledger"]
  type_43["Ledger"]
  type_42 -.-> type_43
  type_44["LedgerState"]
  type_42 -.-> type_44
  type_45["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_46["SafeGatherFn | None"]
  type_45 -.-> type_46
  type_47["TCallable"]
  type_45 -.-> type_47
  type_48["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_49["SafeGatherOkFn | None"]
  type_48 -.-> type_49
  type_50["TCallable"]
  type_48 -.-> type_50
  type_51["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_52["SafeIndexFn | None"]
  type_51 -.-> type_52
  type_53["TCallable"]
  type_51 -.-> type_53
  type_54["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_55["SafetyPolicy"]
  type_54 -.-> type_55
  type_56["SafetyPolicy | None"]
  type_54 -.-> type_56
  type_57["jax_safe.py:safe_gather_1d_ok.policy"]
  type_58["SafetyPolicy"]
  type_57 -.-> type_58
  type_59["SafetyPolicy | None"]
  type_57 -.-> type_59
  type_60["repl.py:repl.validate_mode"]
  type_61["ValidateMode"]
  type_60 -.-> type_61
  type_62["ValidateMode | str | None"]
  type_60 -.-> type_62
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_entry.state_or_ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  179826258914098607["coord.py:_coord_cache_update"]
  4999287035103428656((a1, a2, op))
  179826258914098607 --> 4999287035103428656
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 179826258914098607 fn;
  class 4999287035103428656 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  5509056458092761754["di.py:_cached"]
  3274085399222713170((args, kwargs))
  5509056458092761754 --> 3274085399222713170
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5509056458092761754 fn;
  class 3274085399222713170 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  8757082029177051092["jax_safe.py:_raise"]
  8667777778890888097((max_val, min_val, size_val))
  8757082029177051092 --> 8667777778890888097
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 8757082029177051092 fn;
  class 8667777778890888097 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  1045809669356082108["protocols.py:__call__"]
  3072170580950243989((idx, label, policy_value, size))
  1045809669356082108 --> 3072170580950243989
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1045809669356082108 fn;
  class 3072170580950243989 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  5603566361046855099["commit.py:_wrapped"]
  1638683325173201802((args, kwargs))
  5603566361046855099 --> 1638683325173201802
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5603566361046855099 fn;
  class 1638683325173201802 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  1389325234551468387["commit.py:_raise"]
  165865708631740140((act_val, exp_val))
  1389325234551468387 --> 165865708631740140
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1389325234551468387 fn;
  class 165865708631740140 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_20["Ledger"]
  type_19 --> type_20
  type_21["jit_entrypoints.py:_entry.state_or_ledger"]
  type_22["Ledger"]
  type_21 --> type_22
  type_23["jit_entrypoints.py:_impl.ptrs"]
  type_24["WirePtrPair"]
  type_23 --> type_24
  type_25["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_26["Callable[..., tuple]"]
  type_25 --> type_26
  type_27["project.py:project_arena_to_ledger.ledger"]
  type_28["Ledger | LedgerState"]
  type_27 --> type_28
  type_29["project.py:project_manifest_to_ledger.ledger"]
  type_30["Ledger | LedgerState"]
  type_29 --> type_30
  type_31["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_32["InternConfig"]
  type_31 -.-> type_32
  type_33["InternConfig | None"]
  type_31 -.-> type_33
  type_34["commit.py:_bind_ledger_index.fn"]
  type_35["Callable[..."]
  type_34 -.-> type_35
  type_36["T]"]
  type_34 -.-> type_36
  type_37["Callable[..."]
  type_34 -.-> type_37
  type_38["object]"]
  type_34 -.-> type_38
  type_39["facade.py:cycle_candidates.ledger"]
  type_40["Ledger | LedgerState"]
  type_39 -.-> type_40
  type_41["LedgerState"]
  type_39 -.-> type_41
  type_42["facade.py:intern_nodes.ledger"]
  type_43["Ledger"]
  type_42 -.-> type_43
  type_44["LedgerState"]
  type_42 -.-> type_44
  type_45["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_46["SafeGatherFn | None"]
  type_45 -.-> type_46
  type_47["TCallable"]
  type_45 -.-> type_47
  type_48["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_49["SafeGatherOkFn | None"]
  type_48 -.-> type_49
  type_50["TCallable"]
  type_48 -.-> type_50
  type_51["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_52["SafeIndexFn | None"]
  type_51 -.-> type_52
  type_53["TCallable"]
  type_51 -.-> type_53
  type_54["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_55["SafetyPolicy"]
  type_54 -.-> type_55
  type_56["SafetyPolicy | None"]
  type_54 -.-> type_56
  type_57["jax_safe.py:safe_gather_1d_ok.policy"]
  type_58["SafetyPolicy"]
  type_57 -.-> type_58
  type_59["SafetyPolicy | None"]
  type_57 -.-> type_59
  type_60["repl.py:repl.validate_mode"]
  type_61["ValidateMode"]
  type_60 -.-> type_61
  type_62["ValidateMode | str | None"]
  type_60 -.-> type_62
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_entry.state_or_ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  7502510622968182009["coord.py:_coord_cache_update"]
  4558537919506526209((a1, a2, op))
  7502510622968182009 --> 4558537919506526209
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7502510622968182009 fn;
  class 4558537919506526209 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  1781567249317428724["di.py:_cached"]
  6175843536741810351((args, kwargs))
  1781567249317428724 --> 6175843536741810351
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1781567249317428724 fn;
  class 6175843536741810351 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  612051202701790718["jax_safe.py:_raise"]
  2829580179767497136((max_val, min_val, size_val))
  612051202701790718 --> 2829580179767497136
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 612051202701790718 fn;
  class 2829580179767497136 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  4174845199107420884["protocols.py:__call__"]
  7103850060089363303((idx, label, policy_value, size))
  4174845199107420884 --> 7103850060089363303
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4174845199107420884 fn;
  class 7103850060089363303 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  3894888630189378093["commit.py:_wrapped"]
  6448614990056745292((args, kwargs))
  3894888630189378093 --> 6448614990056745292
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 3894888630189378093 fn;
  class 6448614990056745292 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  2429991395065995507["commit.py:_raise"]
  7982888992339525494((act_val, exp_val))
  2429991395065995507 --> 7982888992339525494
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2429991395065995507 fn;
  class 7982888992339525494 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_20["Ledger"]
  type_19 --> type_20
  type_21["jit_entrypoints.py:_entry.state_or_ledger"]
  type_22["Ledger"]
  type_21 --> type_22
  type_23["jit_entrypoints.py:_impl.ptrs"]
  type_24["WirePtrPair"]
  type_23 --> type_24
  type_25["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_26["Callable[..., tuple]"]
  type_25 --> type_26
  type_27["project.py:project_arena_to_ledger.ledger"]
  type_28["Ledger | LedgerState"]
  type_27 --> type_28
  type_29["project.py:project_manifest_to_ledger.ledger"]
  type_30["Ledger | LedgerState"]
  type_29 --> type_30
  type_31["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_32["InternConfig"]
  type_31 -.-> type_32
  type_33["InternConfig | None"]
  type_31 -.-> type_33
  type_34["commit.py:_bind_ledger_index.fn"]
  type_35["Callable[..."]
  type_34 -.-> type_35
  type_36["T]"]
  type_34 -.-> type_36
  type_37["Callable[..."]
  type_34 -.-> type_37
  type_38["object]"]
  type_34 -.-> type_38
  type_39["facade.py:cycle_candidates.ledger"]
  type_40["Ledger | LedgerState"]
  type_39 -.-> type_40
  type_41["LedgerState"]
  type_39 -.-> type_41
  type_42["facade.py:intern_nodes.ledger"]
  type_43["Ledger"]
  type_42 -.-> type_43
  type_44["LedgerState"]
  type_42 -.-> type_44
  type_45["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_46["SafeGatherFn | None"]
  type_45 -.-> type_46
  type_47["TCallable"]
  type_45 -.-> type_47
  type_48["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_49["SafeGatherOkFn | None"]
  type_48 -.-> type_49
  type_50["TCallable"]
  type_48 -.-> type_50
  type_51["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_52["SafeIndexFn | None"]
  type_51 -.-> type_52
  type_53["TCallable"]
  type_51 -.-> type_53
  type_54["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_55["SafetyPolicy"]
  type_54 -.-> type_55
  type_56["SafetyPolicy | None"]
  type_54 -.-> type_56
  type_57["jax_safe.py:safe_gather_1d_ok.policy"]
  type_58["SafetyPolicy"]
  type_57 -.-> type_58
  type_59["SafetyPolicy | None"]
  type_57 -.-> type_59
  type_60["repl.py:repl.validate_mode"]
  type_61["ValidateMode"]
  type_60 -.-> type_61
  type_62["ValidateMode | str | None"]
  type_60 -.-> type_62
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_entry.state_or_ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  2605271529300586070["coord.py:_coord_cache_update"]
  4611737466069979028((a1, a2, op))
  2605271529300586070 --> 4611737466069979028
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2605271529300586070 fn;
  class 4611737466069979028 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  6631734005297729176["di.py:_cached"]
  215366143955321690((args, kwargs))
  6631734005297729176 --> 215366143955321690
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 6631734005297729176 fn;
  class 215366143955321690 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  7155712435052728777["jax_safe.py:_raise"]
  7149543234352514908((max_val, min_val, size_val))
  7155712435052728777 --> 7149543234352514908
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 7155712435052728777 fn;
  class 7149543234352514908 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  467874107819130462["protocols.py:__call__"]
  8242111664812381378((idx, label, policy_value, size))
  467874107819130462 --> 8242111664812381378
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 467874107819130462 fn;
  class 8242111664812381378 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  2141605668306343222["commit.py:_wrapped"]
  3087897153390027476((args, kwargs))
  2141605668306343222 --> 3087897153390027476
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2141605668306343222 fn;
  class 3087897153390027476 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  5996300197218591331["commit.py:_raise"]
  5025676492478005567((act_val, exp_val))
  5996300197218591331 --> 5025676492478005567
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 5996300197218591331 fn;
  class 5025676492478005567 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["coord.py:_call_intern.intern_fn"]
  type_20["Callable[..., T]"]
  type_19 --> type_20
  type_21["coord.py:_call_intern.ledger"]
  type_22["Ledger"]
  type_21 --> type_22
  type_23["coord.py:_coord_leaf_id.intern_fn"]
  type_24["Callable[..., T]"]
  type_23 --> type_24
  type_25["coord.py:_coord_leaf_id.ledger"]
  type_26["Ledger"]
  type_25 --> type_26
  type_27["coord.py:_coord_leaf_id_cached.intern_fn"]
  type_28["Callable[..., T]"]
  type_27 --> type_28
  type_29["coord.py:_coord_leaf_id_cached.ledger"]
  type_30["Ledger"]
  type_29 --> type_30
  type_31["coord.py:_coord_promote_leaf.intern_fn"]
  type_32["Callable[..., T]"]
  type_31 --> type_32
  type_33["coord.py:_coord_promote_leaf.ledger"]
  type_34["Ledger"]
  type_33 --> type_34
  type_35["coord.py:_coord_promote_leaf_cached.intern_fn"]
  type_36["Callable[..., T]"]
  type_35 --> type_36
  type_37["coord.py:_coord_promote_leaf_cached.ledger"]
  type_38["Ledger"]
  type_37 --> type_38
  type_39["coord.py:_coord_xor_cached.ledger"]
  type_40["Ledger"]
  type_39 --> type_40
  type_41["coord.py:cd_lift_binary.ledger"]
  type_42["Ledger"]
  type_41 --> type_42
  type_43["coord.py:cd_lift_binary_cfg.ledger"]
  type_44["Ledger"]
  type_43 --> type_44
  type_45["coord.py:coord_xor.ledger"]
  type_46["Ledger"]
  type_45 --> type_46
  type_47["coord.py:coord_xor_batch.ledger"]
  type_48["Ledger"]
  type_47 --> type_48
  type_49["coord.py:coord_xor_batch_cfg.ledger"]
  type_50["Ledger"]
  type_49 --> type_50
  type_51["coord.py:coord_xor_cfg.ledger"]
  type_52["Ledger"]
  type_51 --> type_52
  type_53["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_54["Ledger"]
  type_53 --> type_54
  type_55["jit_entrypoints.py:_entry.state_or_ledger"]
  type_56["Ledger"]
  type_55 --> type_56
  type_57["jit_entrypoints.py:_impl.ptrs"]
  type_58["WirePtrPair"]
  type_57 --> type_58
  type_59["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_60["Callable[..., tuple]"]
  type_59 --> type_60
  type_61["project.py:project_arena_to_ledger.ledger"]
  type_62["Ledger | LedgerState"]
  type_61 --> type_62
  type_63["project.py:project_manifest_to_ledger.ledger"]
  type_64["Ledger | LedgerState"]
  type_63 --> type_64
  type_65["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_66["InternConfig"]
  type_65 -.-> type_66
  type_67["InternConfig | None"]
  type_65 -.-> type_67
  type_68["commit.py:_bind_ledger_index.fn"]
  type_69["Callable[..."]
  type_68 -.-> type_69
  type_70["T]"]
  type_68 -.-> type_70
  type_71["Callable[..."]
  type_68 -.-> type_71
  type_72["object]"]
  type_68 -.-> type_72
  type_73["coord.py:cd_lift_binary.intern_fn"]
  type_74["Callable[..."]
  type_73 -.-> type_74
  type_75["T]"]
  type_73 -.-> type_75
  type_76["InternFn"]
  type_73 -.-> type_76
  type_77["facade.py:cycle_candidates.ledger"]
  type_78["Ledger | LedgerState"]
  type_77 -.-> type_78
  type_79["LedgerState"]
  type_77 -.-> type_79
  type_80["facade.py:intern_nodes.ledger"]
  type_81["Ledger"]
  type_80 -.-> type_81
  type_82["LedgerState"]
  type_80 -.-> type_82
  type_83["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_84["SafeGatherFn | None"]
  type_83 -.-> type_84
  type_85["TCallable"]
  type_83 -.-> type_85
  type_86["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_87["SafeGatherOkFn | None"]
  type_86 -.-> type_87
  type_88["TCallable"]
  type_86 -.-> type_88
  type_89["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_90["SafeIndexFn | None"]
  type_89 -.-> type_90
  type_91["TCallable"]
  type_89 -.-> type_91
  type_92["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_93["SafetyPolicy"]
  type_92 -.-> type_93
  type_94["SafetyPolicy | None"]
  type_92 -.-> type_94
  type_95["jax_safe.py:safe_gather_1d_ok.policy"]
  type_96["SafetyPolicy"]
  type_95 -.-> type_96
  type_97["SafetyPolicy | None"]
  type_95 -.-> type_97
  type_98["repl.py:repl.validate_mode"]
  type_99["ValidateMode"]
  type_98 -.-> type_99
  type_100["ValidateMode | str | None"]
  type_98 -.-> type_100
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
coord.py:_call_intern.intern_fn can tighten to Callable[..., T]
coord.py:_call_intern.ledger can tighten to Ledger
coord.py:_coord_leaf_id.intern_fn can tighten to Callable[..., T]
coord.py:_coord_leaf_id.ledger can tighten to Ledger
coord.py:_coord_leaf_id_cached.intern_fn can tighten to Callable[..., T]
coord.py:_coord_leaf_id_cached.ledger can tighten to Ledger
coord.py:_coord_promote_leaf.intern_fn can tighten to Callable[..., T]
coord.py:_coord_promote_leaf.ledger can tighten to Ledger
coord.py:_coord_promote_leaf_cached.intern_fn can tighten to Callable[..., T]
coord.py:_coord_promote_leaf_cached.ledger can tighten to Ledger
coord.py:_coord_xor_cached.ledger can tighten to Ledger
coord.py:cd_lift_binary.ledger can tighten to Ledger
coord.py:cd_lift_binary_cfg.ledger can tighten to Ledger
coord.py:coord_xor.ledger can tighten to Ledger
coord.py:coord_xor_batch.ledger can tighten to Ledger
coord.py:coord_xor_batch_cfg.ledger can tighten to Ledger
coord.py:coord_xor_cfg.ledger can tighten to Ledger
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_entry.state_or_ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
coord.py:cd_lift_binary.intern_fn downstream types conflict: ['Callable[..., T]', 'InternFn']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

@github-actions

github-actions Bot commented Feb 2, 2026

Copy link
Copy Markdown

Dataflow grammar audit (observed forwarding bundles).

Component 1

flowchart LR
  1848704628392142122["coord.py:_coord_cache_update"]
  5525642641943990095((a1, a2, op))
  1848704628392142122 --> 5525642641943990095
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1848704628392142122 fn;
  class 5525642641943990095 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - a1, a2, op (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - a1, a2, op

Component 2

flowchart LR
  259964289838465535["di.py:_cached"]
  113069997793838684((args, kwargs))
  259964289838465535 --> 113069997793838684
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 259964289838465535 fn;
  class 113069997793838684 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 3

flowchart LR
  2091944473183239660["jax_safe.py:_raise"]
  6569617007807008170((max_val, min_val, size_val))
  2091944473183239660 --> 6569617007807008170
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 2091944473183239660 fn;
  class 6569617007807008170 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - max_val, min_val, size_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - max_val, min_val, size_val

Component 4

flowchart LR
  4886329047227921502["protocols.py:__call__"]
  6835998583449187567((idx, label, policy_value, size))
  4886329047227921502 --> 6835998583449187567
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 4886329047227921502 fn;
  class 6835998583449187567 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - idx, label, policy_value, size (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - idx, label, policy_value, size

Component 5

flowchart LR
  1626529368799799608["commit.py:_wrapped"]
  5865779025021293829((args, kwargs))
  1626529368799799608 --> 5865779025021293829
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1626529368799799608 fn;
  class 5865779025021293829 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - args, kwargs (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - args, kwargs

Component 6

flowchart LR
  1888920552581271090["commit.py:_raise"]
  5955997483596974372((act_val, exp_val))
  1888920552581271090 --> 5955997483596974372
  classDef fn fill:#cfe8ff,stroke:#2b6cb0,stroke-width:1px;
  classDef bundle fill:#ffe9c6,stroke:#c05621,stroke-width:1px;
  class 1888920552581271090 fn;
  class 5955997483596974372 bundle;
Loading

Summary:

Functions: 1
Observed bundles: 1
Declared Config bundles: none found for this component.
Observed-only bundles (not declared in Configs):
  - act_val, exp_val (tier-3, documented)
Documented bundles (dataflow-bundle markers or local dataclass calls):
  - act_val, exp_val

Type-flow audit:

flowchart LR
  type_1["cnf2.py:_apply_q_optional_ok.q_map"]
  type_2["QMap"]
  type_1 --> type_2
  type_3["cnf2.py:_cycle_candidates_core_static_bound.ledger"]
  type_4["Ledger"]
  type_3 --> type_4
  type_5["cnf2.py:_cycle_candidates_core_value_bound.ledger"]
  type_6["Ledger"]
  type_5 --> type_6
  type_7["cnf2.py:cycle_candidates.ledger"]
  type_8["Ledger"]
  type_7 --> type_8
  type_9["cnf2.py:cycle_candidates_bound.ledger"]
  type_10["Ledger"]
  type_9 --> type_10
  type_11["cnf2.py:cycle_candidates_static.ledger"]
  type_12["Ledger"]
  type_11 --> type_12
  type_13["cnf2.py:cycle_candidates_value.ledger"]
  type_14["Ledger"]
  type_13 --> type_14
  type_15["config.py:_apply_q_optional_ok.q_map"]
  type_16["QMap"]
  type_15 --> type_16
  type_17["config.py:_handler.q_map"]
  type_18["QMap"]
  type_17 --> type_18
  type_19["coord.py:_call_intern.intern_fn"]
  type_20["Callable[..., T]"]
  type_19 --> type_20
  type_21["coord.py:_call_intern.ledger"]
  type_22["Ledger"]
  type_21 --> type_22
  type_23["coord.py:_coord_leaf_id.intern_fn"]
  type_24["Callable[..., T]"]
  type_23 --> type_24
  type_25["coord.py:_coord_leaf_id.ledger"]
  type_26["Ledger"]
  type_25 --> type_26
  type_27["coord.py:_coord_leaf_id_cached.intern_fn"]
  type_28["Callable[..., T]"]
  type_27 --> type_28
  type_29["coord.py:_coord_leaf_id_cached.ledger"]
  type_30["Ledger"]
  type_29 --> type_30
  type_31["coord.py:_coord_promote_leaf.intern_fn"]
  type_32["Callable[..., T]"]
  type_31 --> type_32
  type_33["coord.py:_coord_promote_leaf.ledger"]
  type_34["Ledger"]
  type_33 --> type_34
  type_35["coord.py:_coord_promote_leaf_cached.intern_fn"]
  type_36["Callable[..., T]"]
  type_35 --> type_36
  type_37["coord.py:_coord_promote_leaf_cached.ledger"]
  type_38["Ledger"]
  type_37 --> type_38
  type_39["coord.py:_coord_xor_cached.ledger"]
  type_40["Ledger"]
  type_39 --> type_40
  type_41["coord.py:cd_lift_binary.ledger"]
  type_42["Ledger"]
  type_41 --> type_42
  type_43["coord.py:cd_lift_binary_cfg.ledger"]
  type_44["Ledger"]
  type_43 --> type_44
  type_45["coord.py:coord_xor.ledger"]
  type_46["Ledger"]
  type_45 --> type_46
  type_47["coord.py:coord_xor_batch.ledger"]
  type_48["Ledger"]
  type_47 --> type_48
  type_49["coord.py:coord_xor_batch_cfg.ledger"]
  type_50["Ledger"]
  type_49 --> type_50
  type_51["coord.py:coord_xor_cfg.ledger"]
  type_52["Ledger"]
  type_51 --> type_52
  type_53["intern.py:_lookup_node_id_bucketed.ledger_in"]
  type_54["Ledger"]
  type_53 --> type_54
  type_55["jit_entrypoints.py:_entry.state_or_ledger"]
  type_56["Ledger"]
  type_55 --> type_56
  type_57["jit_entrypoints.py:_impl.ptrs"]
  type_58["WirePtrPair"]
  type_57 --> type_58
  type_59["jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn"]
  type_60["Callable[..., tuple]"]
  type_59 --> type_60
  type_61["project.py:project_arena_to_ledger.ledger"]
  type_62["Ledger | LedgerState"]
  type_61 --> type_62
  type_63["project.py:project_manifest_to_ledger.ledger"]
  type_64["Ledger | LedgerState"]
  type_63 --> type_64
  type_65["cnf2.py:_cycle_candidates_core_impl_state.intern_cfg"]
  type_66["InternConfig"]
  type_65 -.-> type_66
  type_67["InternConfig | None"]
  type_65 -.-> type_67
  type_68["commit.py:_bind_ledger_index.fn"]
  type_69["Callable[..."]
  type_68 -.-> type_69
  type_70["T]"]
  type_68 -.-> type_70
  type_71["Callable[..."]
  type_68 -.-> type_71
  type_72["object]"]
  type_68 -.-> type_72
  type_73["coord.py:cd_lift_binary.intern_fn"]
  type_74["Callable[..."]
  type_73 -.-> type_74
  type_75["T]"]
  type_73 -.-> type_75
  type_76["InternFn"]
  type_73 -.-> type_76
  type_77["facade.py:cycle_candidates.ledger"]
  type_78["Ledger | LedgerState"]
  type_77 -.-> type_78
  type_79["LedgerState"]
  type_77 -.-> type_79
  type_80["facade.py:intern_nodes.ledger"]
  type_81["Ledger"]
  type_80 -.-> type_81
  type_82["LedgerState"]
  type_80 -.-> type_82
  type_83["guards.py:resolve_safe_gather_fn.safe_gather_fn"]
  type_84["SafeGatherFn | None"]
  type_83 -.-> type_84
  type_85["TCallable"]
  type_83 -.-> type_85
  type_86["guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn"]
  type_87["SafeGatherOkFn | None"]
  type_86 -.-> type_87
  type_88["TCallable"]
  type_86 -.-> type_88
  type_89["guards.py:resolve_safe_index_fn.safe_index_fn"]
  type_90["SafeIndexFn | None"]
  type_89 -.-> type_90
  type_91["TCallable"]
  type_89 -.-> type_91
  type_92["guards.py:safe_gather_1d_ok_cfg.policy"]
  type_93["SafetyPolicy"]
  type_92 -.-> type_93
  type_94["SafetyPolicy | None"]
  type_92 -.-> type_94
  type_95["jax_safe.py:safe_gather_1d_ok.policy"]
  type_96["SafetyPolicy"]
  type_95 -.-> type_96
  type_97["SafetyPolicy | None"]
  type_95 -.-> type_97
  type_98["repl.py:repl.validate_mode"]
  type_99["ValidateMode"]
  type_98 -.-> type_99
  type_100["ValidateMode | str | None"]
  type_98 -.-> type_100
Loading

Type tightening candidates:

cnf2.py:_apply_q_optional_ok.q_map can tighten to QMap
cnf2.py:_cycle_candidates_core_static_bound.ledger can tighten to Ledger
cnf2.py:_cycle_candidates_core_value_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates.ledger can tighten to Ledger
cnf2.py:cycle_candidates_bound.ledger can tighten to Ledger
cnf2.py:cycle_candidates_static.ledger can tighten to Ledger
cnf2.py:cycle_candidates_value.ledger can tighten to Ledger
config.py:_apply_q_optional_ok.q_map can tighten to QMap
config.py:_handler.q_map can tighten to QMap
coord.py:_call_intern.intern_fn can tighten to Callable[..., T]
coord.py:_call_intern.ledger can tighten to Ledger
coord.py:_coord_leaf_id.intern_fn can tighten to Callable[..., T]
coord.py:_coord_leaf_id.ledger can tighten to Ledger
coord.py:_coord_leaf_id_cached.intern_fn can tighten to Callable[..., T]
coord.py:_coord_leaf_id_cached.ledger can tighten to Ledger
coord.py:_coord_promote_leaf.intern_fn can tighten to Callable[..., T]
coord.py:_coord_promote_leaf.ledger can tighten to Ledger
coord.py:_coord_promote_leaf_cached.intern_fn can tighten to Callable[..., T]
coord.py:_coord_promote_leaf_cached.ledger can tighten to Ledger
coord.py:_coord_xor_cached.ledger can tighten to Ledger
coord.py:cd_lift_binary.ledger can tighten to Ledger
coord.py:cd_lift_binary_cfg.ledger can tighten to Ledger
coord.py:coord_xor.ledger can tighten to Ledger
coord.py:coord_xor_batch.ledger can tighten to Ledger
coord.py:coord_xor_batch_cfg.ledger can tighten to Ledger
coord.py:coord_xor_cfg.ledger can tighten to Ledger
intern.py:_lookup_node_id_bucketed.ledger_in can tighten to Ledger
jit_entrypoints.py:_entry.state_or_ledger can tighten to Ledger
jit_entrypoints.py:_impl.ptrs can tighten to WirePtrPair
jit_entrypoints.py:intern_candidates_jit_cfg.compact_candidates_fn can tighten to Callable[..., tuple]
project.py:project_arena_to_ledger.ledger can tighten to Ledger | LedgerState
project.py:project_manifest_to_ledger.ledger can tighten to Ledger | LedgerState

Type ambiguities (conflicting downstream expectations):

cnf2.py:_cycle_candidates_core_impl_state.intern_cfg downstream types conflict: ['InternConfig', 'InternConfig | None']
commit.py:_bind_ledger_index.fn downstream types conflict: ['Callable[..., T]', 'Callable[..., object]']
coord.py:cd_lift_binary.intern_fn downstream types conflict: ['Callable[..., T]', 'InternFn']
facade.py:cycle_candidates.ledger downstream types conflict: ['Ledger | LedgerState', 'LedgerState']
facade.py:intern_nodes.ledger downstream types conflict: ['Ledger', 'LedgerState']
guards.py:resolve_safe_gather_fn.safe_gather_fn downstream types conflict: ['SafeGatherFn | None', 'TCallable']
guards.py:resolve_safe_gather_ok_fn.safe_gather_ok_fn downstream types conflict: ['SafeGatherOkFn | None', 'TCallable']
guards.py:resolve_safe_index_fn.safe_index_fn downstream types conflict: ['SafeIndexFn | None', 'TCallable']
guards.py:safe_gather_1d_ok_cfg.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
jax_safe.py:safe_gather_1d_ok.policy downstream types conflict: ['SafetyPolicy', 'SafetyPolicy | None']
repl.py:repl.validate_mode downstream types conflict: ['ValidateMode', 'ValidateMode | str | None']

Constant-propagation smells (non-test call sites):

alloc.py:alloc_jax.set_oom_on_fail only observed constant cfg.set_oom_on_fail across 1 non-test call(s)
arena_step.py:cycle.arena only observed constant vm.arena across 1 non-test call(s)
arena_step.py:cycle_value.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
cnf2.py:_ledger_index_is_bound.fn only observed constant intern_inputs.intern_fn across 1 non-test call(s)
cnf2.py:compact_candidates.candidate_indices_fn only observed constant resolved.candidate_indices_fn across 1 non-test call(s)
commit.py:_safe_gather_ok.arr only observed constant canon_ids.a across 1 non-test call(s)
compact.py:compact_mask.count_dtype only observed constant cfg.count_dtype across 1 non-test call(s)
compact.py:compact_mask.index_dtype only observed constant cfg.index_dtype across 1 non-test call(s)
compact.py:scatter_compacted_ids.index_dtype only observed constant jnp.int32 across 1 non-test call(s)
facade.py:cnf2_config_bound.policy_binding only observed constant cfg.policy_binding across 2 non-test call(s)
facade.py:init_ledger_state.cfg only observed constant self.intern_cfg across 1 non-test call(s)
graph.py:_compact_mask.compact_cfg only observed constant cfg.compact_cfg across 2 non-test call(s)
guards.py:guard_swizzle_args_cfg.count only observed constant arena.count across 2 non-test call(s)
guards.py:safe_gather_1d_cfg.return_ok only observed constant True across 1 non-test call(s)
intern.py:intern_nodes.ledger only observed constant state.ledger across 1 non-test call(s)
intern.py:intern_nodes.ledger_index only observed constant state.index across 1 non-test call(s)
jax_safe.py:safe_gather_1d.return_ok only observed constant True across 1 non-test call(s)
jit_entrypoints.py:_safe_gather_is_bound.safe_gather_fn only observed constant cfg.safe_gather_fn across 2 non-test call(s)
jit_entrypoints.py:cycle_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:cycle_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_cfg only observed constant cfg.guard_cfg across 3 non-test call(s)
jit_entrypoints.py:op_interact_jit.guard_max_fn only observed constant cfg.guard_max_fn across 2 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_cfg only observed constant cfg.guard_cfg across 1 non-test call(s)
jit_entrypoints.py:op_interact_value_jit.guard_max_fn only observed constant cfg.guard_max_fn across 1 non-test call(s)
kernels.py:dispatch_kernel.manifest only observed constant self.manifest across 1 non-test call(s)
metrics.py:_damage_tile_size.block_size only observed constant sort_cfg.block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l1_block_size only observed constant sort_cfg.l1_block_size across 1 non-test call(s)
metrics.py:_damage_tile_size.l2_block_size only observed constant sort_cfg.l2_block_size across 1 non-test call(s)
safety.py:coerce_safety_mode.mode only observed constant self.mode across 1 non-test call(s)
safety.py:oob_any.policy only observed constant meta.safe_gather_policy across 2 non-test call(s)
safety.py:oob_any_value.policy_value only observed constant meta.safe_gather_policy_value across 2 non-test call(s)

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