When using multiple times the same generic method on the same object, the reporting will be broken for all of them
If I have a MetaTechnique M1 which install a package p1 from a list of packages and a MetaTechnique M2 installing p1 from another list of packages, the reporting will fail.
Indeed, on the Directive from M1, the reporting about p1 will be in "No Answer" state and on the Directive from M2, the reporting about p1 will be in "Unknown state" as it will have 2 reports for the same Directive.
The problem come from the logger_rudder.cf which use getfields which match only the first occurrence of class_prefix and that the class_prefix of M1 and M2 are the same (i.e: package_install_p1).
I suppose that readstringarray should be used in place of getfields.