From the dawn of his presidential campaign, and especially since Robert Mueller was named special counsel, President Donald Trump has waged war on professional journalism. He has maligned the press as a den of liars and fabulists. He has applied the term “fake news” to any story or outlet that he dislikes—or that he thinks dislikes him. He has mocked “the failing New York Times” and the “Amazon Washington Post.” He has tweeted an edited video of himself wrestling and overpowering a figure with a CNN logo for a head. He has called the media the “enemy of the people.”

Trump has been adamant about discrediting the media because the media has discredited him. “I do it to discredit you all and demean you all, so when you write negative stories about me, no one will believe you,” Trump told Lesley Stahl in 2016. His scorched-earth tactics have worked, to a point. Trump’s war against journalism has energized his base and has powered his efforts to preemptively undermine the Mueller report. Now, the Mueller report is out, and the journalists who’ve spent the past several years reporting on Trump’s conduct are looking a lot better than Trump himself.

If Mueller’s report feels familiar, it’s because so many of the incidents it documents have already been reported. Take the June 2016 Trump Tower meeting between Donald Trump Jr. and a Russian lawyer who a Trump associate claimed had dirt on Hillary Clinton. When the New York Times first reported this story in July 2017, Trump Jr. claimed that the “short introductory meeting” was innocuous; in a subsequent appearance on the Fox News program Hannity, Trump Jr. called the meeting “such a nothing” and “literally just a wasted 20 minutes, which was a shame.” Sean Hannity noted that “liberals in the destroy Trump media once again have worked themselves into frenzy. They’re frothing at the mouth.”

According to Mueller’s report, the Times had it right all along: Trump Jr. had quickly responded to the potential offer of opposition research on Clinton with the words “if it’s what you say I love it,” and set about arranging a meeting. We knew this before the Mueller report was issued, because Trump Jr. released his emails after learning that the Times was about to publish them and expose the falsity of his initial story. But the extent to which the Trump campaign was eager to get its hands on this Hillary dirt was fleshed out in the Mueller report in a way that further vindicated the Times’ journalistic efforts.

Former Trump campaign official Rick Gates told Mueller’s team “that in the days before June 9, 2016, Trump Jr. announced at a regular morning meeting of senior campaign staff and Trump family members that he had a lead on negative information about the Clinton Foundation.” Former Trump lawyer Michael Cohen told the Mueller team that he “recalled being in Donald J. Trump’s office on June 6 or 7 when Trump Jr. told his father that a meeting to obtain adverse information about Clinton was going forward.” Trump has denied that he was aware of the Russian meeting, and Cohen may not be the greatest character witness. Still, if you listened to Trump Jr., you would’ve gotten the facts all wrong. If you read the Times, you would’ve had a good handle on what happened at Trump Tower.

In January 2018, to take another instance, the Times reported that Trump had ordered White House Counsel Donald McGahn to fire Robert Mueller in June 2017, only to back off when McGahn refused to do so. “Fake news, folks. Fake news. A typical New York Times fake story,” Trump responded at the time, and his cable news champions took up the same refrain. “Haven’t we had a number of these Washington Post, New York Times stories end up being debunked with their phony, you know, anonymous sourcing?” Hannity said on Fox News the night the story broke. “Yeah, these are not reliable reporters,” Hannity’s guest Gregg Jarrett replied.

The reporters were reliable. The Mueller report confirmed not just that Trump had ordered McGahn to get rid of Mueller but that he later tried to get McGahn to publicly deny the whole episode. McGahn told Mueller’s team that Trump had called him twice at home “and on both occasions directed him to call Rosenstein and say that Mueller had conflicts that precluded him from serving as Special Counsel.” McGahn did not want to do this, but Trump was insistent, “saying something like, ‘Call Rod, tell Rod that Mueller has conflicts and can’t be the Special Counsel.’ McGahn recalled the President telling him ‘Mueller has to go’ and ‘Call me back when you do it.’ ” The Times was right.

