Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
1bb2675
feat(sdk): add keeper conditional-source seam and CoW run loop (#239)
mfw78 Jul 14, 2026
f37f0d1
refactor(twap-monitor): port poll loop onto keeper (#240)
mfw78 Jul 14, 2026
b4800f5
feat(sdk-test): add MockVenue and namespaced MockLocalStore (#241)
mfw78 Jul 14, 2026
020e213
fix(keeper): drop stale watches and idle duplicate rejections (#242)
mfw78 Jul 14, 2026
6d2b227
feat(sdk): scaffold nexum-macros and #[module] attribute (#243)
mfw78 Jul 14, 2026
558e627
docs(sdk): rewrite doc 05 around the two-persona SDK plan (#245)
mfw78 Jul 15, 2026
c6f36e1
fix(sdk): M1 SDK sweep fixes - macro hardening, doc fidelity (#246)
mfw78 Jul 15, 2026
ae8b469
feat(wit): add nexum:value-flow types package v0.1.0 (#247)
mfw78 Jul 15, 2026
5b0c248
feat(wit): author the nexum:intent package with pool interface (#248)
mfw78 Jul 15, 2026
39e117d
feat(runtime): introduce the venue-adapter component kind (#249)
mfw78 Jul 15, 2026
c3ef547
feat(runtime): route nexum:intent/pool to installed venue adapters (#…
mfw78 Jul 15, 2026
8b698c7
feat(venue-sdk): add nexum-venue-sdk crate (#251)
mfw78 Jul 15, 2026
622ec70
sdk: emit per-component world from declared capabilities (#252)
mfw78 Jul 15, 2026
d71adb4
feat(runtime): fan intent-status events to module subscribers (#253)
mfw78 Jul 15, 2026
766d532
feat(sdk): add the #[nexum::venue] adapter macro (#296)
mfw78 Jul 15, 2026
3be21a6
feat(sdk-test): add the nexum-venue-test conformance kit (#297)
mfw78 Jul 15, 2026
38817d1
feat(echo-venue): settle instantly, add echo-client round trip (#256)
mfw78 Jul 15, 2026
85e5d3f
docs(wit): freeze WIT clarifications, fix macro nits (#257)
mfw78 Jul 15, 2026
0f0d719
feat(cow-venue): scaffold venue-neutral CoW intent body crate (#258)
mfw78 Jul 15, 2026
17464a1
feat(cow-venue): drive CoW retry classification from a data table (#259)
mfw78 Jul 15, 2026
c8ce57c
fix(cow-venue): QA sweep for m1-cow-classification (#260)
mfw78 Jul 15, 2026
ae846ad
refactor(cow): structured Verdict poll seam + LegacyRevertAdapter (Wa…
mfw78 Jul 15, 2026
df91716
docs: reconcile keeper prose and Verdict poll-seam references (#335)
mfw78 Jul 15, 2026
ddfb2b9
docs(sdk-test): note MockLocalStore fidelity gaps vs redb
mfw78 Jul 15, 2026
c116a48
docs: multi-chain deployment patterns — Mainnet/Gnosis/Arbitrum/Base …
mfw78 Jul 15, 2026
04413b1
docs: stale-reference sweep — engine rename, Dockerfile, ADR-0007 err…
mfw78 Jul 15, 2026
0e160dc
test(event-loop): event ordering and graceful shutdown tests (#353)
mfw78 Jul 15, 2026
a7d1ddb
feat(chain): cap JSON-RPC response size before lowering into the gues…
mfw78 Jul 15, 2026
aed942c
Merge remote-tracking branch 'origin/develop' into dm1merge
mfw78 Jul 15, 2026
4496d4d
Merge branch 'develop' into dev/m1
mfw78 Jul 16, 2026
a463db3
wit: carry opaque status bytes so the host stops importing intent (#426)
mfw78 Jul 20, 2026
154587b
wit: rename the intent contract to videre (#428)
mfw78 Jul 20, 2026
92bcf37
wit: normalize every package to 0.1.0 (#429)
mfw78 Jul 20, 2026
fe0c684
wit: add quote to the videre venue faces and the client typestate (#431)
mfw78 Jul 20, 2026
497bf9b
engine: advisory venue-agnostic acyclicity check (#432)
mfw78 Jul 20, 2026
0d35086
runtime: make the egress-guard checkpoint advisory-only (#433)
mfw78 Jul 20, 2026
6f63102
runtime: charge quota before guard check on submit (#435)
mfw78 Jul 20, 2026
06d339c
venue-test: version fixture files and reject empty vector sets (#437)
mfw78 Jul 20, 2026
bb199b7
runtime: bound the status-watch set with a capped, expiring policy (#…
mfw78 Jul 20, 2026
f51c2fb
runtime: grow the extension seam to carry worker and provider roles (…
mfw78 Jul 20, 2026
435616b
engine: extract world synthesis into nexum-world (#440)
mfw78 Jul 20, 2026
7963c3a
runtime: extract the supervised host-actor primitive from the venue a…
mfw78 Jul 20, 2026
381cd8e
runtime: make the log pipeline pluggable through the components seam …
mfw78 Jul 20, 2026
59c357c
runtime: carry the venue registry through the services map (#443)
mfw78 Jul 20, 2026
97e0292
runtime: let a preset carry extensions and pre-built backends (#444)
mfw78 Jul 20, 2026
6246244
runtime: fold venue adapters into the restart and poison sweeps (#445)
mfw78 Jul 21, 2026
1272191
runtime: ride out venue outages against a grace watch deadline (#514)
mfw78 Jul 21, 2026
934f7c9
runtime: extract a generic launcher and split the bare and cow binari…
mfw78 Jul 21, 2026
7f0ea12
runtime: build the videre-host crate and register the venue platform …
mfw78 Jul 21, 2026
35a99db
venue: install-time body-version handshake (#448)
mfw78 Jul 21, 2026
e845890
ci: align the zero-leak check to the charter symbol set (#449)
mfw78 Jul 21, 2026
9c99e2d
ci: block the zero-leak gate on router-field and wit-namespace scans …
mfw78 Jul 21, 2026
02e04a9
sdk: make the IntentBody derive no_std (#451)
mfw78 Jul 21, 2026
f7778ab
sdk: emit bind-macro fault and level conversions as From impls (#452)
mfw78 Jul 21, 2026
f902239
sdk: add an alloy provider seam over the chain host (#453)
mfw78 Jul 22, 2026
33372b1
sdk: rename to videre-sdk and add the keeper sweep assembler (#454)
mfw78 Jul 22, 2026
709d189
sdk: guest seams and mocks for identity, messaging and remote-store (…
mfw78 Jul 22, 2026
b6854b5
sdk: split macros into module and venue crates (#456)
mfw78 Jul 22, 2026
7309f90
local-store: add contains, len and count metadata queries (#457)
mfw78 Jul 22, 2026
3765ecf
sdk: make the venue macro the single blessed authoring path (#458)
mfw78 Jul 22, 2026
19edc65
sdk: rename venue conformance kit to videre-test (#459)
mfw78 Jul 22, 2026
41051fa
sdk: add the keeper macro and typed venue client (#460)
mfw78 Jul 22, 2026
e81b90c
sdk: land the alloy-grade dx polish cluster (#461)
mfw78 Jul 22, 2026
3588bdb
runtime: make the module event type extensible via a generic custom c…
mfw78 Jul 22, 2026
8c5abab
macros: hoist duplicated helpers into nexum-world (#550)
mfw78 Jul 22, 2026
c57f729
world: enums over const strings for the vocabularies (#551)
mfw78 Jul 23, 2026
bbadf8a
world: single-source the ChainMethod read surface (#552)
mfw78 Jul 23, 2026
adb1605
flake: add cargo-nextest to the dev shell (#554)
mfw78 Jul 23, 2026
55d0f99
cow: cleave the cow venue from the composable-cow keeper (#462)
mfw78 Jul 23, 2026
db3aa91
wit: own the cow event ABIs at the bundle layer (#463)
mfw78 Jul 23, 2026
a3465fd
composable-cow: type ComposableBody with alloy primitives (#557)
mfw78 Jul 23, 2026
20d38c7
status-body: version-tag the intent-status envelope (#556)
mfw78 Jul 23, 2026
675ee46
cow: ratify the retry classification table against the upstream error…
mfw78 Jul 23, 2026
d88dc99
docs: note the grant-M2 contract-mods divergence in milestone reporti…
mfw78 Jul 23, 2026
93994bc
cow: settle the idempotency seam on the venue-and-body intent-id (#466)
mfw78 Jul 23, 2026
4d358ca
cow: build the cow venue adapter component with bounded request timeo…
mfw78 Jul 23, 2026
a926f79
cow: run the cow keeper on the generic venue client (#468)
mfw78 Jul 23, 2026
b399759
modules: re-point twap-monitor onto pool submit via the cow adapter (…
mfw78 Jul 23, 2026
f83f359
modules: re-point ethflow-watcher onto the venue observe path (#470)
mfw78 Jul 23, 2026
12106d1
build: delete the offline backtest harness (#562)
mfw78 Jul 23, 2026
d1b0d66
cow: retire the legacy cow-api host cone (#471)
mfw78 Jul 23, 2026
5270aa2
twap-monitor: index ComposableCoW v2 ConditionalOrderRemoved (#472)
mfw78 Jul 23, 2026
9cac7c3
twap: grant one next-block retry before dropping on InvalidEip1271Sig…
mfw78 Jul 23, 2026
aec462a
docs: rewrite platform docs as the shipped-venue source of truth (#474)
mfw78 Jul 23, 2026
149ee80
nexum-runtime: reject colliding extension claims at boot (#529)
mfw78 Jul 23, 2026
0014460
runtime: name all four components builder params in CoreRuntime (#532)
mfw78 Jul 23, 2026
a5573a3
videre-host: document handshake admission boundaries (#533)
mfw78 Jul 23, 2026
ee7848e
test: pin unknown-venue path when registry service absent (#531)
mfw78 Jul 23, 2026
06f820b
runtime: add PresetBuilder::with_components escape hatch (#530)
mfw78 Jul 23, 2026
7cff3d4
host: tighten venue-registry install seam and mutex discipline (#534)
mfw78 Jul 23, 2026
a780d63
keeper: reserve submit journal before the venue call
mfw78 Jul 24, 2026
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
3 changes: 0 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ target/
/data/
data/

# Backtest tooling output: large JSON fixtures + Python venv state.
# Re-collected on demand via `tools/backtest-collect/backtest_collect.py`.
tools/backtest-collect/fixtures-*.json
tools/baseline-latency/data/
tools/**/__pycache__/
tools/**/*.pyc
Expand Down
43 changes: 38 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ env:
# Dockerfile build, and the local host sccache — one silo, zero egress cost.
# Set at the workflow env level (not the composite) because composite actions
# cannot read the `secrets` context. Keys are content-addressed on the full
# compiler input, and the sole build.rs (cow-venue) + nexum-macros are
# compiler input, and the sole build.rs (cow-venue) + the macro crates are
# deterministic, so PR builds writing to the shared bucket write correct objects
# under correct keys (no poisoning); bound storage with an R2 lifecycle-expiry
# rule on the bucket (sccache does not evict cloud backends itself).
Expand Down Expand Up @@ -78,7 +78,8 @@ jobs:
- uses: taiki-e/install-action@43aecc8d72668fbcfe75c31400bc4f890f1c5853 # v2.83.2
with:
tool: nextest
# Build all 15 guest module wasms ONCE (release/wasm32-wasip2): the single
# Build all 18 guest wasms ONCE (17 modules + the cow adapter,
# release/wasm32-wasip2): the single
# source of truth for guest buildability and the artifacts the integration
# tests load. Replaces the deleted 9-way build-module matrix, which recompiled
# the shared wasm dependency graph ~9x cold. Per-module size report folded in;
Expand All @@ -87,9 +88,14 @@ jobs:
run: |
cargo build --release --target wasm32-wasip2 --locked \
-p example -p twap-monitor -p ethflow-watcher -p price-alert \
-p balance-tracker -p stop-loss -p http-probe \
-p clock-reader -p flaky-bomb -p fuel-bomb \
-p memory-bomb -p panic-bomb -p slow-host
-p balance-tracker -p stop-loss -p http-probe -p echo-venue \
-p echo-client -p echo-keeper -p clock-reader -p flaky-bomb -p flaky-venue \
-p fuel-bomb -p memory-bomb -p panic-bomb -p slow-host
# Separate invocation on purpose: unifying `cow-venue/adapter`
# into the module build would link the adapter's component
# export glue into every keeper module wasm.
cargo build --release --target wasm32-wasip2 --locked \
-p cow-venue --features cow-venue/adapter
{
echo "### module .wasm sizes"
echo "| module | bytes |"
Expand Down Expand Up @@ -143,3 +149,30 @@ jobs:
CXX_aarch64_unknown_linux_gnu: aarch64-linux-gnu-g++
AR_aarch64_unknown_linux_gnu: aarch64-linux-gnu-ar
run: cargo check --workspace --all-features --locked --target aarch64-unknown-linux-gnu

# Blocking zero-leak gate: host-layer crate graphs stay venue-free, the
# runtime Rust sources carry no charter symbol and no privileged router
# field, and nexum:host names no foreign WIT package and resolves as a
# leaf (scripts/check-venue-agnostic.sh).
venue-agnostic:
name: venue-agnostic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: ./.github/actions/rust-setup
- uses: taiki-e/install-action@43aecc8d72668fbcfe75c31400bc4f890f1c5853 # v2.83.2
with:
tool: wasm-tools,ripgrep
- run: ./scripts/check-venue-agnostic.sh

# Blocking orderbook-only gate: the CoW venue crate carries no
# composable symbol (scripts/check-cow-orderbook-only.sh).
cow-orderbook-only:
name: cow-orderbook-only
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: taiki-e/install-action@43aecc8d72668fbcfe75c31400bc4f890f1c5853 # v2.83.2
with:
tool: ripgrep
- run: ./scripts/check-cow-orderbook-only.sh
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ skills-lock.json

# Engine runtime state (default state_dir from engine.toml).
data/
# Shipped crate data slices are source, not runtime state: keep them.
!crates/*/data/
!crates/*/data/**

# E2E automation: rendered configs with embedded RPC keys + script state
# never get committed.
Expand Down
Loading
Loading