Creep is undramatic, which is why it survives. One extra contract because the setup looked clean, another because the account grew, another because the last three worked. No single step is unreasonable and the endpoint is a position nobody would have approved in advance.
It is driven by house-money-effect and by the fact that the increases are rewarded during the stretch when conditions are favourable. The bill arrives when conditions change, and it arrives at the new size.
Audit it numerically. Chart average risk per trade by week alongside the plan. Scaling should happen on a schedule with stated equity thresholds, not continuously, and the maximum should be written where you can see it.
Related: house-money-effect, revenge-size, risk-per-trade, euphoria