Another example: In September 2017, the Post reported that in July 2016, Paul Manafort, who was then Trump’s campaign chairman, had “offered to provide briefings on the race to a Russian billionaire [Oleg Deripaska] closely aligned with the Kremlin,” apparently as a backdoor way of settling Manafort’s personal debts. On his Fox News program the day after the Post story was published, Hannity jeered the fact that the story had appeared in “the Washington Post—you know, they have so many false reports,” and suggested that Manafort had been unfairly targeted by inquisitors intent on reading ill intent into what were likely innocuous exchanges. “ ‘How’s things going in the campaign?’ ” Hannity continued, speculating on what the correspondence between Manafort and Deripaska might have looked like. “Wow. It could’ve been as innocent as that. Do we believe that you’re innocent until proven guilty in this country? You wouldn’t know it by watching the mainstream media.”

According to the Mueller report, Deripaska had previously put money into an investment fund helmed by Manafort. The fund subsequently failed, and “litigation between Manafort and Deripaska ensued.” Rick Gates told Mueller that “Manafort thought his role on the Campaign could help ‘confirm’ that Deripaska had dropped the Pericles lawsuit.” Manafort himself told Mueller that “if Trump won, Deripaska would want to use Manafort to advance whatever interests Deripaska had in the United States and elsewhere.” In the meantime, Manafort fed a mutual acquaintance internal polling data from the campaign that he assumed would eventually make its way to Deripaska. Far from an attempt to shoot the breeze with a business contact, Manafort was clearly trying to leverage his proximity to power to the benefit of a foreign national (and Vladimir Putin ally) who held influence over him. The Post was right.

One more example. Trump and Fox News have been bashing BuzzFeed since January 2019, when Mueller’s office broke its usual silence to publicly refute a story claiming that Michael Cohen had told investigators that Trump had ordered him to lie to Congress. “A very sad day for journalism, but a great day for our Country!” Trump gloated on Twitter when Mueller’s office issued its statement. “Fake News is truly the ENEMY OF THE PEOPLE!” Hannity, naturally, depicted BuzzFeed reporter Jason Leopold as a serial fabulist and called the BuzzFeed story “a blatant effort to destroy President Trump. It’s sad.”

The Mueller report told a somewhat different story. Although Mueller was not willing to conclusively state that Trump had orchestrated Cohen’s false testimony, BuzzFeed’s Ben Smith wrote on Thursday that the report “finds that Cohen lied, that he did so at what he believed to be the president’s behest, that the president knew he was giving false testimony, and that the president’s lawyers encouraged that testimony. In his report, Mueller wrote that Trump’s attorney told Cohen to ‘stay on message, and not contradict the President.’ ” The report also noted that Cohen, whose legal bills were initially “being paid by the Trump Organization,” was told by Trump’s attorney that the support would cease “if he ‘went rogue,’ ” and that “if he stayed on message, the President had his back.”

According to the Mueller report, then, the initial BuzzFeed story wasn’t fake at all. The special counsel’s objections, it now seems, centered around dueling characterizations of “directed to lie,” a term that Mueller interpreted more literally than did the sources BuzzFeed used for its initial story. Was journalism right in this particular instance? Perhaps not. But if it was wrong, it wasn’t because anyone lied. It was because of a close judgment call, one that BuzzFeed has now explained and contextualized.

At their best, journalists are everything that Trump is not: careful with facts, cautious in their phrasing, and accountable to the truth. Are there bad, sloppy journalists? Sure. Do journalists make a lot of mistakes? Sure. But as a rule, reporters sweat over every fact and assertion in the stories they publish. They try hard to get their stories right, even as Trump and his associates falsely malign them for getting their stories wrong. There is not and has never been a media conspiracy against Donald J. Trump. The Mueller report reveals that negative coverage isn’t the product of a dishonest media vendetta against the president. It’s the result of reporters having eyes and ears.