fix(core): expose standard origin error contract - #164
Open
seonghobae wants to merge 6 commits into
Open
Conversation
|
Important Review available on request
Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 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 |
seonghobae
marked this pull request as ready for review
August 15, 2026 00:51
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
The original test-only head
2b8ca965323faf8a096c0594140ef19ec95f85feadded the public integration contract before production support. 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 and unrelated documentation-line drift was removed before verification.Current exact-head proof
Protected main is exact
0841d2ab3d8b5e60a03c0a8e818cf438e2716829. Current exact contributor head is3172883992f1fd5d456a40e1a5b826fc67dc02c6.Fresh comparison is ahead 6 / behind 0, with merge base exactly current protected main and exactly three intended paths:
CHANGELOG.md,crates/originweave-core/src/lib.rs, andcrates/originweave-core/tests/origin_error_contract.rs.On unchanged exact head
3172883992f1fd5d456a40e1a5b826fc67dc02c6:31988134995: success;95266631631: repository contracts, canonical formatting, locked workspace check, full tests, strict Clippy, and rustdoc success;95266631608: exact owned-production function, line, region, and branch measurement/enforcement success;31988134953: success;31988134945: success;31988134959: success;Any central review/check evidence not freshly returned for this exact head is absent, not passing; no predecessor-head, stale, queued, skipped, synthetic, status-only, or model-only evidence is promoted as current proof.
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. Live GitHub governance and protected-main
AGENTS.mdgovern integration; missing qualifying independent approval blocks only merge, not source verification or other repository work.