Resource Kind Provider Protocol
Implements trusted Resource kind semantics while Aster retains authority, workspace isolation, version ordering, and settlement CAS.
Resource Kind Provider Protocol
Implements trusted Resource kind semantics while Aster retains authority, workspace isolation, version ordering, and settlement CAS.
| Field | Value |
|---|---|
| Protocol ID | aster.resource-kind-provider |
| Version | 8.0.0 |
| Compatibility range | ^8.0.0 |
| Requirement helper | aster.resource-kind-provider.require(settings?) via the protocol module |
| Provider helper | Available through Protocol.provide(...). |
Settings
DefaultProtocolSettingsSchema (Record<string, unknown> | null).
Operations
| Operation | Summary | Request | Response |
|---|---|---|---|
validateDescriptor | Validate and normalize one kind-owned Resource descriptor. | Effect Schema (Objects) | Effect Schema (Objects) |
prepareRegistration | Prepare immutable custody and the baseline provider version without publishing canonical state. | Effect Schema (Objects) | Effect Schema (Objects) |
finalizeRegistration | Idempotently finalize custody after core registration commit. | Effect Schema (Objects) | Effect Schema (Objects) |
populateBase | Populate an immutable source base for one exact version. | Effect Schema (Objects) | Effect Schema (Objects) |
refreshBase | Populate a new immutable source base using a sealed prior base as an optimization. | Effect Schema (Objects) | Effect Schema (Objects) |
prepareSettlement | Write immutable provider objects and attest a bounded canonical change set before core CAS. | Effect Schema (Objects) | Effect Schema (Objects) |
finalizeSettlement | Idempotently publish derived provider refs after the core version/head CAS. | Effect Schema (Objects) | Effect Schema (Objects) |
recoverSettlement | Resume an interrupted post-CAS provider finalization. | Effect Schema (Objects) | Effect Schema (Objects) |
computeLiveDiff | Compute bounded provisional workspace changes against the pinned base. | Effect Schema (Objects) | Effect Schema (Objects) |
restoreVersion | Prepare one kind-owned generic Resource action. | Effect Schema (Objects) | Effect Schema (Objects) |
publish | Prepare one bounded declarative publication operation for the host publication authority. | Effect Schema (Objects) | Effect Schema (Objects) |
serveFetch | Serve one core-authorized fetch-only custody protocol operation. | Effect Schema (Objects) | Effect Schema (Objects) |
configureClone | Configure one consented fetch-only remote in a clone selected by an opaque node-local path handle. | Effect Schema (Objects) | Effect Schema (Objects) |
fetchClone | Fetch settled versions without changing the clone working copy, checkout, index, or local branches. | Effect Schema (Objects) | Effect Schema (Objects) |
removeClone | Remove only an exact previously consented remote and leave collisions untouched. | Effect Schema (Objects) | Effect Schema (Objects) |
executeClientAction | Execute one trusted provider-contributed recipe on the selected user-controlled node. | Effect Schema (Objects) | Effect Schema (Union) |
validateClientActionParameters | Validate and normalize one contributed client action through the provider-owned executable schema. | Effect Schema (Union) | Effect Schema (Union) |
releaseStaging | Idempotently release provider staging after completion or abort. | Effect Schema (Objects) | Effect Schema (Objects) |
Conformance Expectations
- Register with
aster.resource-kind-providerat8.0.0inside^8.0.0. - Implement every operation:
validateDescriptor,prepareRegistration,finalizeRegistration,populateBase,refreshBase,prepareSettlement,finalizeSettlement,recoverSettlement,computeLiveDiff,restoreVersion,publish,serveFetch,configureClone,fetchClone,removeClone,executeClientAction,validateClientActionParameters,releaseStaging. - Decode requests and responses against the operation schemas listed above.
- Run the protocol conformance kit where one exists: No named kit yet; providers are still expected to satisfy the registry schemas..
Declared Authority
[ { "kind": "fs", "access": "read_write", "path": { "kind": "parameter", "parameter": "resourceProviderMountGrants" } }, { "kind": "provider_right", "protocol": "aster.resource-kind-provider" }]