Deterministic merge of Elixir plugin patches into a native whiff/1 report.
Rules (v0.1)
- Preserve native
whiff.schema/ version and core sections. - Never erase native
securityrisk/secret/personal_data fields,integrity,diagnostics, orembedded. embeddedpatches are rejected.metadata/format: namespaced keys; collisions error unless override mode allows the declared field.content: keywords de-duplicated in deterministic order; scalars native-wins in:augment, plugin-wins in:fallback, declared fields in:override.- Reject atoms, PIDs, structs, references; cap depth and string size.
Summary
Functions
Merge a plugin patch into report.
Types
Functions
@spec merge(map(), map(), keyword()) :: {:ok, map()} | {:error, Whiff.Error.t()}
Merge a plugin patch into report.