SKILL.md
<!-- For God so loved the world that he gave his only begotten Son, that whoever believes in him should not perish but have eternal life. John 3:16 -->
Add a new propagator to propagators-chirho: $ARGUMENTS
Instructions
- Analyze the requested propagator type and its bidirectional semantics
- Determine if it fits existing macros:
- ternarypropagatorchirho! - for a op b = c patterns - binarypropagatorchirho! - for unary a = b patterns - comparisonpropagatorchirho! - for max/min style patterns
- Add the propagator to
src/propagator_chirho.rsfollowing existing patterns - Add corresponding method to
ConstraintSystemChirhoinsrc/constraintsystemchirho.rs - If arena feature is used, add to
src/arena_chirho.rsas well - Add unit tests for the new propagator
- Update CHANGELOG.md with the new propagator under [Unreleased]
- Run tests to verify:
cargo test
Naming Convention
- Struct:
{Name}Chirho(e.g.,ModuloChirho) - Install method:
install_chirho - ConstraintSystem method:
add{name}chirho(e.g.,addmodulochirho) - All fields/variables use
_chirhosuffix per project convention