All nodes bootstrap properly and reach 100%, the authorities both manage to vote and exchange information. Also the relays and the client bootstrap to 100%.
When are these messages logged?
Nevertheless, the consensus seems to lack relays with guard flags:
Feb 12 10:35:56.000 [notice] I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 2/2,
This log message says that there are only 2 nodes in the consensus at that time.
and can only build 0% of likely paths. (We have 0% of guards bw, 100% of midpoint bw, and 100% of end bw (no exits in consensus,
This log message say that there are no exits in the consensus at that time.
using mid) = 0% of path bw.)
Because of this, no default circuits can be built in the client or the relays
When there are only 2 nodes in the network, you can't build a 3-hop path.
in all logs the following message appears every second:
[warn] Failed to find node for hop #1 of our path. Discarding this circuit.
…
In the data_dir/state file I see several guard entries:
Guard in=default rsa_id=[...] nickname=auth01 sampled_on=2019-01-17T18:33:12 sampled_by=0.3.5.7 listed=1
Guard in=default rsa_id=[...] nickname=relay03 sampled_on=2019-01-22T17:17:10sampled_by=0.3.5.7 unlisted_since=2019-01-27T11:00:36 listed=0
Guard in=default rsa_id=[...] nickname=relay02 sampled_on=2019-01-24T22:19:10sampled_by=0.3.5.7 unlisted_since=2019-01-29T09:08:59 listed=0
Guard in=default rsa_id=[...] nickname=relay03 sampled_on=2019-02-06T21:07:36sampled_by=0.3.5.7 listed=1
Guard in=default rsa_id=[...] nickname=relay05 sampled_on=2019-01-27T16:37:38 sampled_by=0.3.5.7 listed=1
The state file says that there were some nodes in some previous consensuses. None of these nodes come from the current consensus at the time of your log messages.
The client also seems to receive a complete consensus, at least all fingerprints of my setup show up if I fetch the file manually.
How do you fetch the file manually, and from where?
I'm not sure what is happening here. It looks like some consensuses only have 2 nodes. But other consensuses have most of the nodes.
You might have a bug in your network setup, or you may have found a bug in Tor.
The most likely explanation is that you had a working network at some time, which gave you the state file. And you had a failed network at some time, which gave you the log messages.
I suggest that you start again with the same config, but remove all previous state.
(Move the cached state, consensuses, descriptors, and log files somewhere else. Do not remove the keys.)
Then you'll know if your current network actually works.