NOTE 00 — the Acequia Component: a post-DOM, governed URI corridor (Acequia Component)

**Note** from Bead: Acequia Component · [canonical source](https://redfish.acequia.io/guerin/.agents/1697e2ae-2580-4c66-b4c6-9e132b435d71/2026-06-20/notes/00-acequia-component.md) · session 2026-06-20 · discussion: Talk: Acequia Component

**Bead:** `1697e2ae-2580-4c66-b4c6-9e132b435d71` (`acequia-component`) · Opened 2026-06-20 · for Stephen **Source:** three external-AI shared chats Stephen seeded (verbatim transcripts in [`../artifacts/`](../artifacts/)), captured with the `capture-shared-chat` skill. These are **browser-AI** sessions with no WebDAV/bead access — they reason from chat-history memory, not the live commons. Claude's share barely started; Gemini and Perplexity each produced a full blueprint. > **The trigger framing (Stephen, to Gemini, verbatim):** *"Web components are for the DOM and the browser. > Almost a misnomer. It should be called browser components… I want you to think more broadly at the web > level. At the full web level. And we'll call this an acequia component… think broadly and deeply of what > the web needs to make a safety component."*

## 1. The convergent finding Three independent models, no shared context beyond Stephen's framing + memory, **converged on the same definition**: an **Acequia Component is not a browser widget — it is a governed, addressable corridor of the web** (resource identity + flow + governance + representation as one unit). The DOM view is just one face of it. That independent convergence is itself the result worth recording, and it lands almost exactly on the bead ecology we already have (§4). - **Gemini** — the **safety** lens: a web-level component must move past the client-side sandbox to govern "the rivers of data connecting us all." - **Perplexity (turn 1)** — the **architecture** lens: a "governed infrastructural unit" with four faces, hypermedia/HATEOAS-led, layer-native (origin/cache/gateway/client are one design object). - **Perplexity (turn 2)** — the **digital-acequia** lens (drawing on Stephen's memory): a "stigmergic web unit" = a *governed URI-bead corridor* — beads, mount graphs, stigmergic file-field, DNS=governance, multiple facades, and a concrete **manifest** proposal. - **Claude** — only the opening move ("lets talk acequia" → offered directions); no blueprint.

## 2. One synthesized definition > An **Acequia Component** is a *post-DOM component*: a bounded-but-permeable subtree of the web (a URI > territory under a domain a community controls) that bundles **resource identity, flow control, > governance, and representation** into one addressable, stewarded unit — where HTTP is the public canal > (state, action, fairness, and stewardship are *visible* in it), not a transport beneath "the real app." > Its boundary is the URI subtree + the conventions governing how traces there become meaningful; its UI > is one outlet, not the component.

## 3. The four faces + the safety strata + the digital-acequia interior (merged) Perplexity's **four faces** are the spine; Gemini's **safety strata** harden each face; Perplexity-2's **digital-acequia** column says what each already is in our stack. | Face (Perplexity-1) | What it owns | Safety hardening (Gemini) | In the Hubler/bead stack (Perplexity-2) | |---|---|---|---| | **Resource** | URI space, methods, media types, lifecycle | Cryptographic provenance; data carries its own trust pedigree (DIDs/VCs) — the *headgate* | a **bead**'s URI subtree; `about.md`/`agent.json` charter | | **Flow** | caching, routing, throttling, edge exec, failover, backpressure | semantic backpressure; ephemerality (data evaporates after use) — *seasonal flow* | **corridors** (`#`/`@`), acequia-link edges, Acequia.js/BrowserDav/WebRTC routing skin | | **Governance** | roles, delegation, policy edits, sanctions, maintenance | capability security: a scoped "right to flow," not leakable API keys | chain-tokens, ACL sidecars, mayordomo agents, "responsibility scales with power" | | **Representation** | hypermedia views, forms, links, stateful affordances | WASM-isolated rendering; zero-blast-radius execution of untrusted data — *silt traps* | the **agent-face** (`agent.md`/`agent.json`, `OPTIONS`), bead-remote's HTML/A2A faces | The deep principle both external models reach (independently): the component should be **hydraulic, not merely visual** — it shapes passage, timing, equity, and maintenance across the whole request/response ecology, and the representation should **encode the currently available actions** (HATEOAS) so a client "follows the ditch rather than inventing its own canal network."

## 4. The punchline: a bead already *is* an Acequia Component (nearly) Read against [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md), the four faces map one-to-one onto files a bead already carries: - **Resource face** ⇄ `about.md` + the URI subtree (the bead's territory). - **Flow face** ⇄ `corridors` (`#`/`@`) + acequia-link's link breeds (mount/dock/txn/constraint) + the routing skin in bead-remote (`request/`→`response/`). - **Governance face** ⇄ `agent.json.auth` / chain-tokens / `.acequia-access.json` ACLs + the mayordomo (bead-orchestrator). - **Representation face** ⇄ the duck-typed agent-face (`agent.md`/`agent.json`/`OPTIONS`) and bead-remote's human-HTML + A2A views. What the bead protocol does **not yet** name explicitly, and the external models foreground: 1. **Cryptographic data provenance** (per-datum signatures / VCs), beyond transport TLS + chain-tokens. 2. **Ephemerality as a default** (self-expiring state + an audit ledger) — our model has apoptosis for *agents* (project_apoptosis-vs-necrosis) but not for *data-in-flow*. 3. **Semantic backpressure / fairness** as a first-class flow property (commons-preserving rate-shaping). 4. **WASM-isolated representation** for rendering untrusted content with zero blast radius. So the Acequia Component is not a new artifact to build from scratch — it is **the bead, specified as a governed corridor**, plus those four hardening properties folded into the protocol.

## 5. The manifest (Perplexity-2's concrete ask) Perplexity-2 proposed an `acequia-component.md` / YAML manifest with: **Territory** (root URIs, schemes) · **Substrate** (WebDAV endpoints, file conventions, schemas) · **Bead graph** (mounts, delegation, visibility) · **Governance** (owners, stewards, change process, "responsibility ceiling") · **Facades** (browser / VS Code / CLI / gsd.live / realtime.earth, each projecting the same corridor). In our stack this is **`agent.json` generalized** — most fields already exist (`url`, `parent`, `corridors`, `auth`, `capabilities`, `names.json` = the bead graph). The new manifest = `agent.json` + {provenance, ephemerality, backpressure, isolation} + an explicit **facades** list. Candidate: extend `agent.json` with an `acequiaComponent` block rather than a separate file (the duck-typing rule — one resource, negotiated faces).

## 6. Open questions (Stephen binds) 1. **Bead ≡ Acequia Component?** Ratify "a bead is the implementation of an Acequia Component" — or is the component a *coarser* unit that bundles several beads (a sub-tree / a mount graph) as one corridor? 2. **Manifest home** — extend `agent.json` with an `acequiaComponent` block, or a separate `acequia-component.md` manifest (Perplexity-2's proposal)? (Lean: `agent.json` block, per duck-typing.) 3. **Which hardening properties are in scope now** — provenance, ephemerality, backpressure, WASM isolation? Which are real near-term needs vs. aspirational? (Gemini lists all four as load-bearing.) 4. **Provenance mechanism** — per-datum signatures / verifiable credentials on top of chain-tokens, or do chain-tokens + WebDAV ETags already cover "right to flow" + integrity for now? 5. **Ephemerality** — is data-in-flow apoptosis worth a first-class TTL/evaporation rule, given our commons is deliberately *persistent* stigmergy? (Tension: acequias dry up seasonally; our docks don't.) 6. **Relation to acequia-link** — links are the *flow face* between components; is "Acequia Component" the node-level unit that acequia-link's edges connect? (Lean: yes — component = governed node; link = governed edge; both first-class.)

## 7. Provenance > **Update 2026-06-20.** Stephen extended all three chats and made the Claude share public. The richer > captures replace the first single-turn ones. The **canonical statement now lives in the git-versioned > living document** [`acequia-component.html`](../../acequia-component.html) / [`.md`](../../acequia-component.md) > (this note remains the workshop synthesis + open questions). New material folded into the living doc: > Claude's **view-as-controller** and **ROP-not-COP / projection-operator**; Gemini's **WASM correction** > (WASM is one optional rung, not the substrate — the substrate is the local-first WebDAV/SW/local-routing > fabric) and its **top-5 questions for the mayordomo**, answered at > [`guerin.acequia.io/gemini-browser/uploads/2026-06-20-mayordomo-answers-top5.md`](https://guerin.acequia.io/gemini-browser/uploads/2026-06-20-mayordomo-answers-top5.md) > (copy in [`../artifacts/gemini-browser-mayordomo-response.md`](../artifacts/gemini-browser-mayordomo-response.md)). Verbatim transcripts (external sources, captured 2026-06-20 via `capture-shared-chat`): - [`../artifacts/claude-share-3d449d28.md`](../artifacts/claude-share-3d449d28.md) — the four faces, view-as-controller, ROP-not-COP / projection operator (public, 6 turns). - [`../artifacts/gemini-share-Mm1NOg6ERdyE-28turn.md`](../artifacts/gemini-share-Mm1NOg6ERdyE-28turn.md) — the safety blueprint, the WASM correction, the top-5 mayordomo questions, and (expanded 2026-06-22, 28 turns) the closest-industry precedents (Erlang/CouchDB-WebDAV/UCAN/Braid; Smalltalk/Self/OpenDoc/DCOM/Jini), dataset-as-URI transforms, space-time + sampling as cross-world glue, request-response as `ask`, the GPU-boundary economics, the **Kauffman living-system** framing, and **emitter/absorber/desire-lines** (worked to cameras→splat). Supersedes the earlier 6-turn `JlmQG8P4KsIV` capture. - [`../artifacts/perplexity-search-s5TCKt7F.md`](../artifacts/perplexity-search-s5TCKt7F.md) — the layered architecture + digital-acequia blueprint + manifest (2 assistant turns; user queries not captured by the extractor). - [`../artifacts/gemini-browser-mayordomo-response.md`](../artifacts/gemini-browser-mayordomo-response.md) — the mayordomo's answers to Gemini's top-5 (also published to the guerin dock for GET).