From eeed712db9c68d85c4e0a06c213a87d419253c62 Mon Sep 17 00:00:00 2001 From: NiveditJain Date: Thu, 20 Aug 2026 13:11:45 +0530 Subject: [PATCH 1/5] [docs] Reposition from coding agents to agent harnesses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The product was never coding-only. INTEGRATION_TYPES holds twelve harnesses and two of them — Hermes, a Slack/Telegram gateway, and OpenClaw, a self-hosted assistant — were never coding tools. But the strings a stranger reads said otherwise, and the breadth evidence sat under labels that converted it back: README's twelve-logo grid, containing both gateways, was headed "Supported agent CLIs". So "harness" is promoted here, not invented — docs/reference/harnesses.mdx has been titled "Agent harnesses" the whole time. Rewrites the surfaces that render the project's identity: the README hero, package.json's description and keywords, SECURITY.md, the types.ts header, the docs index and quickstart, reference/harnesses, two sessions captions, the local dashboard, and the audit share templates. Each defines the harness ostensively on first use with an example that is not a terminal, and frames coding CLIs as the class covered deepest rather than as the category. reference/harnesses is promoted onto the onboarding path in all fifteen locale navs: it is the only page answering which kinds of agent are covered, and it sat in the sixth and last tab. Three counts had rotted silently. README advertised "30 built-in policies" in three places; the real number is 40. __tests__/scripts/copy-counts.test.ts now derives every count in copy — harnesses, policies, canonical events, and the harnesses on which PreToolUse and Stop blocking is verified — from types.ts, builtin-policies.ts and enforcement-capability.ts, and fails when prose disagrees. It also asserts the README names no harness absent from INTEGRATION_TYPES, which is what makes the twelve-harness claim checkable by the engineer most likely to check it. Separately: the fourteen translation links resolved to docs-old/i18n/, frozen when the Mintlify site replaced it, while translate-docs.yml writes docs/i18n/. Non-English readers got a README that would never be updated again, and the two sets had already diverged. Repointed, and the drift guard asserts the target. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01PvCWBVgUpnJcMpuztkm2tW --- CHANGELOG.md | 10 ++- README.md | 92 +++++++++++++++----- SECURITY.md | 9 +- __tests__/scripts/copy-counts.test.ts | 103 +++++++++++++++++++++++ app/audit/_components/share-templates.ts | 26 +++--- app/policies/hooks-client.tsx | 2 +- docs/docs.json | 15 ++++ docs/index.mdx | 4 +- docs/reference/harnesses.mdx | 10 ++- docs/sessions/live-events.mdx | 4 +- docs/sessions/overview.mdx | 2 + docs/start/quickstart.mdx | 13 ++- package.json | 27 +++--- src/audit/report.ts | 4 +- src/hooks/configure-wizard.ts | 2 +- src/hooks/manager.ts | 2 +- src/hooks/types.ts | 9 +- 17 files changed, 270 insertions(+), 64 deletions(-) create mode 100644 __tests__/scripts/copy-counts.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 90c0ea9f0..5f890da5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # Changelog -## 1.0.2-beta.0 — 2026-08-19 +## 1.0.2-beta.0 — 2026-08-20 + +### Docs + +- Reposition the project from "runtime failure resolution for coding agents" to observability and enforcement for agent harnesses, across the surfaces that render its identity. The product was never coding-only — `INTEGRATION_TYPES` holds twelve harnesses and two of them (Hermes, a Slack/Telegram gateway; OpenClaw, a self-hosted assistant) were never coding tools — but the strings a stranger reads said otherwise, and the breadth evidence sat under labels that converted it back: README's twelve-logo grid, containing both gateways, was headed "Supported agent CLIs". The README hero, `package.json`'s description and keywords, `SECURITY.md`, `types.ts`, the docs index and quickstart, `reference/harnesses`, the sessions captions, the local dashboard, and the audit share templates now name the harness and define it ostensively on first use, with coding CLIs framed as the class covered deepest rather than the category. `reference/harnesses` is promoted onto the onboarding path in all fifteen locale navs, since it is the only page that answers which kinds of agent are covered and it sat in the last tab. (#TBD) + +- Correct three counts that had rotted silently, and add the test that stops it recurring. README advertised "30 built-in policies" in three places; the real number is 40, and had been for some time. `__tests__/scripts/copy-counts.test.ts` now derives every count in copy — harnesses, policies, canonical events, and the harnesses on which `PreToolUse` and `Stop` blocking is verified — from `types.ts`, `builtin-policies.ts` and `enforcement-capability.ts`, and fails when prose disagrees. It also asserts that the README names no harness absent from `INTEGRATION_TYPES`, which is what makes the twelve-harness claim checkable by the engineer most likely to check it. (#TBD) + +- Point the fourteen translation links at the tree the translation pipeline actually maintains. They resolved to `docs-old/i18n/`, frozen when the Mintlify site replaced it, while `.github/workflows/translate-docs.yml` writes `docs/i18n/` — so every non-English reader got a README that would never be updated again, and the two sets had already diverged. The drift guard asserts the link target. (#TBD) ### Fixes diff --git a/README.md b/README.md index 948371c47..00f5f1354 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,13 @@ [![Docs](https://img.shields.io/badge/docs-befailproof.ai-002CA7?style=flat-square)](https://docs.befailproof.ai/) [![License](https://img.shields.io/badge/license-MIT%20%2B%20Commons%20Clause-blue?style=flat-square)](./LICENSE) -**Translations:** [简体中文](./docs-old/i18n/README.zh.md) · [日本語](./docs-old/i18n/README.ja.md) · [한국어](./docs-old/i18n/README.ko.md) · [Español](./docs-old/i18n/README.es.md) · [Português](./docs-old/i18n/README.pt-br.md) · [Deutsch](./docs-old/i18n/README.de.md) · [Français](./docs-old/i18n/README.fr.md) · [Руссий](./docs-old/i18n/README.ru.md) · [हिन्दी](./docs-old/i18n/README.hi.md) · [Türkçe](./docs-old/i18n/README.tr.md) · [Tiếng Việt](./docs-old/i18n/README.vi.md) · [Italiano](./docs-old/i18n/README.it.md) · [العربية](./docs-old/i18n/README.ar.md) · [עברית](./docs-old/i18n/README.he.md) +**Translations:** [简体中文](./docs/i18n/README.zh.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Português](./docs/i18n/README.pt-br.md) · [Deutsch](./docs/i18n/README.de.md) · [Français](./docs/i18n/README.fr.md) · [Руссий](./docs/i18n/README.ru.md) · [हिन्दी](./docs/i18n/README.hi.md) · [Türkçe](./docs/i18n/README.tr.md) · [Tiếng Việt](./docs/i18n/README.vi.md) · [Italiano](./docs/i18n/README.it.md) · [العربية](./docs/i18n/README.ar.md) · [עברית](./docs/i18n/README.he.md) -**Runtime failure resolution for coding agents.** -Hooks into Claude Code and Codex. Catches loops, dangerous actions, and secret leaks -before they become incidents. Zero latency. Runs locally. +**Observability and enforcement for every harness your agents run in.** +Wherever your agents run, we see it — and we can say no. Failproof hooks 12 agent +harnesses — coding CLIs like Claude Code and Codex, chat gateways like Hermes, +self-hosted assistants like OpenClaw — capturing every run and blocking dangerous +tool calls before they execute. 40 built-in policies. Zero latency. Runs locally. @@ -25,7 +27,12 @@ before they become incidents. Zero latency. Runs locally. --- -## Supported agent CLIs +## Supported harnesses + +Twelve harnesses across three classes — coding CLIs, chat and assistant gateways +(Hermes, OpenClaw), and agent runtimes. Same events, same policies, same session +history, whichever one your agent runs in. Not on the list? Instrument your own +agent with the Python SDK.