Skip to content

Rename exospherehost → failproofai across repo (URLs, X handle, policy namespace)#370

Merged
NiveditJain merged 3 commits into
mainfrom
claude/audit-org-name-change-AfcMn
May 20, 2026
Merged

Rename exospherehost → failproofai across repo (URLs, X handle, policy namespace)#370
NiveditJain merged 3 commits into
mainfrom
claude/audit-org-name-change-AfcMn

Conversation

@NiveditJain
Copy link
Copy Markdown
Member

@NiveditJain NiveditJain commented May 20, 2026

Summary

GitHub org was renamed exospherehostfailproofai. This PR updates the
repo to match in 3 focused commits:

  • a0727c8 — URL & handle rename (mechanical, 53 files): package.json
    metadata (homepage, repository, bugs), README CI badge (EN + 14
    translated READMEs), CONTRIBUTING.md, in-app "Star us" banners
    (bin/failproofai.mjs, scripts/launch.ts), components/navbar.tsx,
    components/reach-developers.tsx (+ test), Mintlify docs/docs.json
    (GitHub anchor + footer + X handle x.com/exospherehost
    x.com/failproofai), and 30 translated docs (package-aliases.mdx
    issues link + examples.mdx repo-tree link).
  • b2b38c3 — proxy matcher cleanup (1 file): removes the orphan
    exospheresmall token from proxy.ts's Next.js matcher exemption —
    no asset by that name exists anywhere in the repo.
  • bb06cccDEFAULT_POLICY_NAMESPACE hard rename (BREAKING, 23 files):
    one-line constant change in src/hooks/policy-registry.ts, plus 48 test
    assertions across 3 test files, JSDoc/comment refresh in policy-evaluator.ts
    • builtin-policies.ts, 15 built-in-policies docs (EN + 14 translations),
      package.json version bump 0.0.11-beta.00.0.11-beta.1, and a new
      ## 0.0.11-beta.1 — 2026-05-20 CHANGELOG section covering all three
      commits (Breaking + Docs + Fixes subsections).

Breaking change

Users whose config explicitly references builtins as
exospherehost/<name> (e.g. "enabledPolicies": ["exospherehost/sanitize-jwt"])
must update to failproofai/<name>. Flat-name shorthand
("sanitize-jwt") continues to work unchanged because
normalizePolicyName() auto-prepends the new default namespace. Pre-1.0
semver permits the break.

Intentionally NOT touched

  • LICENSE (copyright + Licensor line) — legal entity ExosphereHost Inc.
    unchanged; only the GitHub handle moved.
  • package.json author field — same reasoning.
  • failproofai@exosphere.host contact email — domain still owns the mailbox.
  • Historical CHANGELOG.md entries that mention the old org — history
    stays factual.

External follow-ups (not code work)

  • Confirm x.com/failproofai actually exists (was the X handle renamed too?).
    If not, revert the one-line change in docs/docs.json:994.
  • Mintlify project settings if linked to the GitHub org.
  • npm package "Repository" / "Homepage" links update automatically via
    npm publish --provenance on the next publish — no manual npm settings
    edit needed.
  • GitHub org-level Apps, secrets, branch protections — all generally
    survive an org rename but worth a quick audit.

Test plan

  • bun run lint (clean — 1 pre-existing warning, unrelated)
  • bunx tsc --noEmit (clean)
  • bun run test:run1623/1623 pass, including all 48 renamed
    namespace assertions and the 2 reach-developers.test.tsx URL assertions
  • bun run build (Next.js + dist/cli.mjs + dist/index.js, all green)
  • bun run test:e2e — 290/298 pass; 2 failures (copilot-integration,
    cursor-integration) reproduce on origin/main's test files and are a
    sandbox signing-server limitation in the remote dev environment, not a
    regression. CI runs in a different environment that doesn't hit this.
  • Grep guard returns zero exospherehost hits outside CHANGELOG.md
  • CI: 4 jobs (quality, test ×3 env matrix, build, test-e2e) green
  • Manual UI spot-check on Vercel preview: navbar GitHub link →
    https://github.com/failproofai/failproofai, reach-developers dropdown
    links → same

