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
doc/stem.md — canonical explanation
transferOwnership() added to contracts/stem/src/Atom.sol (~4 lines)
- Test coverage for transferOwnership in
contracts/stem/test/Atom.t.sol
- 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
Summary
Create
doc/stem.mddocumenting 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:
Deliverables
doc/stem.md— canonical explanationtransferOwnership()added tocontracts/stem/src/Atom.sol(~4 lines)contracts/stem/test/Atom.t.soldoc/architecture.mdto cross-reference stem.mdDesign doc
~/.gstack/projects/wetware-ww/lthibault-fix-eval-load-wasi-path-design-20260329-145053.md