| In PUP-11654, we're adding a setting to not send unchanged resource statuses. However, some fields in the report are derived from resource statuses and events. For example, the corrective_change and noop_pending instance variables are computed in the finalize_report method. If a report is deserialized using Report.from_data_report and then re-serialized using Report#to_data_hash, it's important that the original corrective_change and noop_pending data be preserved. I believe it will work that way, but it's something to check. Another complication is the puppetdb report processor determines if a report to be "noop" based on events. So we may need to include unchanged events that were explicitly marked as "noop". |