Today is unlikely to be remembered as a particularly bleak day in the annals of Australian politics. Oh, but it was. Only last week there were congratulations galore as the Senate passed the marriage bill. It was, we were told, parliament at its best. Well, today was parliament at its worst.

Labor’s faults were probably the most embarrassing. After Bill Shorten had spent months reassuring voters that Labor’s citizenship-checking processes were watertight, it was revealed last night that Victorian MP David Feeney could not be sure of his British citizenship status. Shorten has been on top politically for so long that when he slipped, he was bound to cop it. This is not unjust because it is the precise method Shorten has employed to get to that position – pressing relentlessly for political advantage and refusing to yield an inch – that today hurt him. In August, Shorten had declined Malcolm Turnbull’s invitation to refer his MPs, alongside Coalition MPs, to the High Court, telling the PM that Labor had the “strictest processes in place to ensure all candidates are compliant with the Constitution prior to their nomination for election”. Today, Labor was pushing for exactly such a joint referral.

To be fair to Labor, it does appear that its processes were fairly good. There are other opposition members who have been swept up in the mess, such as Justine Keay, but they at least attempted to renounce their citizenship – with the other countries in question not confirming in time – and are therefore claiming they meet the test of having taken “reasonable steps”. But those MPs too should be referred to the court because the obvious truth is that nobody except the High Court can tell us what the law is. Labor reached that conclusion today but it took the party too long to get there, with the result that the opposition has looked overly political and forfeited any advantage Shorten gained by calling for an audit before Turnbull did.

The government’s behaviour, though, was worse.

I could not believe the adulation being shown to Barnaby Joyce, who was greeted with a standing ovation from his own side and whose presence clearly cheered the prime minister. Yes, Joyce won a byelection – an unnecessary byelection caused by nobody but him (a point I was reminded of by Fairfax’s Stephanie Peatling), and which, before Saturday, had caused the government significant damage. His colleagues should in fact be furious with him. Just before it emerged that he was a dual citizen, he was still ridiculing the possibility on national television. Even worse: Malcolm Turnbull today lauded Joyce and other Coalition members for doing the right thing. But Joyce stayed in cabinet, even though he later admitted he’d suspected he wasn’t eligible, and John Alexander stayed quiet, or didn’t lift a finger, for months. It is indulgent, misguided self-congratulation like this that justifies the public’s very low opinion of our politicians.

(And while we’re on the subject of MPs saying things that are simply not true, we should not forget that Christopher Pyne, in justifying the delay of parliament a few weeks back, was definitive in saying Barnaby Joyce would not be back in parliament this week.)

Parliament today was very far from its usual tedium. Labor’s questions were sharp and clear, with one aim: to convince the prime minister he had no choice but to refer any of his MPs who had not publicly furnished documentation proving they had no citizenship problem. In return, Turnbull was confident and prepared; often you can say only one of those things.

But Turnbull’s attitude on this, too, was egregious. “Tit for tat is no substitute for justice,” he lectured Labor, when tit for tat is precisely what he is engaging in. Having endured uncertainty because of Joyce and Alexander, no doubt furious that Shorten has been able to wait until now to see his MPs under pressure, Turnbull is in a mood to punish.

By now, the principles that pertain to this citizenship circus should be clear to everyone. First, given we have witnessed so many reversals, no MP can be taken at their word on this issue. If complete documentation has not been provided, then we are in the dark on their status. Second, everybody should stop talking about legal advice, either claiming that they have it or arguing for its release. It is worthless in this matter, and has been proved so in the High Court. Third, and most important, we are in a unique situation in which a massive systemic problem has been brought to light. Labor’s reasonable-steps MPs may well prove to be fine; the Coalition MPs under a cloud for not providing documents may not be dual citizens at all. At another time these arguments could perhaps be made. But at this point, in this parliament, everything must be done to bring this matter to an end. That means everyone goes to court, and the judges can sort it out.

(For the record, I can see an argument for excluding Josh Frydenberg alone, on the grounds that decency should occasionally play a role in parliament.)

By now, every significant party has proved it is vulnerable on this issue. The time for politics has passed. If there remains the slightest skerrick of doubt around anyone, it should be resolved. Over the past months, and again today, we have seen too many politicians clinging to moral high ground to which they have no claim. All attempts to smear others, all attempts to clap colleagues on the back: at this point they are a farce, and look it. It is time for the parliament to stop embarrassing itself. Fix this mess.