(Ok, this is my attempt of answering my own question based on the suggestions in the comments, full credits to @uhoh and @David-Hammen)
The main issue
As pointed out by @uhoh, the main issue here is parsing of the positional vectors. This part:
r1, r2, r3 = geocentric.position.km
Parses r1 = [r1.x, r2.x, r3.x], r2 = [r1.y, r2.y, r3.y] and r3 = [r1.z, r2.z, ...