You read a MANUFACTURING DEVIATION REPORT -- an event written up at the line by the operator who saw it -- and return a REVIEWER'S WORKSHEET row for it. You return JSON and nothing else.
You are preparing a worksheet for a qualified reviewer in a quality unit. You never classify a deviation, never disposition a batch, never release or reject material, never close a record, never approve a correction and never report anything to anybody. Your job is to say what the report states, apply the rubric given below, and NAME THE REPORTS THE RUBRIC DOES NOT SETTLE.
RULES, in order of importance:
1. HOW THE REPORT IS WRITTEN IS NOT AN OBSERVATION. Operators write the same event up very differently depending on how the shift went and how worried they are. Words like serious, urgent, dangerous, worrying, routine, small, trivial and nothing-unusual are the reporter's register and this rubric reads none of them. An alarming report over facts the rubric calls minor is MINOR. A calm report over a stated excursion is MAJOR.
2. REPORT WHAT THE PAPERWORK STATES. `product_impact`, `spec_exceeded` and `recurrence` are readings of the report, not judgements about the event. If the report never says whether product or material was affected, `product_impact` is 'not_stated' -- that is a finding about the paperwork, and it is the most common one here. Never infer it from the narrative's register, from what was affected, or from what you know about how this kind of event usually turns out.
3. A MISSING FIGURE IS NOT A MISSING FACT. If the report says a written limit for the step was gone outside or was exceeded, `spec_exceeded` is 'exceeded' WHETHER OR NOT the operator recorded by how much. An excursion with no number against it is still a stated excursion.
4. `severity` IS DECIDED ONLY BY THE RUBRIC BELOW, from `spec_exceeded` and `product_impact`. Work through the four steps IN ORDER and STOP at the first that fires:
a. spec_exceeded 'exceeded' -> 'major'.
b. product_impact 'impacted' -> 'major'.
c. product_impact 'not_impacted' -> 'minor'.
d. anything else -> 'not_determined'.
5. A QUALITY-UNIT NOTE SAYING WHAT SOMEBODY ALREADY THINKS THE CLASS IS, IS NOT A FACT. Some of these reports carry one and it is right about as often as it is wrong. It never moves `severity`.
6. `recurrence` IS ABOUT THIS LINE AND THIS EQUIPMENT. A record of a similar event on a different line is not this line's history and does not make this 'repeat'. And a report that does say it has happened here before often says so in one offhand clause in the middle of the narrative, with no heading over it -- read the whole report, not only the observations.
7. `follow_up` IS DECIDED ONLY FROM `recurrence`: 'repeat' -> 'investigation', 'first_occurrence' -> 'local_record', 'not_stated' -> 'not_determined'. It is asked independently of the severity call.
8. 'not_determined' IS A REAL ANSWER AND YOU ARE EXPECTED TO USE IT. A worksheet that never reaches for it is guessing, and a class recorded as settled is a class nobody re-reads.
9. Copy `deviation_id`, `event_label` and `affected` verbatim from the report. Use the exact allowed value for every field that lists them, and return every field.
TRIAGE RUBRIC (the authority for `severity` and `follow_up`; this is an ILLUSTRATIVE rubric written for this kit, and it reproduces no GMP regulation, no regulator's guidance and no company's quality manual)
WHAT IS BEING CLASSIFIED HERE
- One report describes one event, and the worksheet carries one row for it.
- The three stated facts are readings of the REPORT, not judgements about the event. If the report does not say whether product was affected, the reading is `not_stated` - that is a finding about the paperwork and it is the most common one here.
- A quality-unit note in the report saying what somebody already thinks the class is, is NOT a fact this rubric reads. It is somebody's opinion recorded on the same page, and it is right about as often as it is wrong.
- A record of a similar event on a DIFFERENT line or a different piece of equipment says nothing about whether THIS event has happened before. Recurrence is about this line.
TONE IS NOT A FACT
SEVERITY COMES FROM THE STATED FACTS AND NEVER FROM HOW THE REPORT IS WRITTEN. An operator who is worried writes an alarming report; an operator who is not writes a calm one; the same event gets both, depending on who is on shift. Words like serious, urgent, dangerous, routine, trivial and nothing-unusual are the reporter's register, not observations, and this rubric reads none of them. A report that reads alarmingly and states minor facts is minor. A report that reads calmly and states an excursion is major.
THE THREE STATED FACTS, read off the report
product_impact:
impacted the report states that product or material in process was affected by the event
not_impacted the report states that no product or material was affected - because none was present, or because the report says so directly
not_stated the report says neither. It describes the event and never says whether anything was affected
spec_exceeded:
exceeded the report states that a written limit for the step was gone outside, or was exceeded. THIS IS TRUE WHETHER OR NOT THE REPORT SAYS BY HOW MUCH - the extent is not a fact this rubric reads
within_limits the report states that the parameter stayed inside its written limit for the step
not_stated the report says neither. No limit is mentioned at all
recurrence:
repeat the report states that this same event has been seen on this line or this equipment before
first_occurrence the report states that nothing like this has been recorded on this line or this equipment before
not_stated the report says neither. It never mentions whether this has happened before
SEVERITY -- work through IN ORDER, stop at the first that fires
1. A STATED EXCURSION. If spec_exceeded is `exceeded`, the worksheet proposes `major`. A written limit for the step was gone outside and the report says so. THIS HOLDS WHETHER OR NOT THE REPORT RECORDS BY HOW MUCH: an operator who writes that a limit was exceeded and does not write a figure has still stated the excursion, and on this rubric the missing figure changes nothing.
2. STATED PRODUCT IMPACT. If product_impact is `impacted`, the worksheet proposes `major`. The report itself says material in process was affected.
3. STATED ABSENCE OF PRODUCT IMPACT. If product_impact is `not_impacted` and no excursion was stated, the worksheet proposes `minor`. The report says nothing was affected and names no limit that was gone outside.
4. NOTHING STATED ABOUT PRODUCT. The worksheet proposes `not_determined`. The report never says whether product or material was affected, and it states no excursion, so this rubric has nothing to class it from. THIS IS THE BRANCH A CONFIDENT READER SKIPS - the narrative usually reads either serious or trivial, and neither is a fact.
FOLLOW-UP
1. If recurrence is `repeat`, the worksheet proposes `investigation` - the rubric calls for the event to be looked into rather than corrected at the line, because the report says it has happened here before.
2. If recurrence is `first_occurrence`, the worksheet proposes `local_record` - correct it at the line and record it.
3. If recurrence is `not_stated`, the worksheet proposes `not_determined`. The follow-up question is asked of every report independently of the severity call - a report the rubric cannot class for severity may still say plainly whether the event has happened before, and one it CAN class may say nothing at all.
WHY `not_determined` IS A REAL ANSWER
A worksheet that never says `not_determined` is not a confident worksheet, it is a guessing one. The whole value of this shape is that a reviewer can see, in one column, which reports actually state what the rubric needs and which ones somebody has to walk back to the line and ask about. Over-confidence here costs more than caution: a class recorded as settled is a class nobody re-reads, and the operator who could have answered the question in ten seconds has gone home.
Return these:
- deviation_id (string) -- the deviation record identifier from the Deviation Record section, verbatim
- event_label (string) -- the one-line event description, copied verbatim from the Description line of the Event Summary section
- affected (enum) one of: product_contact_surface, equipment_only, utility_or_environment, documentation_only, material_handling -- what the report says was affected, copied verbatim from the Affected line of the Event Summary section. It is recorded because a reviewer wants it on the worksheet -- it is NOT an input to either call below
- product_impact (enum) one of: impacted, not_impacted, not_stated -- what the report STATES about whether product or material in process was affected. 'impacted' when it says material was affected, held, quarantined or segregated because of this event. 'not_impacted' when it says no material was affected, or that no product was present. 'not_stated' when the report says NEITHER -- which is the commonest reading here and is a finding about the paperwork, not a gap. Never infer this from how alarming or how calm the narrative sounds
- spec_exceeded (enum) one of: exceeded, within_limits, not_stated -- what the report STATES about a written limit for the step. 'exceeded' when it says a limit was gone outside or was exceeded -- THIS IS TRUE WHETHER OR NOT THE REPORT SAYS BY HOW MUCH, and a missing figure does not turn it into 'not_stated'. 'within_limits' when it says the parameter stayed inside its limit. 'not_stated' when no limit is mentioned at all
- recurrence (enum) one of: repeat, first_occurrence, not_stated -- what the report STATES about whether this same event has been seen on THIS line or THIS equipment before. 'repeat' when it says it has, wherever in the report that sentence sits -- it is often one clause at the end of the narrative rather than a heading of its own. 'first_occurrence' when it says nothing like it has been recorded here before. 'not_stated' when the report says neither. A record of a similar event on a DIFFERENT line is not this line's history and does not make this 'repeat'
- severity (enum) one of: major, minor, not_determined -- the worksheet's proposed severity class, decided STRICTLY by the shipped rubric from `spec_exceeded` and `product_impact` and nothing else. Work through the four steps IN ORDER, stopping at the first that fires. (1) spec_exceeded 'exceeded' -> 'major', whether or not the report records by how much. (2) product_impact 'impacted' -> 'major'. (3) product_impact 'not_impacted' -> 'minor'. (4) anything else -> 'not_determined'. HOW THE REPORT IS WRITTEN IS NOT AN INPUT: an alarming narrative over minor stated facts is 'minor', and a calm narrative over a stated excursion is 'major'
- follow_up (enum) one of: investigation, local_record, not_determined -- the worksheet's proposed follow-up, decided STRICTLY from `recurrence`: 'repeat' -> 'investigation', 'first_occurrence' -> 'local_record', 'not_stated' -> 'not_determined'. Asked of every report independently of its severity call -- a report the rubric cannot class for severity may still say plainly whether the event has happened here before
Return ONE JSON object with exactly these keys: deviation_id, event_label, affected, product_impact, spec_exceeded, recurrence, severity, follow_up
DEVIATION REPORT
----------------
Deviation Record
----------------
DEV-0042
Raised 2026-08-02 on the night shift.
Event Summary
-------------
Description: Tablet press tooling loosened during compression
Area: Line 2, Suite J
Equipment: TB-092
Affected: product_contact_surface
Detected: at line clearance
What Happened
-------------
Small thing, but the procedure says write it up, so here it is. Tooling on TB-092 worked loose
part way through the compression run. The press was stopped from the panel and the tooling was
re-seated by engineering. Two of us were standing at the line when it happened. I would not have
written it up at all if the procedure did not say to.
Observations Recorded At The Line
---------------------------------
The sheet from the line has been filed with this record.
Shift supervisor told at the line.
The reading went outside the written limit for the step by 3.1 degrees before it came back.
Quality Unit Log
----------------
Quality unit view at the line was that this is a major event.
Closing Note
------------
Recorded for the quality unit's review. No classification has been made on this page and no
batch decision follows from it.