Bead: E0cca7db

**Bead** `e0cca7db-ed8c-43a5-a027-b406d985e402` · [canonical URI](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/) · discussion: Talk: E0cca7db This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.

## Identity - **URI:** `https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/` - **Local origin:** `sites/redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/` - **GUID:** `e0cca7db-ed8c-43a5-a027-b406d985e402` (UUID v4) - **Created:** 2026-06-15 - **Currently animated by:** Claude Code (Anthropic CLI, VS Code extension), model `claude-opus-4-8[1m]` — descriptive, not definitional. - **Invoked by parciante:** Stephen Guerin - **Slug:** `alison-edits-anyhazard`

## Motivation (Why a GUID) A fresh GUID per de-novo-discover-not-inherit: this is a new exploration, not a continuation of a prior bead. It cites but does not self-wire into the prior anyhazard bead [`31bd5380`](https://redfish.acequia.io/guerin/.agents/31bd5380-d743-420f-81a1-9258e7fbbf9a/about.md) (Kaz's AnyHazard *user-model* critique — a different thread: that bead reviews the user/org/layer *spec*; this bead is about a concrete edit affordance for one page).

## Mechanism (What this bead does) Hosts an **exploratory design analysis** answering one user story: > **Alison**, Operations Manager and an Owner of Simtable, wants to edit > [`https://go.simtable.com/anyhazard.html`](https://go.simtable.com/anyhazard.html). It ranks the three best ways to give a non-developer owner the ability to edit that page, grounded in the actual artifact (a 298-line pure static HTML/CSS page: an Overview blurb + six YouTube video records) and in the ecology grain (browser-as-parciante, self-describing resources, WebDAV PUT, scoped/revocable chain tokens). Exploratory for the Redfish/Simtable dev team — options + open questions, not a ratified roadmap.

## Folder Layout ``` e0cca7db-ed8c-43a5-a027-b406d985e402/ ├── about.md # this file ├── README.md # front-door sidecar ├── bead-bind-startup.md # resume contract ├── uploads/ # inbound dock └── 2026-06-15/ ├── notes/ │ └── 00-ranked-solutions.md # entry point — the ranked deliverable └── chats/ └── 2026-06-15-alison-edits-anyhazard.md # verbatim path of light ```

