Dashboard › opencode › Boundary validation ownership
01a07f11-75d7-713b-b8aa-74c48b68e04cAlways validate unknown values once at their owning boundary, then pass typed values inward. Revalidation looks safer but obscures ownership and creates inconsistent failures. Keep synchronous parsing synchronous; for untrusted JSON strings use Schema.UnknownFromJsonString with Schema.decodeUnknownOption over manual JSON.parse wrapped in Effect.try.