Skip to content

Latest commit

 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lambda-ma

Lambda-ma is a small direct-DID actor world for ma-runtime and zion. It publishes Scheme actor behaviours and a bootstrap YAML that builders can fork, reshape, and extend.

The world has no identity entity. A user acts as their authenticated bare did:ma: DID. Rooms store every node, including bare DIDs, in one children map; agents, things, and containers use full DID-URLs as their child keys.

Contents

actors/root.ma          local trust anchor and runtime service directory
actors/room.ma          room presence, exits, presentation, and room policy
actors/exit.ma          direct DID traversal policy
actors/trigger.ma      trigger actor — per-DID counters and narration rules
actors/trigger.md       trigger actor protocol — per-DID counters and narration rules
kinds/                  kinds used by the generated bootstrap
scheme-actor/           Scheme layers and the Wasm actor host
Makefile                publishes sources and generates dist/lambda-ma.yaml

The zscheme repository owns the Zion-side stdlib.zscheme, runtime.zscheme, avatar.zscheme, and events.zscheme libraries. Lambda-ma owns the actor behaviours and wire contract, not duplicate client-library sources.

The bootstrap creates #root, #scheduler, and #construct. #root :ctx? exposes the runtime service directory; only #root is required in a given runtime. A bare DID enters a room directly with :enter; the room replies with the committed DID ctx.

A client that has no room address yet asks #root :enter?, which always replies with a ctx naming a room to enter — the configured start room by default.

Claimed containers support owner-controlled locks. An owner may use :lock or :unlock; :lock <secret> additionally grants anyone with that secret access to :unlock <secret>, until the owner replaces it with another :lock call.

Room-owned exits use the same :lock <secret> contract: the room owner locks an exit through the room, and a traveller holding the secret may unlock it or pass straight through with go <direction> <secret>.

The normative contract is ma-lambda-ma-v1.md. Local actor APIs and bootstrap details are in REFERENCE.md; operational setup is in HOWTO.md.

Build

Kubo/IPFS and the Rust Wasm target are required:

rustup target add wasm32-unknown-unknown
make
make check

The build publishes the actor inputs with ipfs add and writes the generated bootstrap to dist/lambda-ma.yaml. Do not commit generated dist/ content.

About

ma-scheme actors for 間 runtime

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages