This syntax, since 3.8, rather is a regular Python syntax. I don’t think this requires an explanation for almost every builtin in sphinx docs. Probably, everyone can figure out that this is a function declaration and proceed to Sec 8.7 of the Language Reference.
On another hand, tooltip for (the whole argument list):
def foo(pos1, pos2, /, pok1, pok2, *, kw1, kw2):
...
might include something like:
positional-only parameters: pos1, pos2
positional-or-keyword parameters: pok1, pok2
keyword-only parameters: kw1, kw2
with a link to related Glossary entry. (BTW, maybe there should be separate entries for parameters of different types.)
This doesn’t explain syntax itself (but people could safely guess it from such descriptions), just a more verbose optional view, that explains whats going on.
Edit: this is a slight variation of Victor’s suggestion from the CPython’s issue thread. But maybe separate tooltips for every argument even better.
It might be worth to document (this notation is not hard to understand, but to my shame I don’t know it’s history).
But I would rather consider using it as a bug. It’s better to provide several function signatures, each with a valid python syntax. Take the range() as an example vs the str.find().