Suggestions from @tacaswell (copied from Slack):
- the headers do have access to db they came from so you can dig back to get it.
- the scan numbers are not guaranteed to be unique
- If we were to come up with some other scheme for generating valid headers or finding the valid header (using search, fabricating it from a bunch of files from another facility, etc) it will just work if your functions take in headers. If they expect (db, scan_id) then we would have to also fabricate a databroker to slice into
- maintaining back-compat on header.db is going to be easier to maintain long term then making sure db[n] works, particuarly if we know the thing that needs to survive is
h.db.reg.retrieve