A restricted parent now refuses a type the form never offered

When a NodeType declares CreatableTypes, the Create form has always offered only the types on that list. The write did not check it. Anything that created a node without going through the form — an agent, a script, the MCP create tool, or a page that sent the form's type value directly — could put any type under that parent, and nothing said no.

Now the write checks it too. Creating a type the parent's NodeType does not list is refused, and the message names the type, the parent type that set the restriction, and what is allowed instead.

What can now fail that used to succeed

A create is refused where it previously succeeded only when all of these are true at once:

Installs, git sync, plugin installs, migrations and every other write the platform makes on its own behalf are not affected: they were never what this setting is about, and a curation list that refused an install would look like data loss. Bookkeeping nodes filed beside a node (_Access, _GitSync, _Policy …) are not affected either.

If a create is refused that you expect to work, the fix is on the parent's NodeType: add the type to its CreatableTypes. The refusal names which type that is.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.