diff --git a/.github/images/automation-approvals.png b/.github/images/automation-approvals.png new file mode 100644 index 0000000..807c8a3 Binary files /dev/null and b/.github/images/automation-approvals.png differ diff --git a/.github/images/dashboard.png b/.github/images/dashboard.png index 5904a34..20133ff 100644 Binary files a/.github/images/dashboard.png and b/.github/images/dashboard.png differ diff --git a/CLAUDE.md b/CLAUDE.md index 3603590..0bfc79f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,5 +37,5 @@ See [docs/commands.md](docs/commands.md) for the full CLI reference. - **Acting on broker email replies** - the frequent one: classify the reply, make the matching `data/brokers.yaml` edit. [docs/broker-replies.md](docs/broker-replies.md). - **Keeping `data/brokers.yaml` honest** - liveness audit, dedup, growing the list from registries, and keeping the public "700+" broker claim (README, site, setup page) true to the real count: [docs/auditing.md](docs/auditing.md). -- **Removing or merging a broker with a guide page** (`/brokers//`, curated categories only - see `curatedCategories` in `cmd/eraser/cmd_guides.go`): the next deploy drops the page and the URL 404s via `site/layouts/404.html`. If it was merged into or renamed to another entry, add `/brokers// /brokers// 301` to `site/static/_redirects` (Cloudflare Pages) so links and search results land on the surviving page. Without a `404.html`, Pages serves the homepage with a 200 for unknown paths. +- **Removing or merging a broker with a guide page** (`/brokers//`, curated categories only - see `curatedCategories` in `cmd/eraser/cmd_guides.go`): the next deploy drops the page and the URL 404s via `site/layouts/404.html`. If it was merged into or renamed to another entry, add `/brokers// /brokers// 301` to `site/layouts/index.redirects` (the Hugo template that generates Cloudflare Pages' `_redirects`, also the `/docs/` to latest-release 302; a `static/_redirects` would collide with it) so links and search results land on the surviving page. Without a `404.html`, Pages serves the homepage with a 200 for unknown paths. - **Re-sending** - brokers re-list you continuously. `./eraser send` is safe to re-run: it resumes where it left off (25-day per-broker cooldown, `daily_send_limit` cap); `eraser schedule install` / `eraser auto` run it unattended ([docs/commands.md](docs/commands.md)). EU cadence and hand-sending are in [EU-NOTES.md](EU-NOTES.md). diff --git a/docs/mcp.md b/docs/mcp.md index feedace..769c55a 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -33,6 +33,8 @@ on the Automation page of the web UI or with `eraser mcp approve ` in a terminal. A client that auto-approves every tool therefore cannot start a batch or release a retry by itself. +![The Automation approvals page showing a pending batch with the profile fields, opt-out forms and emails the agent may use](https://raw.githubusercontent.com/drumandbytes/eraser/main/.github/images/automation-approvals.png) + That separation has limits. `eraser mcp approve` refuses to run without a terminal, and the web page only accepts a browser's same-origin form post, but an agent that can run commands or drive your browser can still approve its own diff --git a/site/hugo.toml b/site/hugo.toml index 5d29720..16b7bbf 100644 --- a/site/hugo.toml +++ b/site/hugo.toml @@ -31,3 +31,15 @@ disableKinds = ["taxonomy", "term", "RSS"] name = "GitHub" url = "https://github.com/drumandbytes/eraser" weight = 40 + +[mediaTypes."text/x-redirects"] + suffixes = [""] + +[outputFormats.REDIRECTS] + mediaType = "text/x-redirects" + baseName = "_redirects" + isPlainText = true + notAlternative = true + +[outputs] + home = ["HTML", "REDIRECTS"] diff --git a/site/layouts/index.redirects b/site/layouts/index.redirects new file mode 100644 index 0000000..a577d07 --- /dev/null +++ b/site/layouts/index.redirects @@ -0,0 +1,3 @@ +{{- range hugo.Data.docs_versions.versions }}{{ if .latest -}} +/docs/ /docs/{{ .slug }}/ 302 +{{ end }}{{ end -}}