Purpose
Enrich the incident payload with grounded knowledge: the applicable OSHA 300/300A recordability criteria, the relevant ISO 45001 clauses, the JHA/HIRA for the task/area, internal EHS policy, and the area's prior similar incidents (to reveal a repeat pattern).
When to use
- After incident-intake, in every run.
- "Pull the OSHA criteria and the JHA" / "have we had this incident on this machine before?".
Inputs
incident-intake.json(contract inputs from incident-intake).- OSHA recordability excerpt, JHA/HIRA excerpt, EHS policy excerpt (PDF/Markdown).
- Prior-incident log (CSV): incident_id, date, area, asset_or_area, type, body_part, outcome, recordable.
Steps
- Filter the prior-incident log to this
asset_or_area(and body_part/type where relevant); extract each intohistory.prior_incidents[]with itsoutcomeandrecordableflag. - Set
history.window_daysto the span covered and computehistory.repeat_count. Sethistory.repeat_pattern = truewhen the same area/asset shows recurring similar incidents (a systemic signal,ehs-policy-excerpts.md#4). - Attach retrieved OSHA criteria, ISO 45001 clauses, JHA/HIRA and policy excerpts into
retrieved{}, each with a citation. - Write the enriched payload back onto the contract.
Output
The contract payload with populated history{} and retrieved{} — the input to
severity-recordability.
Grounding requirements
Every prior incident cites its log record ID; every criteria/clause/JHA reference cites its section or file.
Constraints
- Retrieval only — do not classify severity or recordability here (engine/LLM split).
- Do not infer a prior incident's recordability if the log does not state it.
- Do not drop a prior incident that reveals a repeat pattern; surfacing it is the point.
Escalation / uncertainty
- If the prior-incident log or JHA is unavailable, proceed on the report and OSHA criteria alone and
note it in
escalations[]; do not block the run.