as always, a very valid explanation came from AutisticCuckoo, no voodoo talk. thank you.
i would add the flow definition:
<!ENTITY % flow “%block; | %inline;”>
from this context
<!–================== HTML content models ===============================–>
<!–
HTML has two basic content models:
%inline; character level elements and text strings
%block; block-like elements e.g. paragraphs and lists
–>
<!ENTITY % block
“P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS”>
<!ENTITY % flow “%block; | %inline;”>
but this is just to make it like an idiots guide 
now, all this put together with the <p> definition gives us that prose:
<!ENTITY % flow “%block; | %inline;”>
<!ELEMENT (INS|DEL) - - (%flow; )* – inserted text, deleted text –>
<!ELEMENT P - O (%inline; )* – paragraph –>
[…]
The P element represents a paragraph. It cannot contain block-level elements (including P itself).
beside what specs are telling us, about the use of <ins> and <del> in inline content; <p> element only allows inline content, so any other elements inside a <p> that can have flow content (block or inline) should be limited to the second part: inline.
thanks again AutisticCuckoo for making me see things as they are. this only shows once again that the validation icon is only what a shiny object is to a crow. a normal developer should rise above this pretending.