@markstory a contrived requirement as an example:

* product ids are manually provided
* product ids are 36 characters long

It should be trivial to prevent Cake populating this (even if missing) with a uuid.

The field `_pkStrategy` was meant to illustrate that the table can decide what happens, defaulting to information from the schema; rather than the schema dictating what happens. Obviously/admittedly I'm not familiar enough with the current implementation to recognise whether the above can already be taken care of easily.