pub async fn verify_commit_with_bundle_json(
commit_text: &str,
bundle_json: &str,
pinned_roots_json: &str,
now: DateTime<Utc>,
provider: &dyn CryptoProvider,
) -> StringExpand description
Verify a raw git commit object against an identity bundle, fully stateless,
returning the tagged JSON envelope (kind: "verdict" | "error").
The bundle is attacker-controlled input: it is parsed into a
BundleTrust (freshness + RT-005 self-certification + RT-002 KEL
authentication) and is evidence only — its root must already be in
pinned_roots_json or verification refuses before any signature check.
The commit’s Auths-Id/Auths-Device trailers may only select the
bundle identity: a trailer naming any other DID cannot be resolved without
an identity store and fails closed.
Args:
commit_text: The raw git commit object (headers + message +gpgsig), exactly as produced bygit cat-file commit <sha>.bundle_json: The identity bundle JSON (fromauths id export-bundle).pinned_roots_json: JSON array of independently pinneddid:keri:roots.now: Current time, injected at the boundary.provider: Crypto provider for in-process SSH-signature verification.