https://claude.ai/code/session_01KtaM2jJWogYSpNzp7ziMEa


Generated by Claude Code

Summary by CodeRabbit

  • Breaking Changes

    • Default policy namespace has been changed; all existing fully-qualified policy references require updates to maintain compatibility with this release.
  • Documentation

    • Comprehensive updates to all documentation, examples, and repository references across multiple language versions.
  • Bug Fixes

    • Fixed orphaned configuration entry in proxy matcher.
  • Chores

    • Version bump to 0.0.11-beta.1 and metadata updates across project configuration.

Review Change Stack

claude added 3 commits May 20, 2026 21:47
GitHub org was renamed. Replaces github.com/exospherehost/failproofai with
github.com/failproofai/failproofai across package.json metadata, README and
14 translated README badges, CONTRIBUTING, in-app banners (bin/, scripts/,
components/), Mintlify docs.json, and 30 translated docs (package-aliases
issues link + examples repo-tree link). Also updates the X social handle in
docs.json from x.com/exospherehost to x.com/failproofai.

LICENSE, package.json author legal entity, contact email, and historical
CHANGELOG entries are intentionally left untouched (per audit decisions).

https://claude.ai/code/session_01KtaM2jJWogYSpNzp7ziMEa
No asset named exospheresmall exists in public/, app/, or components/ — the
matcher exemption was a leftover from the old org's branding. Removing it
has no behavioral impact since the path doesn't exist.

https://claude.ai/code/session_01KtaM2jJWogYSpNzp7ziMEa
BREAKING CHANGE: Default policy namespace for builtins is now `failproofai`.
User configs that explicitly reference builtins as `exospherehost/<name>`
must update to `failproofai/<name>`. Flat-name shorthand (e.g.
`"sanitize-jwt"`) continues to work unchanged because `normalizePolicyName`
auto-prepends the new default namespace.

Includes:
- src/hooks/policy-registry.ts: one-line constant change (the API surface)
- src/hooks/policy-evaluator.ts + builtin-policies.ts: JSDoc/comment refresh
- 48 test assertions across __tests__/hooks/{policy-registry,policy-evaluator,builtin-policies}.test.ts
- docs/built-in-policies.mdx + 14 translations: 3 namespace mentions each
- package.json: bump 0.0.11-beta.0 → 0.0.11-beta.1
- CHANGELOG.md: new 0.0.11-beta.1 section covering all three commits in
  this PR (URL rename, matcher cleanup, namespace rename)

https://claude.ai/code/session_01KtaM2jJWogYSpNzp7ziMEa
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 20, 2026

📝 Walkthrough

Walkthrough

This PR renames the default policy namespace from exospherehost to failproofai across code, tests, and documentation, updates GitHub org references in metadata and UI, removes a proxy matcher exclusion, and bumps the package version to 0.0.11-beta.1.

Changes

Organization and Policy Namespace Rename

