Skip to content

Traverse overlapping constraint dependencies - #651

Draft
iangneal wants to merge 1 commit into
codex/circom-analysis-3-scf-aggregatesfrom
codex/circom-analysis-4-overlap-cdg
Draft

Traverse overlapping constraint dependencies#651
iangneal wants to merge 1 commit into
codex/circom-analysis-3-scf-aggregatesfrom
codex/circom-analysis-4-overlap-cdg

Conversation

@iangneal

@iangneal iangneal commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Makes constraint-dependency traversal overlap-aware on top of #650. This is PR 4 of 6 in the stacked series.

Related issues

No standalone issue; depends on #650.

Changes

  • Track pairwise dependency edges separately from broad equivalence classes.
  • Traverse overlapping aggregate ranges transitively and narrow them to queried concrete elements.
  • Include ancestor constraints while filtering structurally incompatible aggregate alternatives.
  • Preserve dependency edges through graph copying, translation, and interprocedural merging.
  • Add regressions proving a range constrains included elements while leaving omitted elements unconstrained.
  • Add changelogs/unreleased/codex__circom-analysis-4-overlap-cdg.yaml.

Testing

  • git diff --check
  • Focused overlap-aware CDG regressions
  • nix build -L on this exact stacked commit (371 lit tests plus the full unit/CAPI suite passed)

Submission checklist

  • If I am an external contributor, this PR has a linked issue marked approved; otherwise, this does not apply.
  • I added or updated tests for all relevant behavior, or explained above why tests are not needed.
  • I updated the relevant TableGen or other documentation, or explained above why documentation is not needed.
  • I added a changelog entry describing user-visible changes. (create-changelog in the Nix development shell creates a template.)
  • I enabled Allow edits from maintainers if this PR comes from a fork.

AI assistance

  • No AI tools contributed to this PR.
  • AI tools contributed to this PR.

Tools used: OpenAI Codex.

How the tools contributed: Codex helped partition the original working-tree change, preserve dependency ordering, add focused regressions and changelog entries, and prepare this draft PR.

How I verified the contribution: Reviewed the isolated diff and ran git diff --check, the focused analysis regressions through the project test suite, and nix build -L on this exact commit.

@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch from 7d468b5 to 1dbf049 Compare July 28, 2026 20:07
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Test Results

  2 files  ±0    2 suites  ±0   11m 1s ⏱️ + 2m 56s
371 tests ±0  367 ✅ ±0  4 💤 ±0  0 ❌ ±0 
742 runs  ±0  734 ✅ ±0  8 💤 ±0  0 ❌ ±0 

Results for commit aafd711. ± Comparison against base commit 305824f.

♻️ This comment has been updated with latest results.

@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch from 1dbf049 to 8c0989d Compare July 28, 2026 22:08
@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch 3 times, most recently from ffbaf69 to 3322a6a Compare July 29, 2026 02:20
@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch from 3322a6a to 6e5195d Compare July 29, 2026 15:06
@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch from 6e5195d to 04c3346 Compare July 29, 2026 15:31
@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch from 04c3346 to aafd711 Compare July 29, 2026 16:07
@iangneal
iangneal force-pushed the codex/circom-analysis-4-overlap-cdg branch from aafd711 to 233fc3a Compare July 29, 2026 17:05
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.

1 participant