Source: Teach pendant / robot log extract (anonymized cell)
Filter: payload, inertia, following error, speed override
Reader note: this is a log, not a tuning sermon
12:01:14 PAYLOAD SET m=4.2 kg (comment: "temp gripper")
12:01:22 INERTIA default (unchanged)
12:18:03 SPEED 100% production try
12:18:11 FOL_ERR Axis J5 (recoverable)
12:18:11 OP "increase gain?"
12:19:40 GAIN +15% (unauthorized)
12:19:55 FOL_ERR J5 again + J4
12:20:02 E-STOP
Interpretation block (written after the fact)
EOAT was revision B (heavier jaws). Pendant still carried revision A mass. Inertia left at default. Following error was honesty. Gain bump was denial.

If mass is wrong, every gain story is fan fiction.
Earlier same shift (missed)
09:14:02 TOOL CHANGE EOAT-B installed
09:14:10 CHECKLIST "payload updated?" → blank
09:14:11 RELEASE to production queue
Blank checklist boxes are how logs become scrap.
Required log events going forward
| Event | Must write | Block if missing | | --- | --- | --- | | EOAT install | mass + inertia ID | yes | | Path release to takt | teach@100% proof | yes | | Gain change | MoC ID | yes | | Following error | payload dump snapshot | yes |
Contra-log (what we will not do)
- “Tune it out” before weighing EOAT
- Copy gains from a sister cell with different tooling
- Treat pendant comments as CMMS

Scales are cheaper than servo funerals.
Adjacent fences
Commissioning punch lists own open safety items. Dress-pack / grease guides own cable and seal environment. Tool-changer briefs own dock air. Muting protocols own scanner proofs. None of them own payload/inertia truth in the motion model. Do not raise gains to hide a heavier jaw.
Final log line
13:02:44 PAYLOAD SET m=6.1 kg inertia=EOAT-B
13:03:10 SPEED 100% FOL_ERR clear
13:03:11 NOTE "gain reverted; physics restored"
