Skip to content

chore(claude): remove org-internal persona-write-guard from this public repo - #130

Merged
GmanFooFoo merged 1 commit into
mainfrom
linus/2026-07-30-pwg-public-exposure
Jul 30, 2026
Merged

chore(claude): remove org-internal persona-write-guard from this public repo#130
GmanFooFoo merged 1 commit into
mainfrom
linus/2026-07-30-pwg-public-exposure

Conversation

@GmanFooFoo

@GmanFooFoo GmanFooFoo commented Jul 30, 2026

Copy link
Copy Markdown
Member

Removes .claude/settings.json from this public repository. One deleted file, nothing else.

What the file was

An org-internal Persona-Write-Guard: a PreToolUse Bash hook that intercepted every Bash command, parsed it for git push / gh pr create / gh pr merge, and blocked it unless the current branch matched one of our internal persona names (bob, linus, maschin, …), failing with an error citing an issue in a private repo.

Why it had to go

Claude Code loads project-level settings from the repo it is working in. A contributor who cloned TrustScope and used Claude Code inherited that policy — their push was blocked by a branch-naming convention that is ours, internal, and undocumented here, with an error pointing at an issue they cannot read.

It is session governance for our own agents. It has no bearing on TrustScope as a product, and we do not ship a hook that blocks a contributor's push on our branch names — least of all from the repository that is our public trust-and-quality product.

The control is not being abandoned. Where it should live is under review in neckarshore-ai/dev-environment#124. This PR only stops this repository from carrying it.

Scope — what this does and does not fix

Fixed: a fresh clone of TrustScope no longer inherits the hook. That is the contributor-facing breakage and the reason for this PR.

Not fixed, and out of scope here: git rm removes the file from the tip, not from history. The hook text and the persona roster remain retrievable from earlier commits and from the PRs that introduced them. No credentials or secrets are involved — this is low-severity information residue, noted so the remediation in #124 can account for it rather than assume it is gone.

Verification

  1. .claude/ held no other tracked file; the directory is now gone. No placeholder added.
  2. Repo-wide sweep for .claude and for persona-write-guard|PWG|#813 found no other reference — nothing is left dangling. (The package-lock.json matches are base64 integrity hashes, not references.)
  3. No workflow reads this path, so CI results on this PR are an independent signal rather than collateral.
  4. git diff --stat main...HEAD — exactly one deleted file.

Finding and full analysis: neckarshore-ai/dev-environment#124

Do not auto-merge — the Founder merges this one.

🤖 Generated with Claude Code

https://claude.ai/code/session_011EbYjoRwhT2LW4UDoCdv9z

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
trustscope Ready Ready Preview Jul 30, 2026 4:43pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (1)
  • .claude/settings.json
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6ddb0f51-7147-453b-bb5d-e1fad6556da0

📥 Commits

Reviewing files that changed from the base of the PR and between 0743c9a and d82011a.

📒 Files selected for processing (1)
  • .claude/settings.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

…ic repo

TrustScope is a public repository. It carried `.claude/settings.json` on
`main`, containing our org-internal Persona-Write-Guard: a `PreToolUse` Bash
hook that intercepted every Bash command, parsed it for `git push`,
`gh pr create`, and `gh pr merge`, and blocked the command unless the current
branch matched one of our internal persona names (`bob`, `linus`, `maschin`,
and so on), failing with an error that cited an issue in a private repo.

Claude Code loads project-level settings from the repository it is working in.
Any contributor who cloned TrustScope and used Claude Code therefore inherited
that policy: their own push was blocked because their branch did not follow a
naming convention that is ours, internal, and undocumented here. The error
message pointed them at an issue they cannot read.

Two things were wrong with that, and the second is the reason this is a
deletion rather than a fix:

1. It is a session-governance policy for our own agents. It has no bearing on
   TrustScope as a product and does not belong in its source tree.
2. We do not ship a hook that blocks a contributor's push on our branch names
   — least of all from the repository that is our public trust-and-quality
   product.

The control itself is not being abandoned; where it should live is under
review in neckarshore-ai/dev-environment#124. This commit only stops this
repository from carrying it.

`.claude/` held no other tracked file and is now gone. No workflow, document,
or config in this repository referenced the path — verified by a repo-wide
sweep — so nothing is left dangling by its removal.

Finding and full analysis: neckarshore-ai/dev-environment#124

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011EbYjoRwhT2LW4UDoCdv9z
@GmanFooFoo
GmanFooFoo force-pushed the linus/2026-07-30-pwg-public-exposure branch from 93e074a to d82011a Compare July 30, 2026 16:43
@GmanFooFoo
GmanFooFoo merged commit e3acf8d into main Jul 30, 2026
14 checks passed
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.

1 participant