bicycle routes on ways with no access
in OSM, there are several ways with access tags like vehicle=no, which are a part of route=bicycle relation. many of them are tagged correctly (there is traffic sign disallowing bicycles and Eurovelo sign on the same pole, police does not enforce it).
should bike routing allow usage of such ways?
I've seen vehicle=no used on multi-use-paths where bicycles are allowed. Not sure which is canonical in OSM land, but there will be unintended consequences here.
Otherwise there is a problems with paths that are fine for pedestrians but have no "yes" for bike access.
For example this here: https://www.openstreetmap.org/directions?engine=graphhopper_bicycle&route=47.0706%2C15.5292%3B47.0764%2C15.5352#map=16/47.0726/15.5364
You cannot go through the forest there and will have to go around on that road. I took a look on some commercial solutions which also are using maps based on OSM and they didn't route through the forest there, so it must be possible to do a better guess if the route is available for bikes or not.
You mean the route through the forest is not legal for bikes, or is it physically not possible to ride a bicycle there? I think this probably comes down to country-specific legislation. As far as I know riding bicycles is generally forbidden (if not allowed explicitly) on forest roads/paths in Austria.
Related: https://github.com/graphhopper/graphhopper/pull/2402
It is physically not possible for a normal biker.
https://www.openstreetmap.org/way/760029288#map=19/47.07423/15.53339
We should treat smoothness=very_horrible like smoothness=impassable for regular bikes. To quote the OSM wiki on very_horrible:
(specialized_off_road_wheels) tractor, ATV, tanks, trial, Mountain bike and all kind of off-highway
https://github.com/graphhopper/graphhopper/blob/be7b2476aaff55c7c266fd517c8cf2c37ae91b43/core/src/main/java/com/graphhopper/routing/util/BikeTagParser.java#L78-L81
I don't think that a speedfactor of 0.4 properly reflects the reality of "driving" on this kind of track:

If access is explicitly blocked then this would be rather tricky to allow this. See my comment here.