pub fn report(
root: &Path,
objects: &[Object],
contract: Result<String, String>,
) -> VersionReportExpand description
The whole version answer: what is declared, whether the projection the shell tool reads states it, what the public contract requires next, and what the commits since the last release imply — as evidence.
contract is the analysis’ answer (decide says how it is used); select is the
caller that asks it, and the one every surface goes through. The last release is
crate::release::compat::last_release — the same baseline release analyze measures
from, the highest version the layer records — so the contract and the commit evidence
always measure one window. The commit inference raises that release (commits_imply).