ObanPowertools.Forensics.EvidenceBundle (oban_powertools v0.5.0)

Copy Markdown View Source

Assembles a normalized forensic evidence bundle from raw attrs.

Related evidence items may arrive with binary keys (from JSON-decoded payloads or host-app forensics integrations). The following keys are normalized to atoms so that downstream consumers (e.g., ForensicsLive) can access them via atom dot-syntax:

@related_evidence_atom_keys ~w(title summary provenance type resource_id resource_type)a

Unknown binary keys are preserved as binaries (Phase 41 D-28 / Phase 34 D-09 partial-evidence posture). Downstream consumers must handle binary-key fall-throughs rather than relying on atom access for unknown keys. Unknown keys do NOT grow the atom table.

The compile-time module attribute ensures all known atoms are interned at module load, so String.to_existing_atom/1 cannot raise for known keys at runtime regardless of module-load ordering.

Summary

Functions

build(attrs)