Custom check not getting executed - permanent staying as pending

The ps check is normally designed to give back items, means you can have more than one services checked by the same check. Like ps_1, ps_2, ps_3, … and so on.

I don’t know how your discovery (old inventory) function and check function is designed but interpreting the error it’s not able to handle more than one item.

I would recvomend you to not use ps.posa as check name and use a totally custom for. may this helps get you around this problem to design your check metching all functions of ps and ps.perf.

If something goies wrong inside the check function your service could stay pending instead of throwing an exception.

Maybe this explanaition helps you designing your own check.