I would be inclined to set found = false; first thing inside this block, to make clear that we need to establish that stuff is found.
Then set found = true; at the start of each of the type-cases that does some actual scanning and leave found alone in the other branches.  (That would kill the else clause of bundle_tags.)
However, this is a personal preference, not a big deal.