Skip to content

doc/stem.md — document the stem contract story #286

@lthibault

Description

@lthibault

Summary

Create doc/stem.md documenting the stem contract's purpose and framing.

Story

Stem is a library of on-chain coordination primitives for off-chain reactive systems. Atom is the first primitive: a linearizable shared register holding a content-addressed pointer (CID), with monotonic sequencing and change notification. Off-chain runtimes subscribe to HeadUpdated events and react (e.g. capability revocation and re-graft).

Key points to document:

  • Atom as a linearizable register (head = atomic load, setHead = conditional store)
  • Why on-chain: permissionless trust, global singleton, auditability, economic hooks
  • Relationship to Wetware runtime: Atom produces the signal, EpochGuard enforces it
  • Composition: governance/access control are wrappers, not features of the primitive
  • Identity: node keys are Ed25519 (p2p), operator key is secp256k1 (contract owner)

Deliverables

  1. doc/stem.md — canonical explanation
  2. transferOwnership() added to contracts/stem/src/Atom.sol (~4 lines)
  3. Test coverage for transferOwnership in contracts/stem/test/Atom.t.sol
  4. Update doc/architecture.md to cross-reference stem.md

Design doc

~/.gstack/projects/wetware-ww/lthibault-fix-eval-load-wasi-path-design-20260329-145053.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions