fix(core): expose standard origin error contract - #164
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough
ChangesOriginError 표준 오류 계약
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This localized change adds standard error support and deterministic messages for existing origin-validation failures without changing parsing behavior. No actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head3172883992f1fd5d456a40e1a5b826fc67dc02c6. -
Head SHA:
3172883992f1fd5d456a40e1a5b826fc67dc02c6 -
Workflow run: 32163664883
-
Workflow attempt: 1
Coverage evidence
Coverage Decision
- Result: FAIL
- Test evidence: not proven passing
- Docstring evidence: not proven passing when configured
- Failure count: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (3 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (3 files)"]
R1 --> V1["required checks"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage Decision
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (3 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (3 files)"]
R1 --> V1["required checks"]
|
1cf12fa to
262d5a8
Compare
Buyer/API gap
Origin::parseis a foundational trust-boundary API, but protected main does not yet expose publicOriginErrorthrough Rust's standardDisplay/std::error::Errorcontract. This PR adds exhaustive credential-freeDisplay,std::error::Error, and focused regression coverage without changing origin parsing or authority semantics.Test-first lineage
The original test-only head established the semantic RED:
OriginErrordid not implement the standard error contract. Production then added deterministic messages for every existing variant andsource() == None; formatting-only follow-up preserved canonical rustfmt. Historical checks/reviews remain predecessor evidence only.Fresh protected-main adoption
Protected
mainis exactc789b802fc98a8d7fd8c09d9327f36828054d2a1. Previous contributor headb8ae750b0b6e5ba47b3f4312db4df6de6f22a7d9targeted oldmain@542ca1e9c0a863595b8b6697790005d2471f5413; the two protected-main commits after that revision have no net file delta.Commit
12438c3a9171f44c1b18219478a2ec367cb78696adopts current protected main as a second parent while preserving the predecessor tree exactly. The branch advanced by normal non-force fast-forward. Fresh compare is 7 ahead / 0 behind, merge base exactly current protected main, and the semantic diff remains exactly three paths:CHANGELOG.md,crates/originweave-core/src/lib.rs, andcrates/originweave-core/tests/origin_error_contract.rs. No parser, browser/network/policy authority, secret, dependency, workflow/ruleset, or coverage-denominator change is introduced.Exact-current evidence
Current exact head is
12438c3a9171f44c1b18219478a2ec367cb78696; GitHub reports the PR open, Draft, and content-mergeable. Earlier Rust/coverage/MV3 successes and central review failures do not transfer after the legitimate head movement.Fresh exact-head workflows are non-terminal:
33778121402: queued;33778120403: queued;33778120546: queued;33778120818: queued;33778130975: queued;33778119977: queued; andMaterialize Rust nightly refresh once33778120359: completed as skipped and is not product evidence.No exact-current GREEN or qualifying independent approval is claimed. Keep Draft until repository contracts, strict Rust checks/rustdoc, exact 100% owned-production function/line/region/branch coverage, applicable security/review verdicts, and live governance execute on the unchanged head.
Protected-main
AGENTS.mdand live GitHub governance remain authoritative. This scheduled writer does not merge, self-approve, bypass, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release, or publish.