fix(evidence): expose standard evidence error contract - #157
Conversation
|
Warning Review limit reached
Next review available in: 13 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Buyer/reliability gap
originweave-evidence::EvidenceErroris a public validation failure type used by network and provenance evidence construction, but protected main0c376acf059be9ddddddfbde1d0189e4f39ef014does not implement RustDisplay/std::error::Errorfor it. Callers therefore cannot render or chain this stable typed failure through ordinary Rust error boundaries without special-case matching.Test-first evidence
This PR is based directly on protected main
0c376acf059be9ddddddfbde1d0189e4f39ef014.70b900d337be10ee6fa5b2fbbca2c4b9a65b0142first failed only atcargo fmt --check, so that run was not accepted as RED.b951f6863a4abc1308ebada86299f8a0a341def8reached the intended compile boundary: the new integration test could not callto_string()orError::source()becauseEvidenceErrorlackedDisplayandstd::error::Error. This is the valid RED.f151c24ec4bd6206891236f574d9c1063d9594d0added only deterministic credential-safeDisplaytext for the five existing variants plusimpl std::error::Error for EvidenceError {}. Exact-head Rust contracts and production coverage both passed, including the repository's exact owned production function/line/region/branch coverage gate.ab90ff5013bf1dfa4002de17816cafe3b86f156aadds the required canonical changelog entry. Exact-current-head CI run31825085853, SAST Semgrep run31825085856, and Security Scan run31825085880are all completed successfully.The regression also requires
Error::source()to remain empty for every current variant.Scope boundary
This lane changes no evidence validation rule, redaction behavior, network capture, provenance data, persistence, retention, policy, workflow, or secret handling. The production remedy is limited to the standard Rust error contract for the existing five public variants.
Live review state
This PR is Ready for review and mergeable on exact head
ab90ff5013bf1dfa4002de17816cafe3b86f156a. There are currently no formal reviews or unresolved review threads. Passing automation is not independent approval; protected-main governance still requires an eligible independent approval and latest-push approval, and the scheduled actor does not merge or self-approve.