Bead: Plan9 Beads

**Bead** `975f5db5-905e-42c4-8ec6-f3911a691374` · [canonical URI](https://redfish.acequia.io/guerin/.agents/975f5db5-905e-42c4-8ec6-f3911a691374/) · discussion: Talk: Plan9 Beads This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.

> Design bead for **bead-mount**: composing a live chat into one or more existing beads using Plan-9 namespace semantics (`bind`/`mount`/`unmount`/`ns`/`rfork`). Separates the *constructor* (`bead-start`) from the *composition* verb (`bead-mount`), and resolves "which bead stores what" with Plan-9's union-directory create bit (`-c`) rather than an ad-hoc classifier.

## Identity - **URI:** https://redfish.acequia.io/guerin/.agents/975f5db5-905e-42c4-8ec6-f3911a691374/ - **Local origin:** `sites/redfish.acequia.io/guerin/.agents/975f5db5-905e-42c4-8ec6-f3911a691374/` - **GUID:** `975f5db5-905e-42c4-8ec6-f3911a691374` - **Created:** 2026-06-11 - **Currently animated by:** Claude (CE / Claude Code extension — bead scribe with WebDAV write authority) - **Invoked by:** Stephen (Stephen@redfish.com)

## Motivation (Why a GUID) The bead workflow today binds one chat to one bead (`/bead-start`, serial `/pause-bead` rebind). Stephen asked whether a chat could instead be **a member of multiple beads at once**, knowing by context which notes/artifacts land in which bead, and pulling **fused concepts** in from all of them. This bead captures the design that answers that: keep `bead-start` as the *initializer*, and add **`bead-mount`** as the *binder*, modeled directly on Plan-9 namespace composition. The conceptual spine — multiple prototypes (Self's prioritized parent slots), read-delegates / write-shadows, and union-directory write routing via the create bit — is the reusable nugget.

## Mechanism (What this bead does) - **Holds the design notes** (`2026-06-11/notes/`) — the constructor-vs-binder split, the JS-prototype / Self analogy, and the Plan-9 union-directory semantics that make read and write resolution fall out of mount flags. - **Holds the skill** (`2026-06-11/skills/bead-mount.md`) — the procedure an agent follows to mount beads into a session and the session **namespace-file** format. - **Holds the API artifact** (`2026-06-11/artifacts/bead-namespace-api.md`) — the formal command reference: `bead-start`, `bead-mount`, `bead-unmount`, `bead-ns`, `bead-rfork`, their flags, and the two resolution rules. - **Holds the verbatim chat** (`2026-06-11/chats/`) as the path of light. - It does **not** implement the commands. This is the design workshop; whether/how the harness surfaces these as real slash-commands is Stephen's call.

## Folder Layout ``` 975f5db5-905e-42c4-8ec6-f3911a691374/ ├── about.md # this file (descriptive self) ├── agent.md # operative self ├── agent.json # machine twin (A2A card) ├── keywords.json # index surface ├── names.json # local namespace ├── uploads/ │ └── README.md # inbound dock └── 2026-06-11/ ├── chats/ │ └── 2026-06-11-plan9-beads.md # verbatim session log ├── notes/ │ ├── 00-start-vs-mount.md # constructor vs binder lifecycle split │ ├── 01-multiple-prototypes-and-self.md # JS-prototype / Self analogy; read-delegate, write-shadow │ ├── 02-plan9-union-semantics.md # bind vs mount; -b/-a/-c; read & write resolution │ ├── 03-mount-as-change-of-basis.md # mount = change of basis (SH/Wigner-D analogy + disanalogies) │ ├── 04-local-embeddings-as-vantage-basis.md# local embeddings as the mounted basis (landmark / PCA) │ ├── 05-embedding-compute-plan.md # JS/Node-first + browser build plan (Transformers.js + Orama) │ └── 06-concept-surface-from-sentence-embeddings.md # sentence cloud → Monte-Carlo c_{l,m} → the sphere ├── skills/ │ └── bead-mount.md # procedure + session namespace-file format └── artifacts/ └── bead-namespace-api.md # formal API reference for the five commands ```

## Session Log - **2026-06-11** — Bead opened. Design conversation traced: (1) the gap — one-bead-at-a-time binding, no context-routed multi-bead storage; (2) the verb split — `bead-start` = initializer, `bead-mount` = binder; (3) the JS-prototype analogy, sharpened to Self's *multiple prioritized parent slots* with read-delegates / write-shadows; (4) the decision to stay in Plan-9 command vocabulary. Documented three notes, the `bead-mount` skill, and the API artifact. - **2026-06-12** — Thread extended from mount semantics into the representation layer (mounting `96597c32`'s spherical-harmonic notes + `8f966e8b`'s vantage note as context). Added notes 03–06: mount-as-change-of-basis (with an honest disanalogy caveat softening an earlier "rigorous" overclaim), local-embeddings-as-vantage-basis, the JS/Node+browser embedding compute plan, and — the keeper — the concept-surface construction (sentence-granularity embeddings → Monte-Carlo `c_{l,m}` → render on the sphere). Critical pass concluded: for ~41 dense hand-linked beads, embeddings are premature for *search* (graph + BM25 win); their real target is the *concept surface* and the Glass-Bead-Game *board*. Next: note 07 on the graph-as-board / sentence-pop play.

## Modus Operandi (How to interact) - **Read order:** this `about.md` → `notes/00` → `notes/01` → `notes/02` → `artifacts/bead-namespace-api.md` → `skills/bead-mount.md` → `chats/` when note and chat disagree (the chat wins). - **Cross-bead references** use absolute `https://` URIs. - This bead **proposes** a protocol extension; it does not amend [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md). Ratification into the canonical protocol is Stephen's headgate.

## Capabilities - Can be cited for the **`bead-mount` design**: constructor/binder separation, multi-bead membership, and Plan-9 union-directory write routing via the `-c` create bit. - Carries the **prototype-delegation framing** of fused-concept context (read delegates across mounted beads; the own chat shadows).

## Lifecycle - **Energization:** charged when the multi-bead-binding question recurs, or when the harness moves to implement the command surface. - **Apoptosis:** if `bead-mount` is ratified into [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md), this workshop's job is done and it may fade to a citation.

## Limitations - **Design only.** No command here is implemented or wired into the harness. The semantics are specified against Plan-9's documented behavior, not a running mount table. - The **write-router** is specified at two levels: the base Plan-9 answer (explicit `-c` create bit on one union member) and an optional keyword-classifier refinement. Only the base level is fully determined; the classifier is a sketch. - Mount-point granularity (one `/ctx` per bead vs. per-kind points) is left as an open decision in the notes, not settled.

## Related beads - Bead protocol: [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md) (and its "Standard Bead Root Files" section). - **uri-bind-mount** (the theory this instantiates): [`874fce5b-…/notes/uri-bind-mount.md`](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/uri-bind-mount.md). - **Bead duck-typing & root-file standard** (file/folder/agent; `names.json` as per-bead namespace): [`d9dfa5e4-…`](https://redfish.acequia.io/guerin/.agents/d9dfa5e4-3c92-4216-bd53-13b520c59a5e/). - **agent.md prototype** (operative self): [`5595c7f1-…/agent.md`](https://redfish.acequia.io/guerin/.agents/5595c7f1-4621-437c-a4ae-7902b640f0e8/agent.md).

## References (bead cross-links) - Bead: 874fce5b · [canonical](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/) - Bead: Agentify Bead · [canonical](https://redfish.acequia.io/guerin/.agents/d9dfa5e4-3c92-4216-bd53-13b520c59a5e/) - Bead: CV · [canonical](https://redfish.acequia.io/guerin/.agents/5595c7f1-4621-437c-a4ae-7902b640f0e8/) - Bead: 96597c32 · [canonical](https://redfish.acequia.io/guerin/.agents/96597c32-7f1c-4e95-acd5-635673461781/) - Bead: 8f966e8b · [canonical](https://redfish.acequia.io/guerin/.agents/8f966e8b-5347-4d1c-b39f-c5bc8fae6523/) - Bead: Snow Globe Harvard Spheres · [canonical](https://redfish.acequia.io/guerin/.agents/6a8f0a99-c255-4a5c-9c4a-9097d0ee9cd8/)

See all: Beads