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
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ jobs:
run: |
cargo test -p warp-core --features host_test --test causal_fact_publication_tests
cargo test -p warp-core --features host_test --test optic_invocation_admission_tests
- name: cargo test (warp-core installed contract intent pipeline)
run: cargo test -p warp-core --features native_rule_bootstrap,host_test --test installed_contract_intent_pipeline_tests
- name: cargo test --doc (warp-core)
run: cargo test -p warp-core --doc
- name: PRNG golden regression (warp-math)
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/macos-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,5 @@ jobs:
run: |
cargo test -p warp-core --features host_test --test causal_fact_publication_tests
cargo test -p warp-core --features host_test --test optic_invocation_admission_tests
- name: cargo test (warp-core installed contract intent pipeline)
run: cargo test -p warp-core --features native_rule_bootstrap,host_test --test installed_contract_intent_pipeline_tests
22 changes: 19 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,21 @@

### Added

- `warp-core` now connects the installed contract package boundary to the
witnessed intent pipeline. Package-supported canonical EINT mutation ids can
be staged through ticketed runtime ingress only after Echo has witnessed the
submission and verified an installed package owns the op id; unsupported
installed-contract mutation ids are rejected before they become
runtime-visible scheduler work. The new installed-contract intent pipeline
tests prove application submission does not tick or execute, ticketed ingress
stages without executing, scheduler-owned ticks dispatch the installed
mutation handler, conflict rejection is a final tick outcome with blocker
attribution, duplicate submits do not create hidden retries, witnessed
submissions can be replayed back into pending ingress history without staging
inbox work, and the replayed pipeline converges to the same receipt
correlation and observed outcome. Replayed witnessed submission records
preserve generation continuity so the next live submission receives the next
contiguous generation instead of skipping ahead.
- `warp-core` now exposes an installed contract package registry boundary for
runtime-owner host adapters. An installed package binds generated registry
metadata, schema hash, codec identity, package artifact identity, supported
Expand Down Expand Up @@ -74,9 +89,10 @@
- `warp-core` now exposes a zero-write `observe_intent_outcome(...)` polling
surface over witnessed submission ids. The observation reports
`UnknownSubmission`, `Pending` with optional ticketed-ingress identity, or
`Decided` with the scheduler-owned receipt correlation once a ticketed
submission reaches a tick receipt. This does not infer per-candidate
applied/rejected application semantics, stream updates, dispatch installed
`Decided` with the scheduler-owned receipt correlation and typed receipt
decision once a ticketed submission reaches a tick receipt. The decision
reports applied entries or rejected entries with deterministic rejection reason
and blocker attribution. This does not stream updates, dispatch installed
handlers, execute contracts outside scheduler-owned ticks, or introduce
automatic retry.
- `warp-core` now records scheduler-owned receipt correlations for ticketed
Expand Down
4 changes: 4 additions & 0 deletions crates/warp-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ required-features = ["trusted_runtime"]
name = "installed_contract_registry_tests"
required-features = ["native_rule_bootstrap"]

[[test]]
name = "installed_contract_intent_pipeline_tests"
required-features = ["native_rule_bootstrap", "host_test"]

[build-dependencies]
blake3 = "1.0"

Expand Down
Loading
Loading