Also no real answer, but
it should be possible to start with some Mandarins, get them back to the draw by bying Inns, use Inns+Mandarins to buy KC+Bridges+X, buy ridiculusly many actions, and get them back to the discard by Inns. One could extend this game probably by Watchtowers. Then the whole game is how to time this to get the maximal number of turns. Using Ambassadors to get Inns/Mandarins back to the supply makes it even longer.
With a little luck you can even go infinite with Mandarin/Inn/Ambassador, have to think about it.
Ok, let's try
a) 5/2-> 10xMandarin, Inn(I,10xM) [5xC] [2xC,3xE,10xM,I]
b) IMM(2xM)->I(I,2xM) [5xC,I,2xM] [2xC,3xE,8xM,I]
c) IMM(2xM)->I(2xI,2xM) [5xC,I,2xM] [2xC,3xE,8xM,2xI]
d) IMM(2xM) -> Amb [5xC,2xI,4xM,Amb] [2xC,3xE,6xM,I]
e) IMM(2xM) -> I(3xI,6xM,Amb) [5xC,I,2xM] [2xC,3xE,8xM,2xI]
f) 4xM+Amb(I) -> nothing [5xC,I,6xM,Amb] [2xC,3xE,4xM,1xI]
g) IMM(2xM) -> I(8xM,2xI,Amb) [5xC,I,2xM] [2xC,3xE,8xM,2xI]
h) (g==e), goto f).
I=Inn, M=Mandarin, Amb=Ambassador, in brackets: Inn(discard), Amb(return). first [] discardpile, second [] drawpile.
And just another exampler how everything get's so much easier when passing to infinities. Would have wanted to figure out an optimum if the loop was not possible