Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ban-nondeterminism-allowlist
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ std-fs crates/warp-core/src/wsc/view.rs native WSC file-open helper pending extr
std-fs crates/warp-core/src/causal_wal_tests.rs WAL filesystem fixture I/O only.
std-fs crates/warp-core/tests/causal_wal_hardening_tests.rs WAL filesystem fixture I/O only.
std-fs crates/warp-core/tests/external_consumer_contract_fixture_tests.rs installed-contract restart WAL fixture I/O only.
std-fs crates/warp-core/tests/executable_operation_pipeline_tests.rs executable-operation restart WAL fixture I/O only.
std-fs crates/warp-core/tests/provider_contract_admission_tests.rs provider invocation restart WAL fixture I/O only.
std-fs crates/warp-core/tests/trusted_runtime_host_loop_tests.rs trusted runtime filesystem WAL fixture I/O only.
std-env crates/warp-core/tests/wsc_store_tests.rs WSC filesystem fixture temp directory selection only.
Expand Down
25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,29 @@

### Added

- `TrustedRuntimeHost` now has the first hook-free executable-operation runtime
slice. A runtime owner can admit exact canonical
`ExecutableOperationPackageV1` bytes under a separate package policy, install
their data-only `EchoOperationProgramV1`, independently admit an exact-basis
invocation under caller authority and delegated budget, evaluate privately,
and either commit one parent-visible patch or return typed noncommit evidence.
Only committed operation consequences enter the operation-tick WAL. The initial
generic program performs an anchored typed-node alpha-attachment
compare-and-set; it contains no application matcher, executor, footprint
callback, or prebuilt mutation plan. Package, installation, invocation,
evaluation, actual-footprint, budget, patch, result, basis, and terminal
identities are bound into a typed receipt. The parent patch and singleton
tick evidence name the admitted installation rather than promoting the
subordinate program digest into rule authority. Application-basis
corroboration is bounded by the delegated read budget. A runtime-control
installation record and distinct execution-kernel commit records retain the
full admitted installation and committed state delta under exact frame and
frontier shapes so a fresh host can re-admit and reconstruct them without
callbacks. A program digest alone cannot install, invoke, or authorize an
operation. This slice does not yet include Edict
compiler emission, a structurally separate target verifier, Jedit's rope
lawpack, `ReplaceRange`, scheduler batch composition, or an independently
implemented semantic oracle.
- `TrustedRuntimeHost` can now admit a previously witnessed mutation for an
installed Edict provider package with
`admit_provider_contract_submission_v1(...)`. The shared installed-contract
Expand Down Expand Up @@ -49,7 +72,7 @@
invoke callbacks, schedule or execute work, emit receipts, or grant runtime
authority. The real-host witness extends the exact generator dependency
closure, so generation evidence and the checked provider occurrence refresh
to `sha256:e0ccd4503c7f5830a1affa1c5a676f866aa0fab976a5ec2a0075c70916a64b69`;
to `sha256:ee870c75ec08c8818b3f80ab6562ae62a5cf741cd709edcee0085d951c5d5a7b`;
the primary semantic and Target IR artifacts remain byte-identical.
- `TrustedRuntimeHost` can now admit an opaque Edict provider proposal against
an independently constructed `ProviderContractAdmissionPolicyV1`. The pure
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

113 changes: 93 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,20 +103,26 @@ model.

## How It Works

Echo currently implements two generated-contract paths. The first Edict
mutation closure now spans publication through provider-native Echo execution
and recovery. Wesley packaging and the generated bounded-read corridor remain
separate incomplete paths.
Echo currently implements two callback-shaped compatibility paths plus the
first generic hook-free executable-operation runtime slice. The Edict provider
mutation closure spans publication through provider-native Echo execution and
recovery, but ambient host callbacks still determine its application
semantics. Wesley packaging and the generated bounded-read corridor remain a
separate incomplete path.

The Wesley compatibility path emits raw `RewriteRule` builders and generated
helpers. Its integration fixture enables the policy-gated
`native_rule_bootstrap` feature and registers those rules directly. It does
not emit an `InstalledContractPackage` or exercise package verification.

