Skip to content

K8 · Proof example: direct-mode KERI end-to-end on the pure core (native + wasm32 CI) #94

Description

@joeldsouzax

Goal

The proof example: direct-mode KERI, pure core only. Two in-memory parties (no network, no db, no runtime — MemKel + SaltyKeeper only) run the full protocol end-to-end. This is the executable definition of "cesr has everything except db/runtime/config", and it is the W8 revoke demo's kernel: the bombay/Zenoh demo later is this example with transport swapped in.

Script (also the doc narrative)

  1. Alice incepts (SaltyKeeper, K7) → Bob ingests her icp through validate/apply (K1) and derives her KeyState
  2. Bob incepts; they exchange KELs — direct mode, valid KERI, no witnesses needed
  3. Alice rotates (K1 rotation rules; Bob's stale-key verification now FAILS, new keys verify)
  4. Alice delegates an agent AID (dip; [freeze] Delegation read path: structural dip/drt seal verification in cesr, KEL-walking documented above #83+K4 validate the seal chain on Bob's side)
  5. Agent signs messages; Bob verifies against the delegated KeyState
  6. Alice revokes the delegation (drt) → agent's next signature is rejected by pure verification — the wedge, in ~a page of code
  7. Out-of-order + duplicity detours: deliver events shuffled → K2 escrow verdicts route them; replay a forked event → K3 flags duplicity

Constraints

  • examples/direct_mode.rs — compiles for wasm32 too (CI-check it: this example IS the "KERI on any platform" claim)
  • No feature beyond the KERI-core set; if the example needs something not in K1–K7, that's a scope bug in the cards — file it, don't hack around it
  • Assert-rich, narrated like kel_chain.rs, linked from README as the flagship example

Acceptance

Example runs native + wasm32 in CI; every step's verdict asserted; README section "KERI without a database" written around it; the agency #140 demo script references this as its core.

From the 2026-07-05 roadmap review (Phase 4 vertical slice). Depends on: K1–K7 (integration card — lands last). Enables: bombay M4 demo, agency #140.

Metadata

Metadata

Assignees

No one assigned

    Labels

    devxDeveloper experience: API, prelude, examples, errors

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions