Skip to content

Conversation

@bbockelm
Copy link
Collaborator

This PR does two things:

  1. Adds short-circuit evaluation of boolean logic on flatten.
  2. Adds case-preserving behavior of keys and stable marshaling.

If a Flatten operation leaves boolean expressions to something we
can evaluate (such as `false && (...)` or `(...) || true`, then
do so (`false` or `true`, respectively).
This allows the ClassAd marshal methods to be stable; going from
ClassAd old format to JSON to old format results in the identity
function.

To get there, we also added case-preserving behavior for keys and
key sorting.
@codecov
Copy link

codecov bot commented Dec 26, 2025

Codecov Report

❌ Patch coverage is 84.16988% with 41 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
classad/classad.go 84.16% 24 Missing and 17 partials ⚠️

📢 Thoughts on this report? Let us know!

@bbockelm bbockelm merged commit 0011ab2 into main Dec 26, 2025
5 checks passed
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