The Edict provider path admits exact semantic-source, contract-pack, and
settings bytes; emits canonical semantic artifacts; runs a deterministic
lowerer and an independent verifier; and publishes a digest-locked provider
package plus a generated Rust helper projection.
Edict accepts exact semantic-source, contract-pack, and settings bytes. Its
compiler pipeline emits canonical semantic artifacts, runs a deterministic
lowerer and a structurally separate verifier path, and publishes a
digest-locked provider package plus a generated Rust helper projection. A
separate verifier path is not, by itself, an independently implemented
verifier. Echo later consumes the resulting proposal through runtime-owned
admission, corroboration, installation, invocation, receipt, and recovery
crossings.
The helper performs pure, fail-closed preflight across exact package, Target
IR, bundle, profile, schema,
codec, obstruction, ABI, helper API, operation, and footprint claims. It
Expand Down Expand Up @@ -166,6 +172,30 @@ ingress boundary, support provider-native reads, or turn package metadata into
runtime authority. Echo separately retains the Wesley compatibility path for
host-constructed `InstalledContractPackage` values.

Separately, Echo can now admit and install an exact canonical
`ExecutableOperationPackageV1`, admit an exact-basis invocation under explicit
authority and delegated budget, evaluate its data-only
`EchoOperationProgramV1` privately, and either commit one patch or return typed
noncommit evidence. Only committed operation consequences enter the
operation-tick WAL. The initial generic program performs an anchored typed-node
alpha-attachment compare-and-set. Its receipt binds the admitted package,
operation, subordinate program, invocation, complete evaluation basis,
authority, declared and actual footprints, budgets, patch, result, and terminal
outcome. Runtime-control installation and committed execution-kernel records
permit callback-free fresh-host recovery. Program bytes explicitly bind the
interpreter and intrinsic profiles, while the parent patch and singleton tick
evidence bind the admitted installation. A program digest cannot confer
operation identity, invocability, or authority.

That generic runtime witness is not yet the Jim/Jedit vertical. No real Edict
compiler output, Jedit rope lawpack, or `ReplaceRange` operation uses it, and it
does not yet claim structurally separate target verification, scheduler batch
composition, or independently implemented semantic conformance. It also
temporarily reuses `TrustedRuntimeHost`'s joint `native_rule_bootstrap` and
`trusted_runtime` feature gate. The program itself has no native hooks, but the
host surface must be decoupled from the legacy bootstrap feature before a
product can remove that compatibility feature.

The following sequence is the existing Wesley bootstrap fixture:

```mermaid
Expand All @@ -186,21 +216,49 @@ sequenceDiagram
Echo-->>Fixture: OpticReading or typed obstruction
```

The first Edict mutation branch of the package-shaped flow is now executable;
Wesley packaging and generated bounded reads are not yet complete:
These corridors are not one pipeline with optional source nouns.

The current Wesley compatibility path is:

```text
GraphQL source
-> generated RewriteRule builders and helpers
-> trusted-host direct native rule registration
-> canonical intent
-> Echo admission, scheduling, and receipt
```

The current Edict provider-v1 compatibility path is:

```text
admitted Wesley or Edict source
-> verified mutation Target IR or lawful read semantics
-> generated handlers, observers, codecs, footprints, and package metadata
Edict source
-> canonical Core meaning and verified Echo Target IR
-> digest-locked provider package and generated helper
-> opaque provider proposal with explicit host binding
-> trusted-host exact proposal-claim admission
-> exact package corroboration and provider-native installation
-> exact EINT-kind and installed-operation admission
-> scheduler-owned execution
-> scheduler-owned callback execution
-> receipts and WAL recovery bound to package, operation, Target IR, and rule
```

The current executable-operation runtime slice is:

```text
canonical ExecutableOperationPackageV1 bytes
-> Echo-owned package and invocation admission
-> installed data-only EchoOperationProgramV1
-> bounded private Echo evaluation
-> exact-basis singleton commit
-> typed receipt, WAL retention, and callback-free recovery
```

The first two paths are callback-shaped compatibility infrastructure. The
third proves Echo-owned execution of admitted data-only meaning, but no real
Edict compiler output or Jedit operation uses it yet. The next convergence
crossing must bind a real Jedit-owned Edict operation and lawpack to that
executable-operation package without reintroducing a native implementation.

## Contracts And Boundaries

