Skip to content

Commit 9052050

Browse files
grypezclaude
andcommitted
fix(kernel-utils): use Object.is for value equality in decomposeMetadata
=== fails for NaN (NaN !== NaN), so a NaN value shared by all germs was never promoted to a constraint — it remained in each germ's distinguishing metadata instead. Object.is correctly treats NaN === NaN and is consistent with the type-tagged encoding already used in collapseEquivalent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 677d97d commit 9052050

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

packages/kernel-utils/src/sheaf/sheafify.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ const decomposeMetadata = <MetaData extends Record<string, unknown>>(
121121
const val = first[key];
122122
const shared = stalk.every((entry) => {
123123
const meta = entry.metadata;
124-
return key in meta && meta[key] === val;
124+
return key in meta && Object.is(meta[key], val);
125125
});
126126
if (shared) {
127127
constraints[key] = val;

0 commit comments

Comments
 (0)