Layer / File(s) Summary
Policy namespace constant and registry
src/hooks/policy-registry.ts, __tests__/hooks/policy-registry.test.ts
DEFAULT_POLICY_NAMESPACE changes from "exospherehost" to "failproofai". Tests validate canonicalization, normalization, and upsert/coexist behavior under the new namespace.
Policy evaluator and builtin policy tests
__tests__/hooks/policy-evaluator.test.ts, __tests__/hooks/builtin-policies.test.ts
Test assertions across event scenarios (PreToolUse, PostToolUse, Stop, workflow chains) and policy registration update expected policyName/policyNames and stderr tags to use failproofai/<name> instead of exospherehost/<name>.
Policy source code comments
src/hooks/policy-registry.ts, src/hooks/policy-evaluator.ts, src/hooks/builtin-policies.ts
Inline documentation and comments update namespace examples from exospherehost/... to failproofai/... to reflect the new default.
UI components and CLI strings
components/navbar.tsx, components/reach-developers.tsx, bin/failproofai.mjs, scripts/launch.ts, __tests__/components/reach-developers.test.tsx
GitHub repository links in navbar, reach-developers component, CLI help, and startup messages update to failproofai/failproofai. Test expectations for mailto links reflect the new org.
Configuration, metadata, and proxy
package.json, proxy.ts, CONTRIBUTING.md, README.md
Package version bumps to 0.0.11-beta.1; homepage, repository.url, and bugs.url repoint to failproofai/failproofai; Next.js proxy matcher removes exospheresmall from exclusions; CI badge and contributing links update to new org.
Multilingual documentation
docs/{ar,de,es,fr,he,hi,it,ja,ko,pt-br,ru,tr,vi,zh}/{built-in-policies,examples,package-aliases}.mdx
Built-in policy namespace documentation in all 14 language versions updates from exospherehost/ to failproofai/. Examples and issue-filing links repoint to failproofai/failproofai repository across all localized docs.
Documentation navigation and changelog
docs/docs.json, docs/i18n/README.{ar,de,es,fr,he,hi,it,ja,ko,pt-br,ru,tr,vi,zh}.md, CHANGELOG.md
Mintlify docs navigation and footer social links update to new org; CI badge links in all README translations point to failproofai/failproofai workflow; changelog documents namespace rename as breaking change in 0.0.11-beta.1.

🎯 3 (Moderate) | ⏱️ ~20 minutes

A hop, skip, and a jump across the code,
From exospherehost to failproofai we strode—
Namespace renamed, docs all updated right,
Fourteen translations shine with new light! 🐰✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: renaming the GitHub org and policy namespace from exospherehost to failproofai.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description thoroughly documents the three focused commits, breaking changes, scope decisions, test coverage, and external follow-ups.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
components/reach-developers.tsx (1)

8-15: ⚡ Quick win

Use GITHUB_REPO for the “Star us on GitHub” entry too.

Line 15 re-hardcodes the same repo URL defined at Line 8, which can drift in future renames.

