You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem. Doc 09 step 3a (PR #132): the intent core does not exist. No nexum:value-flow or nexum:intent packages, no second component kind, no pool router, no venue SDK.
Scope. The nexum:value-flow and nexum:intent WIT packages at 0.x (identifier-hygiene rule: check every id against WIT keywords and the nine binding targets). The venue-adapter world with a second bindgen and instantiation path, manifest kind venue-adapter, [[adapters]] engine config, and per-adapter scoped transport grants. The pool-router host implementation: venue-id resolution, derive-header then guard-seam then submit sequencing, per-adapter call serialisation (Store is not Sync), per-caller quotas charging decode failures to the caller. The intent-status event variant with router-driven status polling. nexum-venue-sdk (VenueAdapter trait, #[nexum::venue] macro, borsh IntentBody derive, typed transport wrappers, and the typed intent client core) and nexum-venue-test (codec round-trip vectors, header-derivation goldens, MockTransport). The echo-venue example pair as tutorial and conformance target.
Layering. This epic ships the two portable WIT layers every venue module imports: the venue-agnostic intent vocabulary (nexum:intent, nexum:value-flow) and the nexum:adapter venue-adapter world, over the runtime host ABI (nexum:host). No keeper piece migrates here; #135's keeper mirrors these types SDK-side per ADR-0009.
Notes. The adapter world carries the requires-signing(unsigned-tx) submit variant from day one (owner decision for N=2 on-chain settlement): submit may return a transaction the host routes through the guard's host-signed class instead of a receipt. Adapters still structurally cannot move value.
Next-train plan
Design gate (train step 0). Merge PR #132 (renumber the egress-guard ADR 0011 to 0012, closes #131).
Current state. Essentially nothing of the intent core exists: no nexum:value-flow/nexum:intent WIT, one component kind wired (EventModule), no pool router, no [[adapters]], no proc-macro crate, no borsh. Foundations that exist: the de-cow refactor landed (engine core domain-free, cow in shepherd-cow-host) and the extension seam (crates/nexum-runtime/src/host/extension.rs) is compatible with the per-extension router the pool needs. Children #226 through #234 are in review on the M1 train.
Problem. Doc 09 step 3a (PR #132): the intent core does not exist. No
nexum:value-flowornexum:intentpackages, no second component kind, no pool router, no venue SDK.Scope. The
nexum:value-flowandnexum:intentWIT packages at 0.x (identifier-hygiene rule: check every id against WIT keywords and the nine binding targets). The venue-adapter world with a second bindgen and instantiation path, manifest kindvenue-adapter,[[adapters]]engine config, and per-adapter scoped transport grants. The pool-router host implementation: venue-id resolution, derive-header then guard-seam then submit sequencing, per-adapter call serialisation (Store is not Sync), per-caller quotas charging decode failures to the caller. Theintent-statusevent variant with router-driven status polling. nexum-venue-sdk (VenueAdapter trait,#[nexum::venue]macro, borsh IntentBody derive, typed transport wrappers, and the typed intent client core) and nexum-venue-test (codec round-trip vectors, header-derivation goldens, MockTransport). The echo-venue example pair as tutorial and conformance target.Layering. This epic ships the two portable WIT layers every venue module imports: the venue-agnostic intent vocabulary (
nexum:intent,nexum:value-flow) and thenexum:adaptervenue-adapter world, over the runtime host ABI (nexum:host). No keeper piece migrates here; #135's keeper mirrors these types SDK-side per ADR-0009.Dependencies. De-cow epic (M0). #51 (capability allowlist surface), #107 (fuel-accounting verification underwrites the metering-attribution claims).
Notes. The adapter world carries the requires-signing(unsigned-tx) submit variant from day one (owner decision for N=2 on-chain settlement): submit may return a transaction the host routes through the guard's host-signed class instead of a receipt. Adapters still structurally cannot move value.
Next-train plan
Design gate (train step 0). Merge PR #132 (renumber the egress-guard ADR 0011 to 0012, closes #131).
Current state. Essentially nothing of the intent core exists: no
nexum:value-flow/nexum:intentWIT, one component kind wired (EventModule), no pool router, no[[adapters]], no proc-macro crate, no borsh. Foundations that exist: the de-cow refactor landed (engine core domain-free, cow in shepherd-cow-host) and the extension seam (crates/nexum-runtime/src/host/extension.rs) is compatible with the per-extension router the pool needs. Children #226 through #234 are in review on the M1 train.Children (ordered):
nexum:value-flowWIT 0.1 + identifier-hygiene gate · Wave A · Mnexum:intentWIT (pool iface, requires-signing outcome) · Wave B · M · deps wit: author the nexum:value-flow types package (0.1) with an identifier-hygiene gate #226[[adapters]]config · Wave C · L · deps wit: author the nexum:intent package (types + pool interface) with the requires-signing submit outcome #227intent-statusevent variant + router-driven status polling · Wave E · M · deps host: implement the nexum:intent pool-router (derive-header -> guard-seam -> submit, serialization, quotas) #229#[nexum::venue]proc-macro (adapter glue + per-component world) · Wave E · M · deps sdk: ship nexum-venue-sdk (VenueAdapter trait, borsh IntentBody derive, typed transport wrappers) #230, sdk: scaffold nexum-macros and ship #[nexum::module] over the current world #223#234 (echo-venue) is the first-train cut line: it proves the intent core end to end before the CoW adapter (#138) lands.
Blocked by: #136 (macro). Blocks: #138.