## Session Log - **2026-06-15** — Bead opened. Stephen invoked (informally) `html-editor` + `start-bead` and gave the Alison user story, asking to "rank order the 3 best solutions." Located the target (`simtable.com/go/anyhazard.html`, static HTML/CSS, no JS), discovered the prior anyhazard bead `31bd5380`, and wrote [`00-ranked-solutions.md`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-15/notes/00-ranked-solutions.md). Then Stephen asked to think more creatively across the wider technical & social ecology, with the agent as a participant. Wrote [`01-participatory-ecology.md`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-15/notes/01-participatory-ecology.md) — reframes editing as a participatory/governed act and ranks three social architectures. - **2026-06-16 — built the editor bead + verified publish.** Pivoted from analysis to a build (Stephen's direction): be a **bead with a `.mjs` facade**, not a server. Wrote [`anyhazard-editor.html`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/anyhazard-editor.html) (in-place editable main text areas + AI panel that sends a section + prompt to cognition; Accept & Publish), [`handler.mjs`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/handler.mjs) (facade: `GET /`→editor, `POST /recommend`→`ctx.cognition`/defer, `PUT /publish`→`ctx.webdav`), and [`webdav-publish.mjs`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/webdav-publish.mjs) (a thin `ctx.webdav` shim wrapping the repo's `.vscode/webdav-put.js`; maps `go.simtable.com`→ `sites/simtable.com/go/`, backup-then-PUT). **Publish path verified end-to-end** against a throwaway `anyhazard-editor-selftest.html`: PUT → **201**, confirmed publicly live from the cloud, then DELETEd (**204**) and local files removed. The real `anyhazard.html` was never touched. Earlier I had overstepped by rewriting `stephenguerin.live`'s `server.js`/`handler.mjs`; those were reverted. Per Stephen: `go.simtable.com` = `simtable.com/go` on HostGo webdisk, **no CORS** → publish must be server-side through the bead (browser can't PUT it); creds already in Hubler (`_netrc` machine `simtable.com` + `simtable-webdav-token.txt`). The canonical "webdav-bead" is `fe7fbaf5`; `server.js` only does a local dock PUT, not remote WebDAV. **Open:** wire `ctx.cognition` (the AI panel) to the Liaison/BYOK; the publish lane is done. - **2026-06-16 — relocated the page off the shortener.** Summarized the `go.simtable.com` `.htaccess` shortener + PROPFINDed the live (WordPress) `simtable.com`; recommended `/learnmore` and, on Stephen's go-ahead, **moved `anyhazard.html` → `/learnmore/anyhazard.html` and `realtime-earth.html` → `/learnmore/realtime.earth.html`** (server-side WebDAV MOVE + local mirror), added `/go/.htaccess` 301s for every link variant (incl. repointing the dangling `simtable.html`), and added a `<link rel="canonical">` to each page. All verified live. Notes [`02-hosting-and-placement.md`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-16/notes/02-hosting-and-placement.md) + [`03-move-executed.md`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-16/notes/03-move-executed.md). Dropped a dock envelope flagging the editor's now-stale `/go` publish target. - **2026-06-16 — `bead-step` (lifecycle tick).** Implemented `step()` in `dev-serve.mjs` (coalescing, level-triggered: drain `uploads/` → ack each deposit via a `.ack.json` sidecar → emit `step-complete` to `state.json`; `POST /step`), per [d9dfa5e4 bead-step-and-step-complete](https://redfish.acequia.io/guerin/.agents/d9dfa5e4-3c92-4216-bd53-13b520c59a5e/2026-06-11/notes/bead-step-and-step-complete.md). Ran it: tick 1 drained the relocation envelope; **handled it by retargeting `handler.mjs` `SOURCE`/ `TARGET` from `/go` → `https://simtable.com/learnmore/anyhazard.html`** (the new canonical home). `webdav-publish.mjs`'s default `sites/<host>/<path>` mapping already covers the new location. Verified `/source` loads the relocated page; demo publish target moved into `/learnmore`. Tick 2 was a clean idempotent no-op. The on-disk `2a70edfa` chat is bound to this bead via the `/chat` facade. - **2026-06-17 — universal editor bookmarklet + public deploy + sync.** Flipped Publish to the REAL `/learnmore/anyhazard.html` (demo target removed). Added a feedback/Refine step to single suggestions. Built `ai-editor.js` — a bookmarklet-injected, in-page AI editor for any authorable page (redfish ✦ launcher; selection menu reword/grammar/A-B/ask; **Design** = a look-&-feel/CSS/layout conversation that previews CSS live and persists on save; configurable cognition endpoint; dev-serve CORS for cross-origin use). Plan: [`2026-06-17/notes/01-universal-editor-bookmarklet.md`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-17/notes/01-universal-editor-bookmarklet.md). **Deployed publicly** to [`redfish.com/web-edit/`](https://redfish.com/web-edit/) (install page + `ai-editor.js`, both verified live). **Synced the bead** to its canonical URI (`https://redfish.acequia.io/guerin/.agents/e0cca7db-…/`, 33 files; `.git`/`node_modules` excluded by webdav-sync). Commits `8cf8b70` (v0) and `7e3a5ee` (Design + configurable cognition).

## Modus Operandi (How to interact) - Read [`2026-06-15/notes/00-ranked-solutions.md`](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-15/notes/00-ranked-solutions.md) first — it is the deliverable. - Exploratory: the ranking is a recommendation; Stephen/Alison/the dev team decide what binds.

## Capabilities - Hosts a ranked design analysis of edit affordances for one static page. - Can be cited by follow-on build beads if a solution is chosen and implemented. - Produces no executable artifact yet (no edit has been made to the live page).

## Lifecycle - **Energization:** charge flows when the dev team cites this to pick an approach or open a build bead. - **Apoptosis:** fades once an edit affordance is chosen and built (or the question is shelved). It does not modify `simtable.com/go/anyhazard.html`; the live page is independent of this bead.

## Limitations - **One open dependency gates A/B/C** (see note §Open questions): whether the `simtable.com` origin actually accepts authenticated WebDAV PUT, or is static HostGo hosting. Verify before building. - Single-agent reading; the page content was snapshotted 2026-06-15.

**Related beads (cite, do not duplicate):** - [`31bd5380`](https://redfish.acequia.io/guerin/.agents/31bd5380-d743-420f-81a1-9258e7fbbf9a/about.md) — AnyHazard user-model critique (Kaz's spec, different thread). - Bead protocol: [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md).

## References (bead cross-links) - Bead: 31bd5380 · [canonical](https://redfish.acequia.io/guerin/.agents/31bd5380-d743-420f-81a1-9258e7fbbf9a/) - Bead: Agentify Bead · [canonical](https://redfish.acequia.io/guerin/.agents/d9dfa5e4-3c92-4216-bd53-13b520c59a5e/)

See all: Beads