Shop floor: maintenance tickets with an audit trail
User: the maintenance planner of a machining plant. Problem: machine alarms turn into tickets by
hand, late, and nobody can later prove which system produced which advice. SIMON: the plant's monitoring
rules flag a machine; Gemma 4 drafts the technician ticket on the plant's own GPUs or on AMD Instinct cloud
GPUs; every ticket carries a signed receipt from the GPU node that wrote it.
1 · Rules decide Deterministic physics thresholds flag the risk and the failure mode. The language model never decides whether a machine is at risk.
2 · Gemma drafts & triages Gemma 4 26B-A4B writes the title and summary and picks inspection steps by ID from a fixed catalog per failure mode. It never writes a step itself.
3 · M7 Capability Ceiling Exact fields, steps from catalog, no shutdown instructions. Actions gated pending an Ed25519 operator capability grant token.
4 · Signed Receipt The SIMON node signs the exact ticket text. Re-verified below in your browser offline via WebAssembly.
published (passed every check)
14/15
median time per ticket
1.6 s
records in the predeclared sample
18
GPU nodes in this run
AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)
RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)
Live Cryptographic Audit & M7 Capability Grant Explorer
Proves signer key and exact text; does not prove which model weights executed.
Tickets
record 4362 · M19221 · rules: HDF
checking receipt…
Heat dissipation inspection required for record 4362
The heat dissipation rule (HDF) has been triggered due to low temperature difference and rotational speed. Please inspect the cooling system components.
Check the cooling air flow at the spindle housing (fans, filters, ducts) HDF-1
Inspect cooling fins and heat exchanger surfaces for dust or blockage HDF-2
Compare the air and process temperature sensors against a reference thermometer HDF-3
urgency: inspect before next shift · evidence: 8.0 K at 1379 rpm
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1260 ms
record 4082 · L51261 · rules: HDF
checking receipt…
Heat dissipation issue on machine 4082
The heat dissipation rule HDF was triggered due to a temperature difference of 8.4 K at 1336 rpm. Please perform the required inspections to ensure cooling efficiency.
Check the cooling air flow at the spindle housing (fans, filters, ducts) HDF-1
Inspect cooling fins and heat exchanger surfaces for dust or blockage HDF-2
Compare the air and process temperature sensors against a reference thermometer HDF-3
urgency: inspect before next shift · evidence: 8.4 K at 1336 rpm
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · model gemma-4-26b-a4b-it-bf16 · 1620 ms
record 4545 · L51724 · rules: HDF
checking receipt…
Heat dissipation inspection required for record 4545
The heat dissipation rule (HDF) has been triggered due to low temperature difference and rotational speed. Inspect the cooling system to ensure proper thermal management.
Check the cooling air flow at the spindle housing (fans, filters, ducts) HDF-1
Inspect cooling fins and heat exchanger surfaces for dust or blockage HDF-2
Compare the air and process temperature sensors against a reference thermometer HDF-3
urgency: inspect before next shift · evidence: 7.9 K at 1349 rpm
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1335 ms
record 2126 · L49305 · rules: PWF
checking receipt…
Power output exceeds threshold on machine 2126
The power consumption was measured at 9143 W, which is outside the specified range of 3500-9000 W. Please investigate the cause of this deviation.
Check spindle motor current and torque against the drive's rated values PWF-1
Inspect the cutting tool and workpiece clamping for binding or slip PWF-2
Review the cutting parameters (speed, feed) of the current job with the process engineer PWF-3
urgency: inspect before next shift · evidence: 9143 W
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · model gemma-4-26b-a4b-it-bf16 · 1841 ms
record 1145 · L48324 · rules: PWF
checking receipt…
Power consumption exceeds limit on machine 1145
The measured power of 9378 W is outside the specified 3500-9000 W range. Please investigate the power deviation during the current process.
Check spindle motor current and torque against the drive's rated values PWF-1
Inspect the cutting tool and workpiece clamping for binding or slip PWF-2
Review the cutting parameters (speed, feed) of the current job with the process engineer PWF-3
urgency: inspect before next shift · evidence: 9378 W
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1321 ms
record 7012 · L54191 · rules: PWF
checking receipt…
Power output deviation on machine 7012
The measured power of 3364 W is outside the required range of 3500-9000 W. Please investigate the power discrepancy.
Check spindle motor current and torque against the drive's rated values PWF-1
Inspect the cutting tool and workpiece clamping for binding or slip PWF-2
Review the cutting parameters (speed, feed) of the current job with the process engineer PWF-3
urgency: inspect before next shift · evidence: 3364 W
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · model gemma-4-26b-a4b-it-bf16 · 1674 ms
record 7760 · L54939 · rules: OSF
checking receipt…
Overstrain detected on record 7760
The rule 'tool wear x torque > 11000 min*Nm (type L)' has triggered an overstrain finding. Measured value is 11722 min*Nm.
Measure the cutting tool's wear and compare it with the replacement criterion OSF-1
Review the torque load of the last jobs for overload OSF-2
Inspect the tool holder and spindle bearings for play or vibration OSF-3
urgency: inspect before next shift · evidence: 11722 min*Nm
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1557 ms
record 9823 · L57002 · rules: OSF
checking receipt…
Overstrain detected on machine 9823
The tool wear and torque combination has exceeded the threshold for type L machines, resulting in a measured value of 11388 min*Nm. Please perform the required inspections to assess the risk.
Measure the cutting tool's wear and compare it with the replacement criterion OSF-1
Review the torque load of the last jobs for overload OSF-2
Inspect the tool holder and spindle bearings for play or vibration OSF-3
urgency: inspect before next shift · evidence: 11388 min*Nm
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · model gemma-4-26b-a4b-it-bf16 · 1435 ms
record 7927 · L55106 · rules: OSF
checking receipt…
Overstrain detected on record 7927
The tool wear and torque combination has exceeded the threshold for type L machines. Please investigate the tool wear and torque load to prevent potential failure.
Measure the cutting tool's wear and compare it with the replacement criterion OSF-1
Review the torque load of the last jobs for overload OSF-2
urgency: inspect before next shift · evidence: 11077 min*Nm
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1374 ms
record 7507 · L54686 · rules: TWF
checking receipt…
Tool wear detected on machine 7507
Machine 7507 is in the failure zone for tool wear with a measured value of 205 min. Plan a tool change accordingly.
Measure the tool's flank wear and plan the tool change TWF-1
Confirm a replacement tool of the right type is in stock TWF-2
Record the tool's run time in the tool log TWF-3
urgency: plan tool change · evidence: 205 min
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · model gemma-4-26b-a4b-it-bf16 · 1520 ms
record 7505 · L54684 · rules: TWF
checking receipt…
Tool wear detected on record 7505
Tool wear has reached 201 min, which is within the failure zone (200-240 min). Plan a tool change accordingly.
Measure the tool's flank wear and plan the tool change TWF-1
Confirm a replacement tool of the right type is in stock TWF-2
Record the tool's run time in the tool log TWF-3
urgency: plan tool change · evidence: 201 min
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1368 ms
record 4383 · L51562 · rules: TWF
checking receipt…
Tool wear detected on machine 4383
Machine 4383 shows tool wear at 227 min, which is within the failure zone of 200-240 min. Plan a tool change accordingly.
Measure the tool's flank wear and plan the tool change TWF-1
Confirm a replacement tool of the right type is in stock TWF-2
Record the tool's run time in the tool log TWF-3
urgency: plan tool change · evidence: 227 min
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · model gemma-4-26b-a4b-it-bf16 · 1635 ms
record 8927 · M23786 · rules: PWF + OSF + TWF
checking receipt…
Maintenance Required: Record 8927 - Power, Overstrain, and Tool Wear
Machine 8927 shows power levels above 9000 W and overstrain detected. Tool wear has entered the failure zone (207 min).
Check spindle motor current and torque against the drive's rated values PWF-1
Measure the cutting tool's wear and compare it with the replacement criterion OSF-1
Measure the tool's flank wear and plan the tool change TWF-1
urgency: inspect before next shift · evidence: 9106 W, 12337 min*Nm, 207 min
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1654 ms
record 6256 · L53435 · rules: OSF + TWF
checking receipt…
Inspection required for record 6256: Overstrain and Tool Wear
Machine 6256 shows overstrain (11689 min*Nm) and tool wear (204 min) exceeding thresholds. Inspect tool wear and plan for tool replacement.
Measure the cutting tool's wear and compare it with the replacement criterion OSF-1
Review the torque load of the last jobs for overload OSF-2
Measure the tool's flank wear and plan the tool change TWF-1
Confirm a replacement tool of the right type is in stock TWF-2
urgency: inspect before next shift · evidence: 11689 min*Nm, 204 min
signed by 0cb2fad7…25d17d (RTX 3090 · Poland · Gemma 4 QAT q4_0 (llama.cpp)) · model gemma-4-26b-a4b-it-qat-q4_0 · 1890 ms
Held for review (not published)
These drafts failed a check, so they go to a person instead of the technician. The signed draft stays in the audit trail.
record 2495 · L49674 · rules: OSF + TWF
checking receipt…
held: urgency in free text: 'Immediate'
draft summary: “Machine 2495 shows signs of overstrain (11095 min*Nm) and tool wear (207 min). Immediate inspection of tool wear and torque loads is required.”
signed by 10391fe9…d192e1 (AMD Instinct MI300X · Atlanta · Gemma 4 BF16 (vLLM)) · rules said: inspect before next shift, plan tool change
What the rules miss (no ticket)
Labelled failures in the sample that no rule flags, so no ticket was written. Shown on purpose: the pipeline is only as good as the plant's rules.
record 6479 · L53658 · labelled failure: none labelled · 145 min tool wear, 5068 W, Δt 9.3 K
record 4685 · M19544 · labelled failure: none labelled · 101 min tool wear, 6667 W, Δt 8.2 K
record 2750 · M17609 · labelled failure: none labelled · 179 min tool wear, 5099 W, Δt 9.5 K
Read this before trusting it
Data: AI4I 2020 Predictive Maintenance (UCI, CC BY 4.0): 10,000 synthetic records modelled on a real milling machine. Its failure labels follow published physics, so our rules catch 321 of 339 labelled failures here; that is the dataset's design, not a result to quote for a real plant.
Gemma's role is the ticket text, not the diagnosis. Inspection steps come only from the plant's catalog; evidence is copied from the rules by code. What the checks cannot judge is the meaning of the short free-text summary, so a technician reviews every ticket. The stress cases, including that known limit, run in CI: tools/simon-industry/stress_corpus.json.
A receipt (proof level 0) proves which node's key signed this exact ticket. It does not prove which model ran; see the demo and network pages.
The sample (18 records, fixed seed, stratified by rule outcome) was chosen in code before any model output was seen: tools/simon-industry/tickets.py.