Freeze Echo Edict provider semantic source#658
Conversation
|
Warning Review limit reached
Next review available in: 39 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (9)
✨ Finishing Touches🧪 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 |
|
@codex review please |
Activity Summary
Verification
|
|
Maintainer-directed admin merge override: CodeRabbit is explicitly rate limited, the documented alternate review was requested and acknowledged but has not returned a response, all local and remote checks are green, independent pre-PR/post-fix reviews and the final clean-worktree Code Lawyer audit report no remaining findings, and there are zero unresolved review threads. |
Summary
Testing / Checks
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c55afa3e0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| let Some(capability) = capabilities.get(adapter.capability.as_str()) else { | ||
| return Err(ProviderSemanticSourceError::new( | ||
| ProviderSemanticSourceErrorKind::UnknownCapability, | ||
| subject, | ||
| &adapter.capability, | ||
| )); | ||
| }; | ||
| *capability |
There was a problem hiding this comment.
Reject direct adapters backed by the wrong capability effect
When an operation uses a directAdapter, this branch accepts the adapter's referenced capability without checking that the capability actually implements/discharges the adapter's consumesEffect. If a source adds a second capability such as target.read and the profile allows its write class, an adapter can declare consumesEffect: "target.replace" while pointing at the read capability; validation then accepts target.replace even though semanticDischarge was only checked against target.read. Please either require the capability's effect to match the consumed effect here, or validate an explicit adapter-level discharge for that mapping.
Useful? React with 👍 / 👎.
| require_nonempty("profiles.effectPredicate", &profile.effect_predicate)?; | ||
| require_nonempty("profiles.opticContract", &profile.optic_contract)?; | ||
| require_nonempty( | ||
| "profiles.opticTemplate.supportPolicy", | ||
| &profile.optic_template.support_policy, |
There was a problem hiding this comment.
Validate frozen optic profile coordinates
For the first checked provider profile, these fields are only required to be non-empty, and no later check rejects arbitrary values. In a source that changes supportPolicy, lossDisposition, effectPredicate, or opticContract to a bogus non-empty coordinate, validation still succeeds, so the future generator can emit a target profile that no longer carries the frozen carry-or-obstruct/reject-on-loss/replace-only/replace-point semantics described by this source contract. Please validate those v1 coordinates instead of accepting any string.
Useful? React with 👍 / 👎.
| require_reference( | ||
| &types, | ||
| &operation.output_type, | ||
| ProviderSemanticSourceErrorKind::UnknownType, | ||
| subject, | ||
| )?; |
There was a problem hiding this comment.
Validate operation types against the effect signature
The operation ABI types are only checked for existence, not for compatibility with the selected effect's parameter/result types. If this source changes inputType or outputType to another declared record such as an empty obstruction payload, validation still succeeds, leaving a future generator to expose an operation whose declared ABI no longer matches the target.replace effect signature and with no declared transform to bridge them. Please compare the operation input/output shape against the effect signature before accepting the operation.
Useful? React with 👍 / 👎.
Summary
echo.edict-provider-semantics/v1source model owned byecho-wesley-genContract boundaries
contractOwnertoflyingrobots/edict#157; its canonicaledict.authority-facts/v1CBOR/CDDL consumer contract landed in Edict PR warp-core: WarpInstances + descended attachments (B1) #159flyingrobots/edict#158flyingrobots/wesley#728RED / GREEN
RED:
CARGO_TARGET_DIR=/Users/james/git/echo/target cargo +1.90.0 test -p echo-wesley-gen --test provider_semantic_sourceGREEN:
CARGO_TARGET_DIR=/Users/james/git/echo/target cargo +1.90.0 test -p echo-wesley-gen --test provider_semantic_source(18 passed)CARGO_TARGET_DIR=/Users/james/git/echo/target cargo +1.90.0 clippy -p echo-wesley-gen --lib --tests -- -D warnings -D missing-docsCARGO_TARGET_DIR=/Users/james/git/echo/target cargo +1.90.0 xtask pr-preflight(changed-scope verification, tests, Prettier, dead refs, and Markdown lint passed)The pre-commit and pre-push repository hooks also passed their selected Echo-Wesley checks.
Review
Independent implementation and contract reviews found and drove closure of:
A final post-fix review reported no remaining findings.
Dependency impact
No dependencies were added or changed. This slice does not introduce a sibling-path dependency and publishes no artifact.
Docs impact
Updated the Echo-Wesley README, application-hosting architecture, changelog, source-contract reference, schema inventory, and the detailed provider semantic-source design. The documents describe current branch behavior and keep #652/#655 boundaries explicit.
Closes #651
Closes #461