This Jan. 18, a day after BuzzFeed News reported that Michael Cohen told prosecutors that the president had directed him to lie to Congress, the special counsel’s office issued a vague but forceful rebuttal of our story.

"BuzzFeed's description of specific statements to the Special Counsel's Office, and characterization of documents and testimony obtained by this office, regarding Michael Cohen's Congressional testimony are not accurate,” Robert Mueller’s spokesman, Peter Carr, said.

Our reporters went back to the two senior law enforcement sources who had told them, as the article put it, that “Donald Trump directed his longtime attorney Michael Cohen to lie to Congress about negotiations to build a Trump Tower in Moscow, according to two federal law enforcement officials involved in an investigation of the matter.” The sources confirmed the story, again.

What exactly was Carr’s statement disputing? Which description, and which characterization? The special counsel’s office never explained, so we have been trying to report it out.

Today, with the release of the Mueller report, we know which characterization Carr was disputing: Specifically, that the series of interactions between Trump, Cohen, and their lawyers did not, in the prosecutors’ view, amount to Trump “directing” Cohen to lie.

As Mueller’s team wrote in the report: “While there is evidence ... that the president knew Cohen provided false testimony to Congress ... the evidence to us does not establish the president directed or aided Cohen's false testimony."

As a matter of what constitutes a crime, Mueller has the last word, and his characterization has the force of law. (We’ll be updating our original story with a link to this piece.)

But that isn’t the only question. So I’d also like to share an accounting of how we came to our characterization, to give our audience and people who reasonably raised questions about our reporting as much information as possible about how the story came to be.

Our story was based on detailed information from senior law enforcement sources. That reporting included documents — specifically, pages of notes that were taken during an interview of Cohen by the FBI. In those notes, one law enforcement source wrote that “DJT personally asked Cohen to say negotiations ended in January and White House counsel office knew Cohen would give false testimony to Congress. Sanctioned by DJT. Joint lawyer team reviewed letter Cohen sent to SSCI about his testimony about Trump Tower moscow, et al, knowing it contained lies.”

The law enforcement source also wrote: “Cohen told OSC” — the Office of Special Counsel — “he was asked to lie by DJT/DJT Jr., lawyers.”

At the time, the sources asked reporters to keep the information confidential, but with the publication of Mueller’s report they have permitted its release.

The Mueller 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.”

Cohen has also spoken publicly in more detail about the Trump Moscow lies.

On Feb. 27, Cohen testified before a congressional committee that Trump “told” him to lie to Congress “in his way,” using a coded style of speech that Cohen said was familiar from past interactions.

Two weeks ago, Cohen’s attorneys sent a lengthy memo to lawmakers, including more than 100 pages of documentation, that stated Cohen’s false testimony was based on “Trump and associates’ overall and intense effort to persuade Cohen to commit crime of lying to congress.”

“Cohen explained that he was, in effect, instructed to lie about the January 31, 2016 date through the use of Trump code words that could only be interpreted as an instruction or ‘directive,’” the memo states, "to cover-up the fact that Cohen had been in contact with Russians during most of the presidential campaign, from the day of the Iowa caucuses, February 1, through all the primaries and caucuses and until June 2016, after Trump had become the putative Republican nominee by assembling a majority of delegates.”

The facts of Cohen’s lies and his interactions with Trump are, largely, now settled. Our sources — federal law enforcement officials — interpreted the evidence Cohen presented as meaning that the president “directed” Cohen to lie. We now know that Mueller did not.

There may still be more to learn about the evidence that was gathered, what was and was not included in the report, and how those final determinations were made. As part of that effort, BuzzFeed News has filed more than two dozen Freedom of Information Act requests relating to the Mueller investigation, and has begun to pursue them in court.