ReadonlycontractsOnly contracts with at least one lifecycle-relevant field set, at the contract level or on at least one variable.
ReadonlyexpiringEvery contract-/variable-level expiresAt within the configured window,
soonest-first -- see computeExpiringEntries(). file is root-relative
and POSIX-separated here, matching LifecycleModelContract.file/every
other canonical model -- unlike ExpiringEntry's own doc comment, which
describes its shape in computeExpiringEntries()'s other direct
consumers (e.g. DocumentationFindings.expiringSoon), where file
stays the absolute path renderDocs() itself expects.
Readonlyschema
The versioned, JSON-serializable root of the Lifecycle Model -- see this module's own doc comment for the full picture.