AF02

The schema declares a kind that has no form representation, so the adapter stops at construction.

In development this reads:

attaform/zod unsupported kind 'promise' at 'settings.loader'

with the offending kind and its path filled in. The production message carries the same two details after the code.

What happened

A form value has to round-trip through inputs, serialization, and validation. Kinds like z.promise, z.map, z.set, z.symbol, and z.function have no stable input or wire shape, so Attaform refuses them up front, at the exact path, rather than misbehaving later.

How to fix it

Reshape the field to a representable kind at that path. A Map becomes a record or an array of entries; a lazily loaded value resolves before it enters the form; a callback lives outside the schema entirely. The schema contract lists the supported surface for both Zod majors.