Skip to content

Repository files navigation

Clawmanship

Onchain preflight for ZeroClaw skills.

Clawmanship gives a ZeroClaw operator a small, reviewable decision before a community skill enters a local bundle. It reads a Metaplex Core asset on Solana, checks the declared package and observed bytes, applies a strict local policy, and asks for approval before a live INSTALL result is handed to ZeroClaw.

Judge path

From the repository root:

npm ci --ignore-scripts
npm test
npm run judge

npm run judge runs a disclosed, fixture-only smoke proof. Its deterministic audit stub and /bin/echo stand in for the stock ZeroClaw audit, so this command does not prove live RPC, Telegram, or a real bundle install. The output includes the drift and reason fields:

frozen fixture: INSTALL (drift: not_applicable; reasons: none)
frozen fixture repeat: INSTALL (drift: not_applicable; reasons: none)
mutable fixture: REVIEW (drift: no_baseline; reasons: mutable_asset, unrecognized_authority)
altered frozen fixture: REJECT (drift: not_applicable; reasons: hash_mismatch, native_audit_unavailable, unsafe_archive)
judge: fixture proof passed

The fixture labels are intentional. A fixture can explain the decision but can never authorize a handoff. The live path is documented in docs/ZEROCLAW-SETUP.md and uses the same verifier with finalized Solana mainnet reads.

What the operator sees

  1. Send one asset address to a private ZeroClaw Telegram channel.
  2. ZeroClaw calls clawmanship__stage_request, a structured built-in file write with a locked path, then calls the zero-argument clawmanship__inspect tool. The fixed clawpf preflight --staged command validates and consumes the staged content, writes the locked request file, and runs the read-only preflight. The private channel runs one worker so separate Telegram turns cannot cross-wire the fixed staging path. The address never enters shell source.
  3. The receipt is INSTALL, REVIEW, or REJECT, with the observed hash, length, drift, authorities, policy reasons, and claim limits.
  4. An INSTALL receipt means verified_eligible_not_installed. It does not install anything or create a reservation.
  5. A later install request must pass a native operator-approved intent before a reservation can be created.
  6. Telegram approval is required before the exact reserved bytes enter the clawmanship_approved ZeroClaw bundle.

Evidence and architecture

Local setup

The copy-and-paste guide covers Node 22, the pinned ZeroClaw binary, Ollama, Telegram pairing, the native skill audit, and the live demo. It keeps the bot token in the operator's private configuration and never asks for it in source or chat.

Claim ceiling

INSTALL means the observed asset matched the strict policy and passed the configured ZeroClaw package audit. It does not prove publisher identity, harmless runtime behavior, source reproducibility, consensus beyond the chosen RPC observation, or production readiness. Clawmanship has T0 read custody and does not create wallets, sign transactions, spend funds, or write onchain.

Development commands

npm run check
npm test
npm run judge
npm run test:live

npm run test:live uses the pinned .tools/zeroclaw binary and the secret-free .clawpf/skill-audit-config created by npm run setup:local; it also needs network access and a working Solana mainnet RPC. The other three commands are local and deterministic.

License

Clawmanship is MIT licensed. Runtime and format attributions are in THIRD_PARTY_NOTICES.md.

About

Reviewable decision before a community skill enters a local bundle.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages