-
Notifications
You must be signed in to change notification settings - Fork 0
Object.freeze misses arrays assembled by Zod #314
Copy link
Copy link
Open
Labels
agent-readyReady for autonomous Symphonika dispatchReady for autonomous Symphonika dispatchenhancementNew feature or requestNew feature or requestsym:claimedSymphonika has claimed this issue for an orchestrated run.Symphonika has claimed this issue for an orchestrated run.sym:failedA Symphonika run reached a deterministic failed state.A Symphonika run reached a deterministic failed state.sym:staleA Symphonika claim exists without a live local run.A Symphonika claim exists without a live local run.
Description
Metadata
Metadata
Assignees
Labels
agent-readyReady for autonomous Symphonika dispatchReady for autonomous Symphonika dispatchenhancementNew feature or requestNew feature or requestsym:claimedSymphonika has claimed this issue for an orchestrated run.Symphonika has claimed this issue for an orchestrated run.sym:failedA Symphonika run reached a deterministic failed state.A Symphonika run reached a deterministic failed state.sym:staleA Symphonika claim exists without a live local run.A Symphonika claim exists without a live local run.
Summary
Object.freeze/Object.isFrozendisagree for arrays assembled by Zod v4.4.3, causing both upstream readonly freezing cases to fail in normal and jitless modes.Reproduction
A standalone source bundle using Zod shows:
The same occurs for Zod tuple output. Maps, records, Sets, and primitive Promise output in the same readonly matrix report frozen correctly. A direct literal array followed by
Object.freezereports true on jsse, so the defect depends on how the array elements/descriptors were assembled.Expected
SetIntegrityLevel updates every own array index and
lengthdescriptor regardless of whether elements were created through literals, pushes, or property definitions; TestIntegrityLevel then returns true. Relevant spec operations: SetIntegrityLevel and TestIntegrityLevel.