Personally I think there should be escalating punishments for crimes to avoid the "350th burglary" and I thought often history was taken into account but I don't know California or San Francisco's laws. So, first time caught shoplifting should be a fine, second should be community service, third some jail, fourth could be more jail, etc. That doesn't really address the danger involved in actually catching a shoplifter. You really just need more police or a way to recognize shoplifters (facial recognition?) at that point so that regular individuals don't have to become enforcers of the laws. It seems most of the tools that could be most effective are being banned or defunded in certain areas of the US. There should be ways to account for false positives, such as confirming a facial recognition software's results, that the person actually was in the area etc.