Letting Alison edit anyhazard.html — the 3 best solutions, ranked (E0cca7db)

**Note** from Bead: E0cca7db · [canonical source](https://redfish.acequia.io/guerin/.agents/e0cca7db-ed8c-43a5-a027-b406d985e402/2026-06-15/notes/00-ranked-solutions.md) · session 2026-06-15 · discussion: Talk: E0cca7db

**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).

## What we are actually editing - **The artifact:** a **298-line pure static HTML/CSS page** — no JavaScript, no CMS, no edit affordance today. Local origin `simtable.com/go/anyhazard.html`. - **The content that changes:** an **Overview** blurb (two paragraphs) plus a **Video Archive of six records**, each a YouTube embed with a title, a description, a few tags, and a `go.simtable.com/…` shortlink. This is maintain-over-time content: fix copy, swap a description, add or retire a record. - **The editor:** a non-developer. As an **Owner**, Alison has full authority over the path; she can legitimately hold a write credential for it. The problem is not permission, it is **altitude** — giving her an edit surface that does not require reading or writing HTML.

## How the candidates were judged | Axis | Why it matters for Alison | |---|---| | **Skill floor** | Can a non-dev use it without touching markup? | | **Altitude / WYSIWYG** | Does she edit what she *sees*, or raw HTML/JSON? | | **New infrastructure** | Servers, build steps, a CMS to stand up and maintain? | | **Auth fit** | Scoped, revocable, owner-grade credential? | | **Ecology grain** | Browser-as-parciante, self-describing resource, WebDAV PUT? | | **Safety / reversibility** | Backup-before-overwrite, confirm, can't nuke the file? | | **Reach** | Can it make *all* her changes — copy *and* add/remove a record? |

## #1 — In-page inline editor (the page edits itself) Add one small `<script>` to `anyhazard.html`. When an authenticated owner loads it, an **Edit** toggle appears; the editable regions (Overview paragraphs, each card's title/description/tags) become `contenteditable`. **Save** serializes the page's own DOM and `PUT`s it back to its own URI over WebDAV, gated by Alison's owner **chain token** scoped to `writePaths: ["/go/anyhazard.html"]`. Save first writes a timestamped backup (the overwrite-backup rule in `conventions.md`) and shows a confirm. - **Skill floor — lowest for direct edits.** Click the text, type, Save. No tools, no markup. - **Altitude — perfect WYSIWYG.** She edits exactly what visitors see, in place, in context. - **Infrastructure — none new.** One script appended to the file that already exists. No server, no build, no CMS. The page becomes the editor. - **Auth — exact fit.** Her owner capability token, scoped to this one file, revocable; service-worker ambient auth covers the PUT. ("Browser is a first-class parciante node" — the key belongs there.) - **Ecology grain — textbook.** This is the literal "static file is the degenerate agent": the resource gains a thin agent-face that can rewrite itself. WebDAV-first. - **Reach — caveat.** Excellent for copy/text. **Adding or deleting a whole video card** needs explicit "+ Add record / Delete" affordances built into the editor — a bit more work than plain `contenteditable`, but well-bounded and one-time. **Why #1:** highest day-to-day value at the lowest standing cost. It meets Alison where she already is (in the page, in a browser), adds zero infrastructure, and is the most native expression of the ecology. The only real work is making the structural add/remove first-class.

## #2 — Agent-mediated, natural-language editing Alison opens a chat with a CE `html-editor` agent-bead and says, in plain English: *"Add a seventh video — here's the YouTube link and a two-line blurb,"* or *"tighten the Overview to one paragraph."* The agent reads the page, makes the edit, and `PUT`s it back (CE is the WebDAV scribe). She never sees markup at all. - **Skill floor — lowest overall.** Pure natural language; there is no UI to learn, and structural changes are as easy to ask for as copy tweaks. - **Altitude — highest.** Add/remove records, restructure sections, "make it match the new branding" — all expressible without her touching HTML *or* JSON. - **Infrastructure — heavier.** Needs an agent host with WebDAV write credentials and an **API budget** (the bead-handler / animator lane), plus a **review loop** — an agent can mis-edit, so changes want a diff/confirm before they go live. - **Altitude trade — not WYSIWYG.** She describes, then checks the result; the feedback loop is slower than typing directly into the page. - **Ecology grain — strongly native.** Agent-bead as editor, "hey you, it's me" dock for handoff. **Why #2, not #1:** it is the most accessible and the most powerful for *structural* change, but it is **indirect** and carries standing cost (host + credentials + per-edit budget + trust/review). It is the ideal **complement** to #1 — the natural home for big restructures — rather than the everyday tool.

## #3 — Browser source editor with save-to-WebDAV A small static editor page loads `anyhazard.html`'s source into Monaco/CodeMirror, and a **Save** button `PUT`s it back (same scoped token, same backup-first discipline). No server; it is itself a static page. - **Reach — total.** Any change is possible, including ones #1's editable regions don't cover. - **Infrastructure — minimal.** A static editor page; GET on open, PUT on save. - **Skill floor — high.** It exposes **raw HTML**. Wrong altitude for a non-developer day-to-day — one stray `</div>` breaks the layout. **Why #3:** the **power-user / developer fallback**. Correct for the changes #1 can't reach and for whoever maintains the template, but not the daily surface for Alison.

## Ranking at a glance | Rank | Solution | Skill floor | WYSIWYG | New infra | Best for | |---|---|---|---|---|---| | **1** | **In-page inline editor** | Lowest (direct) | ✅ Perfect | None | Alison's everyday copy edits | | **2** | **Agent-mediated NL editing** | Lowest (overall) | ❌ Describe-then-check | Host + creds + budget | Structural change; "just tell it" | | **3** | **Browser source editor** | High (raw HTML) | ❌ Source | Minimal | Power-user / dev fallback | **Recommendation:** build **#1** as Alison's primary surface and back it with **#2** for structural or ambitious edits; keep **#3** as the escape hatch. They share one substrate — a scoped, revocable owner chain token and backup-before-PUT — so they compose rather than compete.

## Below the line (considered, not in the top 3) - **Content-as-data (extract the six records + Overview to `anyhazard.json`/`.md`; the page fetches and renders; Alison edits via a generated form).** Architecturally the *cleanest* answer for content that is really a list of records, and it **composes** with #1/#2 (inline-edit or agent-edit the JSON instead of the DOM). Ranked just below the line because it is a **refactor of the page** (upfront work, changes the deploy shape) rather than something Alison can use today. **The right medium-term move if editing becomes routine** — revisit once we know her cadence. - **Desktop WebDAV mount** (Finder/Explorer + a desktop HTML editor): same raw-HTML altitude problem as #3 without the in-browser convenience. - **Full / git-backed CMS** (Decap, headless): heavy new infrastructure against the static-file grain; unjustified for one page.

## Open questions (exploratory — the dev team / Stephen / Alison decide) 1. **Does `simtable.com` accept authenticated WebDAV PUT, or is `go.` static HostGo hosting?** This is the **load-bearing dependency** for #1/#2/#3 alike. If the origin is static-only, save-on-PUT needs the acequia origin fronting the path first. *Verify against `site-inventory.md` / `hostgo-domains.md` before building anything.* 2. **What is Alison's edit cadence and shape** — occasional copy tweaks, or regularly adding/retiring video records? Frequent record churn tips the scales toward the content-as-data refactor. 3. **Does Alison already hold an acequia signing key / dashboard access** to mint a `writePaths` token for `/go/`, or do we provision that first? 4. **One file or the whole `go.simtable.com` tree?** Scopes the token and decides whether the inline editor is built page-specific or generalized across the `go.` landing pages.