Skip to content

fix(core): expose standard origin error contract - #164

Open
seonghobae wants to merge 6 commits into
mainfrom
fix/core-origin-error-contract
Open

fix(core): expose standard origin error contract#164
seonghobae wants to merge 6 commits into
mainfrom
fix/core-origin-error-contract

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Buyer/API gap

Origin::parse is a foundational trust-boundary API, but protected main's public OriginError cannot participate in Rust's standard std::error::Error ecosystem 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 2b8ca965323faf8a096c0594140ef19ec95f85fe added the public integration contract before production support. CI run 31854093641, Rust job 94935430657, reached the intended semantic RED after repository contracts and rustfmt passed: E0277 proved OriginError: std::error::Error was unsatisfied; E0599 proved Display/to_string() and source() were unavailable.

Root-cause remedy

The production change is intentionally narrow: exhaustive credential-free fmt::Display messages plus impl 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 1e82937f75dad7a484a923cc476e3ed3d123ec4c failed only the canonical rustfmt boundary. Exact CI run 31854290135, Rust job 94936028331, showed repository contracts passing before cargo fmt --all -- --check identified two layout-only diffs in the new Display match. 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 is 3172883992f1fd5d456a40e1a5b826fc67dc02c6.

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, and crates/originweave-core/tests/origin_error_contract.rs.

On unchanged exact head 3172883992f1fd5d456a40e1a5b826fc67dc02c6:

  • CI run 31988134995: success;
  • Rust contracts job 95266631631: repository contracts, canonical formatting, locked workspace check, full tests, strict Clippy, and rustdoc success;
  • Production coverage job 95266631608: exact owned-production function, line, region, and branch measurement/enforcement success;
  • SAST Semgrep run 31988134953: success;
  • Security Scan run 31988134945: success;
  • Manifest V3 Compatibility run 31988134959: success;
  • GitHub reports the PR open, Ready, and mergeable against exact current protected main;
  • formal reviews currently returned: none; and
  • inline review threads currently returned: none.

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.md govern integration; missing qualifying independent approval blocks only merge, not source verification or other repository work.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7b7b01f0-9ec4-4b96-af29-f6a32b8c49cb


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae marked this pull request as ready for review August 15, 2026 00:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant