The alert does not depend on the AI.
Material expiring in three days is a query with a date on it. Yield outside its band is a comparison. Neither should sit behind an upgrade, and here they do not.
What measures is code
Deterministic observers run on a clock. They compare a number against a band, a date against today, a count against a count. Each one raises the signal with the arithmetic attached, so you can check it by hand.
They are in every plan. An alert that only fires for customers on the expensive tier is not a safety feature, it is a sales device.
What the model does is read
The senior agent takes the signals the code raised and answers the question a query cannot: why this yield dropped across shifts, suppliers and input lots, and what to change.
It proposes. It never measures, and it never closes a phase. If a number appears in a proposal, an observer produced it.
Senior proposes. Junior answers.
AI Senior · low volume, high stakes
Costs drifting, material about to expire, a yield that fell, a process that stops more than the others. It writes a proposal with its evidence and three buttons: approve, snooze, reject. Nothing happens until one is pressed.
AI Junior · high volume, on the floor
The operator asks in their own words: which lot goes into this run, why is this batch on hold, what do I record for a short carton. It reads the same data the board shows and answers. It does not approve anything.
Four things the model will not do
It never produces a figure
Every number in a proposal came from an observer, and the proposal shows which one. A model that computes is a model you cannot audit.
It never closes a phase
Closing moves material and writes an entry. That is an action with consequences and it needs a person.
It does not learn from your rejections
Deliberately. Judgment that retrains itself on what you dismissed stops being auditable, and this one has to survive an inspection.
The observers are not wired yet
The engine is inherited from two sibling products where it runs. In scalebatch the contract observers are designed and not connected.
The part that matters runs whether or not you pay for the model.
Measurement is code and it is included. Judgment is the model, and it is the part you can switch off without losing an alert.