Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 12 Mar 23:30
· 66 commits to main since this release
4b7a2ff
Fix: pass symmetry context to all expression evaluation sites (#329)

Symmetry domain methods (values(), fresh(), choices()) require a
SymmetryContext to be set on the Starlark thread. Previously this was
only done for PyStmt, ForStmt iter, and AnyStmt iter — leaving six
evaluation sites that would panic with "symmetry context not found"
if a domain method appeared in those positions:

- IfStmt condition
- AnyStmt condition (the filter, not the iter)
- RequireStmt condition
- ReturnStmt expression
- CallStmt argument expressions
- CallStmt default parameter expressions
- WhileStmt condition
- CheckInvariant (simple one-line invariant form)

Each site now calls createSymmetryContext() before eval and
saveRotationalLastAllocated() after, matching the existing pattern.

Co-authored-by: jayaprabhakar <jayaprabhakar@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>