fix(core): expose standard origin error contract - #164
Conversation
|
Warning Review limit reached
Next review available in: 27 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/API gap
Origin::parseis a foundational trust-boundary API, but protected main's publicOriginErrorcannot participate in Rust's standardstd::error::Errorecosystem or render a deterministic operator-facing message. Callers must special-case it or erase useful typed context at integration boundaries.Test-first proof
This PR starts from exact protected main
0c376acf059be9ddddddfbde1d0189e4f39ef014.Exact test-only head
2b8ca965323faf8a096c0594140ef19ec95f85feadded the public integration contract first. CI run31854093641, Rust job94935430657, reached the intended semantic RED after repository contracts and rustfmt passed: E0277 provedOriginError: std::error::Errorwas unsatisfied; E0599 provedDisplay/to_string()andsource()were unavailable.Root-cause remedy
The production change is intentionally narrow: exhaustive credential-free
fmt::Displaymessages plusimpl std::error::Error for OriginError {}. It does not alter origin parsing, validation, network, policy, secret, persistence, or workflow behavior. The separate port-syntax defect remains owned by #158.The first production GREEN attempt at
1e82937f75dad7a484a923cc476e3ed3d123ec4cfailed only the canonical rustfmt boundary. Exact CI run31854290135, Rust job94936028331, showed repository contracts passing beforecargo fmt --all -- --checkidentified two layout-only diffs in the newDisplaymatch. The canonical formatting artifact was applied. A subsequent compare detected one unrelated documentation-line drift introduced by the file update; that no-op/remedy defect was removed before final verification.Exact-head proof
Final exact head:
ff8b4747adcee0f69100c83f78731c34b74a75af.31854621069: success. Rust contracts, formatting, workspace check/tests, strict Clippy, rustdoc, and exact production coverage all passed.94936904605: success; exact production function, line, region, and branch coverage enforcement passed.31854621078: success.31854621146: success.31854621049: success.coverage-evidence,coverage-source-tree,opencode-review,noema-review, dependency review, OSV/Trivy/Scorecard, and bootstrap checks on this exact head completed successfully. Conditional maintenance jobs that are not applicable to an open source PR remain skipped and are not counted as passing evidence.OriginErrorcontract, and its integration test.Scope boundary
This PR adds only the standard public origin-error contract and its test/documentation evidence. It does not modify #158's parser semantics or any external repository/workflow.
The scheduled actor does not merge or self-approve. Repository governance still requires an independent approval before integration.