when expressions: parentheses, precedence, OR keep-site migration - #383
Merged
Conversation
m2ux
added a commit
that referenced
this pull request
Aug 1, 2026
Bring parenthesized when: gates for the four OR keep-sites onto this branch so parallel-fan-out does not reintroduce structured OR condition trees when both land.
m2ux
added a commit
that referenced
this pull request
Aug 1, 2026
Align co-touched 11-validate step gates with the reference when dialect from #383 so flat AND compounds and simple equals use when: consistently. Signed-off-by: Mike Clay <mike.clay@shielded.io>
m2ux
added a commit
that referenced
this pull request
Aug 1, 2026
Scope and findings record the OR keep-site merge and host check:when dependency; progress tracks pattern library delivery as complete.
5 tasks
m2ux
added a commit
that referenced
this pull request
Aug 1, 2026
Register and close-out record the four OR sites as parenthesized when: after cherry-pick d891ed7; totals 149 migrated / 0 OR-kept.
11 tasks
m2ux
added a commit
that referenced
this pull request
Aug 1, 2026
Express the non-complex prism inline path as when: problem_complexity != 'complex', matching the sibling dispatch-prism when gate and the #383 when-expression dialect.
m2ux
marked this pull request as ready for review
August 1, 2026 17:32
m2ux
added a commit
that referenced
this pull request
Aug 1, 2026
…merge Record ADR-0009, COMPLETE, session-trace, review analysis, and README progress for the parentheses/precedence OR keep-site work package.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Authors can write nested boolean step gates (
&&,||, parentheses) in the inlinewhen:dialect with one shared evaluator for tests and guards — the four production OR keep-sites no longer need structuredcondition:form.🐛 Issue 📐 Engineering 📋 Test plan
Motivation
Simple gates and flat AND compounds already used inline
when:, but OR-shaped gates stayed on structuredcondition:because parentheses, precedence, and mixed&&/||evaluation were not validated. Without a single reference dialect, authors cannot safely express nested shapes, docs over-promise what mechanical nets enforce, and an OR migration risks run/skip divergence from structured trees.Changes
when-expressionmodule (tokenize, C-style precedence,||/&&/!, comparisons including numeric); activity schema grammar card and fail-closed net rulecheck:whenauthoring guard rejects bare mixed ops without parentheseswhen:; workflows pin + corpus SHA stamp🤖 AI Assistance
📌 Submission Checklist
changes/convention🔱 Fork Strategy
🗹 TODO before merging
%G? = Non branch range) if project policy requires signaturestypecheck,test:ci(811 passed),check:all(20/20)