fix(core): expose standard extension-id error contract - #163
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthrough
ChangesExtensionIdError 오류 계약
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR adds the standard Display and Error behavior for extension-ID validation failures with regression coverage and no actionable merge-blocking risk remaining after normal checks and review. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 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 |
|
@cwl-noema-review Please perform an independent review of exact head |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
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 head4396ae9e999268bc7a5598ac1cf05faf10b450cc. -
Head SHA:
4396ae9e999268bc7a5598ac1cf05faf10b450cc -
Workflow run: 32175174001
-
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"]
|
Buyer-visible defect
ExtensionId::parseexposes the publicExtensionIdErrortype, but protected main does not expose it through Rust's standardDisplay/std::error::Errorcontract. Downstream adapters therefore have to special-case one canonical trust-boundary parser instead of handling its validation failure through the same standard diagnostic interface as adjacent OriginWeave errors.Test-first proof
Historical test-only head
bc4b682adee2513db70465b64a235711891a3601added a public integration regression requiring:ExtensionIdError: std::error::Error;CI run
31852429522/ Rust contracts job94930549852proved the intended RED boundary: workspace type checking failed becauseExtensionIdErrorlacked the standard error/display contract.Root-cause remedy
The production change adds deterministic
Displayplus source-freestd::error::ErrorforExtensionIdError, with the unreleased changelog updated accordingly.An intermediate head
56e502a25ac12fec911a0c4482e7b342beb70f0eexposed a separate test-harness quality failure in CI run31852788487: the new regression usedexpect_err(), which violates the repository's strict-D clippy::unwrap-usedcontract. The test was rewritten to use panic-freeResultinspection without weakening Clippy or changing production behavior.Current exact state
Protected main is exact
0841d2ab3d8b5e60a03c0a8e818cf438e2716829; current exact contributor head is4396ae9e999268bc7a5598ac1cf05faf10b450cc.Fresh comparison is ahead 5 / behind 0, with merge base exactly current protected main. The exact semantic diff remains three intended paths:
CHANGELOG.md,crates/originweave-core/src/lib.rs, andcrates/originweave-core/tests/extension_error_contract.rs. GitHub reports the PR open, Ready, and mergeable.No predecessor-head check or review evidence transfers to this current head.
Exact-current native evidence
On unchanged exact head
4396ae9e999268bc7a5598ac1cf05faf10b450cc:31973618270: success;95229727479: repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy, and rustdoc success;95229727528: exact owned-production function/line/region/branch measurement and enforcement success;31973618261: success;31973618306: success;31973618267: success; andNo predecessor-head, queued, skipped, cancelled, absent, stale, synthetic, status-only, or model-only result is promoted as current proof.
Current central-review / governance state
The current formal OpenCode review is CHANGES_REQUESTED on exact head
4396ae9e999268bc7a5598ac1cf05faf10b450cc. Central run32175174001reports non-passingcoverage-evidence/ test-docstring evidence and does not establish a new source-backedExtensionIdErrordefect. This is the recurring read-only central.githubevidence boundary already routed to the existing central owner lane; OriginWeave product code must not be churned or gates weakened to mask it. Only fresh same-head central evidence after the owner repair can supersede that state.There is no qualifying independent current-head/latest-push approval. Passing native automation, statuses, bot/model output, comments, or author activity are not approval. Protected-main
AGENTS.mdforbids this scheduled actor from merging, self-approving, altering workflows, adding secrets, weakening checks, tagging, or publishing.Scope boundary
This PR changes only the standard public extension-ID error contract and its focused test/changelog evidence. It changes no extension-ID parsing semantics, Chrome/Agent authority, browser execution, network behavior, secret handling, persistence, workflow, or release behavior.