pub fn verify_extra_scoped(
repo: &Path,
scope: &Path,
base: Option<&str>,
extra_scopes: &[PathBuf],
excludes: &[PathBuf],
) -> Result<Verification>Expand description
Verify the e2e decision at repo, joining extra scopes outside scope
into what counts as scoped source.
With base, both checks are content diffs of <base>...HEAD, read from
the merge base — indifferent to commit identity, so rebases and squash
merges never disturb a receipt:
- A branch whose diff leaves the scoped source untouched owes no decision
and passes. The scoped source is the union of
scopeand every repo-root-relativeextra_scopesentry (a shared source tree beside the package — a native core bound into several bindings — which noscopeat-or-belowrepocan reach), minus theexcludes(feature-gated subtrees compiled out of the package). Receipts and the retired single-file attestation are never scoped source. - Otherwise the branch passes when its diff adds or updates a receipt
under
repo’s receipts directory. A deletion (the prune) is not a decision.
Without base there is no branch diff to read, so presence is the check: a
committed receipt at repo passes.