Echo core is intentionally generic. Application nouns belong in authored
Expand All @@ -218,9 +276,15 @@ contracts and generated adapters, not in the runtime kernel.
application SDK.
- Echo's package registry and scheduler path is implemented independently of
both compiler publication paths.
- A trusted Echo host must verify compiler-emitted material, bind the
host-supplied executor or observer, and install it through the generic
package boundary. A compiler must not create a second execution engine.
- Provider v1 binds host-supplied executors as explicitly transitional
compatibility evidence; matching identities do not prove callback
semantics.
- For newly authored executable operations, a trusted Echo runtime verifies
and installs admitted package material, then Echo interprets the bound
data-only program. The host supplies no application matcher, executor, or
footprint callback.
- A compiler must not create a second execution engine, and a host must not
substitute ambient application behavior for admitted executable meaning.

See [Generated Rule Authorship](docs/topics/GeneratedRules.md) for the exact
current/target boundary, including the separate Wesley compatibility and Edict
Expand All @@ -238,8 +302,8 @@ type Mutation {

- **Runtime-owned time**: application code cannot tick Echo or choose scheduler
boundaries.
- **Deterministic execution**: ticks, admission, handler dispatch, and
settlement are scheduler-owned.
- **Deterministic runtime judgments**: Echo owns admission, scheduling, tick
formation, rule selection, settlement, and evidence construction.
- **Evidence-first observations**: readings carry basis, observer, witness,
budget, rights, and residual posture.
- **Replayable history**: submissions, receipts, witnesses, and retained
Expand All @@ -261,9 +325,18 @@ canonical evidence before the scheduler can act on it:
work;
- the scheduler drains eligible work in deterministic order under explicit
conflict and footprint rules;
- handlers run only during scheduler-owned ticks;
- admitted data-only operation programs are interpreted by Echo; legacy
compatibility callbacks run only during scheduler-owned ticks but do not, by
callback binding alone, prove deterministic application consequences;
- every committed tick emits receipt evidence that can be replayed and checked.

Echo deterministically controls its runtime judgments and evidence. End-to-end
deterministic consequences additionally require every executed semantic
implementation to satisfy its declared execution contract. The
executable-operation corridor makes that requirement structural by deriving
the consequence from admitted data-only program bytes; the callback-shaped
compatibility corridors do not yet provide the same proof.

`dispatch_intent(...)` is ingress. It is not "run this now." A host may run Echo
on a fixed wall-clock cadence or in an until-idle loop, but that cadence is
trusted runtime policy. The semantic tick is a logical scheduler-owned
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"apiVersion":"wesley.generation-provenance-manifest/v1","contractVersions":{"generatorAbi":"wesley.extension-generator/v1","inputSchema":"wesley.extension-generation-input/v1","provenanceSchema":"wesley.generation-provenance-manifest/v1"},"emittedArtifacts":[{"coordinate":"echo.dpo-authority-facts@1","digest":"sha256:e4ecd21b5b4d7c97c66f9aa9ef55794fd8610f58a6ccb5e37f411576b8247ca9"},{"coordinate":"echo.dpo-lawpack-authority-facts@1","digest":"sha256:893af4f37e2821525cc609e5740e7e95ae0e1795ca2444d2267f438a69d2283f"},{"coordinate":"echo.dpo-lawpack@1","digest":"sha256:2539a9856295db8545db10d1001b6b1697e40bff0ea07b45afd33255d45d4269"},{"coordinate":"echo.dpo.registration/v1","digest":"sha256:4ef3aaad0d2131ba7129a3e2ae178d10c44f7e9b062af2c1fe211de781462f34"},{"coordinate":"echo.dpo@1","digest":"sha256:a2ecfe500dcedb25b22129a412a7c83379fc265d9f04792355425ff80b52a2ba"},{"coordinate":"echo.provider-artifacts.cddl@1","digest":"sha256:faece52eaf8ec040c374e5fe2a5ea040b522b58f415973f481e9c836ecfc4cde"}],"generationInputDigest":"sha256:aff2b3737d635728190e6252515d03a1c3a9b58031c6a126a9cc9007f3998aa8","generator":{"coordinate":"echo-wesley-gen.provider-artifact-generator@1","digest":"sha256:ee0caf86a92f8f7f8a84d40787b9dbb794dc7614ed9fe31aa02b243bc7d9f0ac","version":"0.1.0"},"settingsDigest":"sha256:0f708e76898de6fdb8186352e81d0f5c445adf94bb6c7de9204952d9fe913d4a","sourceArtifacts":[{"coordinate":"echo.semantic-schema@1","digest":"sha256:09e621edf0ba0a21bb602d759d7c66a5db394065ab2bc3578a6b7c31bc1ab335"},{"coordinate":"edict.provider-contract-pack.cddl@1","digest":"sha256:92697bc9a5262c68258be9ee451ee8c144aeb363b92142915b8224430b85cf74"},{"coordinate":"edict.provider-contract-pack.manifest@1","digest":"sha256:6902467149fec3e0338bb90e8cd7963ee21b8ce24f368f9b12e748343cbe0e4f"}]}
{"apiVersion":"wesley.generation-provenance-manifest/v1","contractVersions":{"generatorAbi":"wesley.extension-generator/v1","inputSchema":"wesley.extension-generation-input/v1","provenanceSchema":"wesley.generation-provenance-manifest/v1"},"emittedArtifacts":[{"coordinate":"echo.dpo-authority-facts@1","digest":"sha256:e4ecd21b5b4d7c97c66f9aa9ef55794fd8610f58a6ccb5e37f411576b8247ca9"},{"coordinate":"echo.dpo-lawpack-authority-facts@1","digest":"sha256:893af4f37e2821525cc609e5740e7e95ae0e1795ca2444d2267f438a69d2283f"},{"coordinate":"echo.dpo-lawpack@1","digest":"sha256:2539a9856295db8545db10d1001b6b1697e40bff0ea07b45afd33255d45d4269"},{"coordinate":"echo.dpo.registration/v1","digest":"sha256:4ef3aaad0d2131ba7129a3e2ae178d10c44f7e9b062af2c1fe211de781462f34"},{"coordinate":"echo.dpo@1","digest":"sha256:a2ecfe500dcedb25b22129a412a7c83379fc265d9f04792355425ff80b52a2ba"},{"coordinate":"echo.provider-artifacts.cddl@1","digest":"sha256:faece52eaf8ec040c374e5fe2a5ea040b522b58f415973f481e9c836ecfc4cde"}],"generationInputDigest":"sha256:aff2b3737d635728190e6252515d03a1c3a9b58031c6a126a9cc9007f3998aa8","generator":{"coordinate":"echo-wesley-gen.provider-artifact-generator@1","digest":"sha256:60e1d2c4b755d0dbf756aab7a52d6ba53dbaca2d2a6038773bb31eb58d9ed19a","version":"0.1.0"},"settingsDigest":"sha256:0f708e76898de6fdb8186352e81d0f5c445adf94bb6c7de9204952d9fe913d4a","sourceArtifacts":[{"coordinate":"echo.semantic-schema@1","digest":"sha256:09e621edf0ba0a21bb602d759d7c66a5db394065ab2bc3578a6b7c31bc1ab335"},{"coordinate":"edict.provider-contract-pack.cddl@1","digest":"sha256:92697bc9a5262c68258be9ee451ee8c144aeb363b92142915b8224430b85cf74"},{"coordinate":"edict.provider-contract-pack.manifest@1","digest":"sha256:6902467149fec3e0338bb90e8cd7963ee21b8ce24f368f9b12e748343cbe0e4f"}]}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"apiVersion":"wesley.generation-review/v1","authoritative":false,"emittedArtifacts":[{"coordinate":"echo.dpo-authority-facts@1","digest":"sha256:e4ecd21b5b4d7c97c66f9aa9ef55794fd8610f58a6ccb5e37f411576b8247ca9"},{"coordinate":"echo.dpo-lawpack-authority-facts@1","digest":"sha256:893af4f37e2821525cc609e5740e7e95ae0e1795ca2444d2267f438a69d2283f"},{"coordinate":"echo.dpo-lawpack@1","digest":"sha256:2539a9856295db8545db10d1001b6b1697e40bff0ea07b45afd33255d45d4269"},{"coordinate":"echo.dpo.registration/v1","digest":"sha256:4ef3aaad0d2131ba7129a3e2ae178d10c44f7e9b062af2c1fe211de781462f34"},{"coordinate":"echo.dpo@1","digest":"sha256:a2ecfe500dcedb25b22129a412a7c83379fc265d9f04792355425ff80b52a2ba"},{"coordinate":"echo.provider-artifacts.cddl@1","digest":"sha256:faece52eaf8ec040c374e5fe2a5ea040b522b58f415973f481e9c836ecfc4cde"}],"generationInputDigest":"sha256:aff2b3737d635728190e6252515d03a1c3a9b58031c6a126a9cc9007f3998aa8","generator":{"coordinate":"echo-wesley-gen.provider-artifact-generator@1","digest":"sha256:ee0caf86a92f8f7f8a84d40787b9dbb794dc7614ed9fe31aa02b243bc7d9f0ac","version":"0.1.0"},"projectionRoles":["authority-facts.echo-dpo","authority-facts.echo-lawpack","generated-artifact-profile.echo-dpo-registration","lawpack.echo-dpo","schema.echo-provider-artifacts","target-profile.echo-dpo"],"provenanceManifestDigest":"sha256:ce67a27c13a0f830f99abe4cabaf519b519c3fb5904d198dd9550d1b349d276e","sourceArtifacts":[{"coordinate":"echo.semantic-schema@1","digest":"sha256:09e621edf0ba0a21bb602d759d7c66a5db394065ab2bc3578a6b7c31bc1ab335"},{"coordinate":"edict.provider-contract-pack.cddl@1","digest":"sha256:92697bc9a5262c68258be9ee451ee8c144aeb363b92142915b8224430b85cf74"},{"coordinate":"edict.provider-contract-pack.manifest@1","digest":"sha256:6902467149fec3e0338bb90e8cd7963ee21b8ce24f368f9b12e748343cbe0e4f"}]}
{"apiVersion":"wesley.generation-review/v1","authoritative":false,"emittedArtifacts":[{"coordinate":"echo.dpo-authority-facts@1","digest":"sha256:e4ecd21b5b4d7c97c66f9aa9ef55794fd8610f58a6ccb5e37f411576b8247ca9"},{"coordinate":"echo.dpo-lawpack-authority-facts@1","digest":"sha256:893af4f37e2821525cc609e5740e7e95ae0e1795ca2444d2267f438a69d2283f"},{"coordinate":"echo.dpo-lawpack@1","digest":"sha256:2539a9856295db8545db10d1001b6b1697e40bff0ea07b45afd33255d45d4269"},{"coordinate":"echo.dpo.registration/v1","digest":"sha256:4ef3aaad0d2131ba7129a3e2ae178d10c44f7e9b062af2c1fe211de781462f34"},{"coordinate":"echo.dpo@1","digest":"sha256:a2ecfe500dcedb25b22129a412a7c83379fc265d9f04792355425ff80b52a2ba"},{"coordinate":"echo.provider-artifacts.cddl@1","digest":"sha256:faece52eaf8ec040c374e5fe2a5ea040b522b58f415973f481e9c836ecfc4cde"}],"generationInputDigest":"sha256:aff2b3737d635728190e6252515d03a1c3a9b58031c6a126a9cc9007f3998aa8","generator":{"coordinate":"echo-wesley-gen.provider-artifact-generator@1","digest":"sha256:60e1d2c4b755d0dbf756aab7a52d6ba53dbaca2d2a6038773bb31eb58d9ed19a","version":"0.1.0"},"projectionRoles":["authority-facts.echo-dpo","authority-facts.echo-lawpack","generated-artifact-profile.echo-dpo-registration","lawpack.echo-dpo","schema.echo-provider-artifacts","target-profile.echo-dpo"],"provenanceManifestDigest":"sha256:ddb18917c074ed929938ee4e231ff2b9382fb0acf132196e57f35a67fe7c1993","sourceArtifacts":[{"coordinate":"echo.semantic-schema@1","digest":"sha256:09e621edf0ba0a21bb602d759d7c66a5db394065ab2bc3578a6b7c31bc1ab335"},{"coordinate":"edict.provider-contract-pack.cddl@1","digest":"sha256:92697bc9a5262c68258be9ee451ee8c144aeb363b92142915b8224430b85cf74"},{"coordinate":"edict.provider-contract-pack.manifest@1","digest":"sha256:6902467149fec3e0338bb90e8cd7963ee21b8ce24f368f9b12e748343cbe0e4f"}]}
Loading
Loading