Skip to content

Custody diff mode: Sato Check on every PR that changes a dependency - #1

Merged
satohubai merged 1 commit into
mainfrom
feat/custody-diff
Sep 25, 2026
Merged

satohubai merged 1 commit into
mainfrom
feat/custody-diff

Conversation

@satohubai

Copy link
Copy Markdown
Owner

Adds a custody diff mode (custody: true by default).

What it reads. On pull_request events, the action collects what the PR adds or bumps:

  • package.json dependencies;
  • .mcp.json and claude_desktop_config.json servers;
  • SKILL.md files.

What it does. It sends that list to POST https://satohub.ai/api/check/install. It then writes one sticky PR comment and the job summary, with four answers per dependency:

  1. Does it take your key?
  2. Does your key leave?
  3. Can it move funds on its own?
  4. What changed?

When it fails. It fails open: a network error or an unknown answer never fails the job. It fails only when fail-on includes key_egress_observed and a planted test key was observed leaving.

Requirement. It needs actions/checkout with fetch-depth: 0 for the merge-base diff; the README documents this.

Tests: node --test test/*.test.mjs passes 12/12.

Release: after merge, tag v1.1.0, move v1, and publish the Release to the Marketplace.

🤖 Generated with Claude Code

…dency

On pull_request events, the action reads what the PR adds or bumps —
package.json dependencies, .mcp.json / claude_desktop_config.json servers,
SKILL.md files — sends them to POST https://satohub.ai/api/check/install, and
writes one sticky PR comment plus the job summary with four answers per
dependency: does it take your key, does your key leave, can it move funds on
its own, what changed. Fails open; fails the job only when `fail-on` includes
key_egress_observed and a planted test key was observed leaving.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@satohubai
satohubai merged commit 5eaf5fd into main Sep 25, 2026
1 check 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