Influencing the way ProseMirror populates content

I have a node type ‘list’ with content paragraph items? where items has content block* (and block is the typical group).

If I have a list where the optional items is not there, and a joinBackward command happens to join a paragraph that follows (i.e. the cursor is just after the list and the user presses backspace), ProseMirror adds the missing items and joins the following paragraph in there.

That seems like a reasonable thing to do in general, but in my case it’s not wanted. I want the items to remain absent. Are there any hooks to influence these situations?

I tried defining items as isolating, which solved the problem, but also disabled other operations that were working as I wanted.

I will try a custom joinBackward which delegates to the existing implementation and then fixes up this problem if it is detected, but it seems a bit kludgy.

Following up to say I may have falsely diagnosed this behaviour as coming from PM core when in fact it was an issue with a plugin of mine.

I’d still be interested in the answer to the general question - are there any ways to influence the way PM auto-populates nodes, other than schema ordering and the spec flags like isolating?

No. Node filling is entirely driven by the schema content declarations. Even isolating has no effect on it.