As you probably learned in high school, John Adams insisted that a republic had to be “a government of laws, and not of men.” But as a new Senate report on President Donald Trump’s efforts to enlist the Department of Justice in his attempt to overturn the 2020 election shows, the law by itself was not sufficient to prevent the coup Trump wanted to carry out.

The law was an impediment, to be sure. But what we learn from the new report is this: Trump did successfully install some people within the government willing to betray their country and everything it is built on, but ultimately failed because he didn’t have enough of them and ran out of time.

It is not an encouraging conclusion to reach, particularly if you consider that Trump could well run for president again in 2024, and could even win.

The report contains new details based on interviews with former Justice Department officials who witnessed the coup attempt. It tells how Trump allies like Rep. Scott Perry (R-Pa.) and Pennsylvania state Sen. Doug Mastriano were in regular contact with Trump in the days after the election and made their own attempts to pressure department officials.

It describes how Trump pushed out a U.S. attorney in Georgia who he felt was insufficiently willing to pursue his fantastical voter fraud claims (the U.S. attorney resigned under pressure before Trump could fire him). And it describes wildly inappropriate efforts by White House Chief of Staff Mark Meadows to enlist the Justice Department to convince states to nullify election results.

But most shocking is the story of Jeffrey Clark, the acting head of the department’s civil division. Despite having no authority over election law, he held meetings and conversations with the president about the election behind the back of Acting attorney general Jeffrey Rosen at the end of December and the beginning of January.

Things intensified when Clark presented Rosen and his deputy, Richard Donoghue, with a letter that he wanted them to sign, urging state legislatures to hold special sessions for the purpose of replacing legally appointed slates of electors with new slates, with the clear implication that Trump would then be declared the winner.

When Rosen was appalled and disgusted by Clark’s letter, Clark’s response was basically extortion. He told Rosen that Trump had suggested to him that Trump could fire Rosen and install Clark in his place. Clark said that if Rosen signed the letter, he would turn down Trump’s offer and Rosen could keep his job.

It all came to a head at an extraordinary White House meeting on Jan. 3, with all the major players in attendance. “One thing we know is you, Rosen, aren’t going to do anything to overturn the election,” Trump said, according to Rosen’s testimony. The question being discussed was whether Trump would fire Rosen and replace him with Clark, who would then begin pressuring state legislatures to overturn their election results. Here’s what happened next:

At some point during the meeting, Donoghue ... made clear that all of the Assistant Attorneys General would resign if Trump replaced Rosen with Clark. Donoghue added that the mass resignations likely would not end there, and that U.S. Attorneys and other DOJ officials might also resign en masse.

Not only that, White House counsel Pat Cipollone and his deputy said that they, too, would resign. Cipollone called Clark’s letter to legislatures a “murder-suicide pact.” Trump backed down.

So how do you defend Trump in the face of that? The Senate Judiciary Committee’s Republican minority under the direction of Sen. Charles E. Grassley (R-Iowa) released a response so laughably indulgent of Trump’s actions that it amounts to, “Mr. Dillinger was merely trying to make a withdrawal from the bank, what is everyone getting so worked up about?”

The Republican response portrays Trump as little more than a concerned citizen hoping to clear up any questions about the election. Trump, they write, “expressed concern with ensuring that DOJ was doing its job of fully investigating allegations of election fraud so that the American people would have confidence in the results of the 2020 election.”

Why, he merely wanted to make sure Americans felt good about the election! How could anyone think otherwise?

And when confronted with the possibility of mass resignations that would eclipse the Saturday Night Massacre? “President Trump listened to his advisors, including high-level DOJ officials and White House Counsel and followed their recommendations.”

All the reporting and investigations of Trump’s coup attempt make clear that the effort to overturn the election was haphazard, ad hoc and at times deeply stupid, yet at the same time utterly terrifying. It’s a good lesson: The people who do the most damage to our country and democracy aren’t necessarily brilliant supervillains.

Sometimes calamity occurs because a bunch of scoundrels and fools were presented with an opportunity to do their worst. And in this case, those scoundrels and fools were stopped only because some other people managed to find an ounce or two of courage.

They are not heroes. They went to work for Trump knowing full well who he was. But at that moment, they were unwilling to cooperate in a coup, and their resistance deprived it of a key element it needed.

The Judiciary Committee recommends strengthening rules that govern the relationship between the White House and Justice Department to make another attempted coup less likely in the future. But it’s clear that to the Trump administration — and perhaps to future administrations — the rules didn’t matter. All that leaves us with is the person of the president, and the people he appoints.

Which makes you wonder what will protect us if Trump, or someone like him, becomes president again.