♻️ Proposed fix
 const options = [
   {
     label: "Star us on GitHub",
     icon: Star,
-    href: "https://github.com/failproofai/failproofai",
+    href: GITHUB_REPO,
   },
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/reach-developers.tsx` around lines 8 - 15, Replace the hardcoded
repo URL inside the options array with the GITHUB_REPO constant: update the
"Star us on GitHub" entry in the options array (the object with label "Star us
on GitHub" and icon Star) to use GITHUB_REPO instead of the literal
"https://github.com/failproofai/failproofai" so the component consistently
references the single source of truth.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@package.json`:
- Line 3: CI is failing due to a cross-package version mismatch: the root
package.json version is "0.0.11-beta.1" but some packages/*/package.json files
have a different version; update all packages' "version" fields to
"0.0.11-beta.1" (or alternatively modify the version-check job that compares
PKG_VERSION to ROOT_VERSION) so that the version-check job no longer reports
"Version mismatch"; target files are the "version" field entries in each
packages/*/package.json.

---

Nitpick comments:
In `@components/reach-developers.tsx`:
- Around line 8-15: Replace the hardcoded repo URL inside the options array with
the GITHUB_REPO constant: update the "Star us on GitHub" entry in the options
array (the object with label "Star us on GitHub" and icon Star) to use
GITHUB_REPO instead of the literal "https://github.com/failproofai/failproofai"
so the component consistently references the single source of truth.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f93d8d2e-8806-4c38-8961-1f2412eb8c3e

📥 Commits

Reviewing files that changed from the base of the PR and between dfb0ef5 and bb06ccc.

📒 Files selected for processing (76)
  • CHANGELOG.md
  • CONTRIBUTING.md
  • README.md
  • __tests__/components/reach-developers.test.tsx
  • __tests__/hooks/builtin-policies.test.ts
  • __tests__/hooks/policy-evaluator.test.ts
  • __tests__/hooks/policy-registry.test.ts
  • bin/failproofai.mjs
  • components/navbar.tsx
  • components/reach-developers.tsx
  • docs/ar/built-in-policies.mdx
  • docs/ar/examples.mdx
  • docs/ar/package-aliases.mdx
  • docs/built-in-policies.mdx
  • docs/de/built-in-policies.mdx
  • docs/de/examples.mdx
  • docs/de/package-aliases.mdx
  • docs/docs.json
  • docs/es/built-in-policies.mdx
  • docs/es/examples.mdx
  • docs/es/package-aliases.mdx
  • docs/examples.mdx
  • docs/fr/built-in-policies.mdx
  • docs/fr/examples.mdx
  • docs/fr/package-aliases.mdx
  • docs/he/built-in-policies.mdx
  • docs/he/examples.mdx
  • docs/he/package-aliases.mdx
  • docs/hi/built-in-policies.mdx
  • docs/hi/examples.mdx
  • docs/hi/package-aliases.mdx
  • docs/i18n/README.ar.md
  • docs/i18n/README.de.md
  • docs/i18n/README.es.md
  • docs/i18n/README.fr.md
  • docs/i18n/README.he.md
  • docs/i18n/README.hi.md
  • docs/i18n/README.it.md
  • docs/i18n/README.ja.md
  • docs/i18n/README.ko.md
  • docs/i18n/README.pt-br.md
  • docs/i18n/README.ru.md
  • docs/i18n/README.tr.md
  • docs/i18n/README.vi.md
  • docs/i18n/README.zh.md
  • docs/it/built-in-policies.mdx
  • docs/it/examples.mdx
  • docs/it/package-aliases.mdx
  • docs/ja/built-in-policies.mdx
  • docs/ja/examples.mdx
  • docs/ja/package-aliases.mdx
  • docs/ko/built-in-policies.mdx
  • docs/ko/examples.mdx
  • docs/ko/package-aliases.mdx
  • docs/package-aliases.mdx
  • docs/pt-br/built-in-policies.mdx
  • docs/pt-br/examples.mdx
  • docs/pt-br/package-aliases.mdx
  • docs/ru/built-in-policies.mdx
  • docs/ru/examples.mdx
  • docs/ru/package-aliases.mdx
  • docs/tr/built-in-policies.mdx
  • docs/tr/examples.mdx
  • docs/tr/package-aliases.mdx
  • docs/vi/built-in-policies.mdx
  • docs/vi/examples.mdx
  • docs/vi/package-aliases.mdx
  • docs/zh/built-in-policies.mdx
  • docs/zh/examples.mdx
  • docs/zh/package-aliases.mdx
  • package.json
  • proxy.ts
  • scripts/launch.ts
  • src/hooks/builtin-policies.ts
  • src/hooks/policy-evaluator.ts
  • src/hooks/policy-registry.ts

Comment thread package.json
{
"name": "failproofai",
"version": "0.0.11-beta.0",
"version": "0.0.11-beta.1",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Version bump is currently CI-blocked by cross-package mismatch.

Pipeline is already reporting Version mismatch: $pkg has $PKG_VERSION, expected $ROOT_VERSION. Please sync packages/*/package.json versions to 0.0.11-beta.1 (or adjust the version-check job) before merge.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` at line 3, CI is failing due to a cross-package version
mismatch: the root package.json version is "0.0.11-beta.1" but some
packages/*/package.json files have a different version; update all packages'
"version" fields to "0.0.11-beta.1" (or alternatively modify the version-check
job that compares PKG_VERSION to ROOT_VERSION) so that the version-check job no
longer reports "Version mismatch"; target files are the "version" field entries
in each packages/*/package.json.

@NiveditJain NiveditJain merged commit 5918966 into main May 20, 2026
9 checks passed
NiveditJain added a commit that referenced this pull request May 20, 2026
npm provenance verification compares package.json repository/homepage/bugs
URLs byte-for-byte against the ${{ github.repository }} value GitHub stamps
into the sigstore attestation. The org rename in #370 lowercased these to
"failproofai/failproofai", which broke publish for 0.0.11-beta.1 with
"422 Error verifying sigstore provenance bundle: Failed to validate
repository information".

GitHub URL routing is case-insensitive, so this only affected provenance
verification, not link resolution.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants