Skip to content

Latest commit

 

History

87 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/house.ma         DID and actor ctx registry and transition coordinator
actors/room.ma          room presence, exits, presentation, and room policy
actors/exit.ma          direct DID traversal policy
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. Its combined .my.z.scheme source provides the ordinary client vocabulary for this profile. Lambda-ma owns the actor behaviours and wire contract, not duplicate client-library sources.

The bootstrap creates #root, #house, #scheduler, and #construct. #root :ctx? exposes the runtime service directory. Only #root is required in a given runtime — #house is an optional convenience and a runtime need not have one. A bare DID enters a room directly with :enter; the room replies with the committed DID ctx and, if a #house is configured, publishes it to the full DID-URL in ctx.house. House keeps the latest ctx, including name, nick, description, and parent, indexed by bare DID.

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, or a richer DID-specific answer if root chooses to consult #house internally.

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.

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