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"]
|
64d5ac6 to
e3a675c
Compare
Dismissed as stale automated coverage review: exact current head ab2e8eb has terminal successful Rust contracts and Production coverage, with no unresolved review threads. This dismissal does not supply or bypass the required independent approval.
Buyer-visible defect
ExtensionId::parseexposes publicExtensionIdError, but protected main does not yet ship Rust's standardDisplay/std::error::Errorcontract for that canonical trust-boundary parser. Downstream adapters otherwise need special-case diagnostic handling.Test-first / repair lineage
Historical test-only
bc4b682adee2513db70465b64a235711891a3601requiredExtensionIdError: std::error::Error, deterministic operator-safe text, and no fabricated nested source before production support existed. CI31852429522/ Rust contracts94930549852proved the intended compile RED. Production added deterministicDisplayand source-freestd::error::Error.Intermediate
56e502a25ac12fec911a0c4482e7b342beb70f0ethen exposed an independent test-harness defect:expect_err()violated the repository's strict-D clippy::unwrap-usedcontract. Exact contributor heade3a675ca33d6c438a3321063b7050c280c117f86retained the panic-freeResultinspection repair without changing production behavior.Fresh protected-main adoption
Fresh live comparison showed
e3a675ca33d6c438a3321063b7050c280c117f864 ahead / 2 behind current protectedmain@c789b802fc98a8d7fd8c09d9327f36828054d2a1, with merge base542ca1e9c0a863595b8b6697790005d2471f5413. The two protected-main commits after that merge base have no net file delta.Commit
ab2e8ebba8a24c0519cebad785ee464304db9523adopts exact current protected main as a second parent while preserving the contributor tree exactly. The branch advanced by normal non-force fast-forward. Fresh compare is 5 ahead / 0 behind, merge base exactly current protected main, and the semantic delta remains exactly three paths:CHANGELOG.md,crates/originweave-core/src/lib.rs, andcrates/originweave-core/tests/extension_error_contract.rs.The PR is intentionally Draft after this head movement. Historical native GREEN and central review evidence do not transfer.
Exact-current evidence
Current exact head is
ab2e8ebba8a24c0519cebad785ee464304db9523; GitHub reports the PR open, Draft, and content-mergeable.Fresh exact-head workflows are non-terminal:
33783085492: queued;33783085503: queued;33783085731: queued;33783085614: queued;33783086145: queued;33783085603: queued; andMaterialize Rust nightly refresh once33783085656: completed as skipped and is not product evidence.No predecessor, queued, skipped, status-only, model-only, author-only, or synthetic result is promoted to exact-current GREEN or approval.
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, extension/Agent authority, browser execution, network behavior, secret handling, persistence, workflow, or release behavior.
Protected-main
AGENTS.mdand live GitHub governance remain authoritative. This scheduled writer does not merge, self-approve, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release, or publish.