Unknown is a first-class result. If you always force a best guess, you will write the wrong SKU into history and then train on that mistake.
I show "not in library" with a path: create a stub, assign a temporary bin, page a lead, or park it on a hold shelf. The photo is attached to the stub so the next person is not starting from zero.
Unknown volume is a buying signal
If stubs cluster around one vendor, that vendor's inbound process is the bug. Vision just made it visible.
I do not auto-create SKUs from guesses. Creating master data is a privileged action. The app can propose. A human with context commits.
Close the loop
When the stub becomes a real SKU, old photos should join the library. That is how unknowns become knowns without a separate project.