Perhaps a simpler implementation would be better? If we made ingest points optionally transient. Meaning that once an ingest point is used it will be deleted, much like aliases are now for outbound streams.
This way the stream is pushed in, assigned the localstreamname associated with the transient ingest point, and then the ingest point is removed. To push again to that same name, the ingest point would need to be recreated via API.
Would this satisfy your requirements?
Bryan