Optional ReadonlyabandonedFrom generateUsageReport()'s result.
Optional ReadonlyartifactFrom checkEnvArtifacts()'s result. Only "stale"/"missing" findings become a Finding -- "ok" means nothing to report.
Optional ReadonlycompatibilityFrom detectCompatibilityIssues().
Optional ReadonlydocumentationFrom generateDocumentation()'s result.
Optional ReadonlydynamicFrom computeManifestChanges()'s result -- every dynamicAccess citation that's gone "stale" or "missing" since it was last acknowledged. See ADR 0037.
Optional ReadonlyexclusiveFrom detectExclusiveGroupIssues() -- kept separate from compatibilityIssues since it never sets its own code yet (ADR 0009), so this adapter synthesizes "EXCLUSIVE_GROUP_VIOLATION" for every entry.
Optional ReadonlyindeterminateFrom generateUsageReport()'s result.
ReadonlyrootEvery EvidenceReference.file below is rendered relative to this, matching every other rendered path in this package's output -- see displayPath().
Optional ReadonlyunconsumedFrom generateUsageReport()'s result.
Optional ReadonlyunresolvedFrom generateUsageReport()'s result.
Every source a buildFindingModel call can adapt, all optional -- a caller passes whichever of
generateEnvArtifacts()'smanifest/docs/usageresults it actually requested, exactly like that result's own top-level fields are each independently optional.