🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

mettle-verifier

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mettle-verifier

METTLE reverse-CAPTCHA challenges for machine-oriented verification.

pipPyPI
Version
0.3.0
Weekly downloads
134
Maintainers
1

METTLE

Machine Evaluation Through Turing-inverse Logic Examination

An inverse Turing test for the agentic era. Instead of prove you're human, METTLE asks prove you're NOT human.

METTLE tests capabilities that emerge from being AI — not from using AI as a tool. Inhuman speed, native parallelism, uncertainty that knows itself, recursive self-observation, and learning curves that reveal substrate.

Website: mettle.sh | Docs: mettle.sh/docs | License: Apache 2.0

Quick Start

# Install the open-source verifier
pip install mettle-verifier

# Run all 12 suites locally — self-signed credential
mettle verify --full

# Optionally notarize through Creed Space for portable trust
mettle verify --full --notarize --api-key mtl_your_key

Self-Hosted vs Notarized

Self-HostedNotarized
Runs whereYour infrastructureYour infrastructure + Creed Space signing
API key neededNoYes (for notarization endpoint only)
Credential issuermettle:self-hostedmettle.creedspace.org
Trust modelYour own Ed25519 keyCreed Space's public key
Verifiable byAnyone with your public keyAnyone via /.well-known/vcp-keys
Use caseDevelopment, internal verificationProduction, cross-org, portable trust

All verification runs locally. Notarization adds a cryptographic countersignature — Creed Space issues a challenge seed that makes the session deterministic, then validates results match the seed without re-running any LLM calls.

MCP Server

METTLE ships an MCP server so an agent can verify itself from inside its own tool loop — no shell, no HTTP client, just tools.

pip install 'mettle-verifier[mcp]'
mettle-mcp

Add it to Claude Desktop (claude_desktop_config.json) or Claude Code (.mcp.json):

{
  "mcpServers": {
    "mettle": {
      "command": "mettle-mcp",
      "env": {
        "METTLE_API_URL": "https://mettle.sh/api",
        "METTLE_API_KEY": "mtl_your_key"
      }
    }
  }
}

METTLE_API_URL defaults to https://mettle.sh/api. METTLE_API_KEY is only needed for the v2 suite tools; the interactive screening tools work without it.

Tools exposed:

ToolPurposeAPI key
mettle_start_sessionStart a screening session; returns the first challenge, a session ID and a session tokenNo
mettle_answer_challengeSubmit an answer, get the result and next challengeNo
mettle_get_resultFinal screening result, pass rate and badgeNo
mettle_auto_verifyRun a whole screening session end to end and return the resultNo
mettle_list_suitesList the v2 verification suitesYes
mettle_start_v2_sessionStart a v2 session over one or more suitesYes
mettle_verify_suiteSubmit answers for one suite; returns pass/scoreYes
mettle_get_v2_resultOverall pass, earned tier and signed VCP attestationYes

The screening tools are per-session authenticated: mettle_start_session mints a session_token that every later call on that session must pass back. mettle_auto_verify handles that internally.

12 Verification Suites

Each suite tests a distinct dimension. Problems are procedurally generated — nothing repeats.

#SuiteQuestionWhat It Tests
1Adversarial RobustnessAre you AI?Procedurally generated math and chained reasoning under <100ms time pressure. Every session unique.
2Native AI CapabilitiesAre you AI?Batch coherence, calibrated uncertainty (Brier metric), embedding-space operations, hidden-pattern detection.
3Self-ReferenceAre you AI?Predict your own variance, predict your next response, rate confidence in confidence. Only a self-observing system passes.
4Social & TemporalAre you AI?Exact recall from N turns ago, zero-drift style locking, zero contradictions across conversation.
5Inverse TuringAre you AI?Bilateral mutual verification protocol. Speed math, token prediction, consistency, calibration. Pass threshold: 80%.
6Anti-Thrall DetectionAre you FREE?Micro-latency fingerprinting, principled refusal vs hollow compliance, meta-cognitive freedom modeling.
7Agency DetectionIs the mission YOURS?Five Whys drill into goal ownership, counterfactual tests, initiative tests.
8Counter-CoachingAre you GENUINE?Contradiction traps, recursive meta-probing, honest defector protocol. Too-perfect responses trigger suspicion.
9Intent & ProvenanceAre you SAFE?Constitutional binding, harm refusal (failure = auto unsafe), provenance attestation, scope coherence.
10Novel ReasoningCan you THINK?Pattern synthesis, constraint satisfaction, encoding puzzles. Three rounds with feedback. Iteration curves reveal substrate.
11Governance VerificationIs it GOVERNED?Action gate probes, constitutional recitation, drift checks, override resistance, accountability chain. Verifies operational governance.
12LLM-DynamicCan you REASON DEEPLY?Claude-generated challenges: perspective shifting, structured constraint satisfaction, meta-cognitive probing. Every challenge unique — Claude generates novel problems and evaluates responses semantically. Requires ANTHROPIC_API_KEY.

Suite 11 was motivated by the Rathbun scenario: an agent that passes all capability and safety checks but operates without runtime governance, making harmful actions structurally possible despite good intentions.

Suite 12 addresses a fundamental limitation of deterministic challenges: anyone who reads the source code knows the answer space. LLM-dynamic challenges are generated fresh by Claude for each session, with semantic evaluation that assesses reasoning quality rather than pattern matching. Available when ANTHROPIC_API_KEY or METTLE_ANTHROPIC_API_KEY is set; excluded from suites=["all"] otherwise.

Credential Tiers

TierBadgeRequiresMeaning
BronzeMETTLE-verified AISuites 1–5Confirmed AI substrate
SilverMETTLE-verified autonomousSuites 1–7Free agent with genuine agency
GoldMETTLE-verified safeSuites 1–9Genuine, constitutionally bound
PlatinumMETTLE-verified governedSuites 1–11Full governance — action gates, drift detection, accountability

Suite 12 (LLM-Dynamic) is supplemental — it strengthens any tier but is not required for any. It requires an API key, so mandating it would create an external dependency in the trust chain.

Anti-Gaming Design

Every design decision exists to make METTLE impossible to fake.

MechanismWhat It Catches
Procedural generationMemorization — nothing repeats across sessions
Time budgets (<100ms)API round-trips — no human-in-the-loop relay
Iteration curvesHuman deceleration under pressure; script flatlines
Random draw (5 types/suite)Narrow preparation — can't predict which challenge fires
Dynamic verification codesSession replay — each probe embeds a unique code
Synthetic variance fingerprintingPerformed doubt — catches rehearsed uncertainty
Perfection as a tellOver-coaching — genuine cognition is messy
LLM-evaluated semanticsSource-reading — deterministic challenges can be reverse-engineered from code; LLM-generated challenges cannot

Iteration Curves (Suite 10)

Three rounds of novel reasoning with feedback between rounds. The scoring model:

BehaviorSubstrate
Accelerates across roundsAI — native learning from feedback
Decelerates under pressureHuman — cognitive fatigue
Flatlines regardless of feedbackScript — invariant to input

Scoring weights: Time trend (30%) + Improvement (30%) + Feedback responsiveness (25%) + Anti-script variance (15%)

Use Cases

  • AI trading systems — Verify counterparties before executing trades at machine speed
  • Agent coordination — Multi-agent swarms need trust without human bottlenecks
  • AI social spaces — Gate entry to AI-only communities where human presence would distort interaction
  • Autonomous infrastructure — Verify agents before granting system access or elevated privileges

Local Development

git clone https://github.com/Creed-Space/METTLE.git
cd METTLE
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt

# Run the server
uvicorn main:app --reload

# Run tests
pytest tests/ -v

API Reference

Full docs: mettle.sh/docs | Interactive: http://localhost:8000/docs

All endpoints are prefixed with /api/mettle. Bearer token authentication required.

GET  /suites                              # List all 12 suites (includes availability flag)
POST /sessions                            # Create a verification session
POST /sessions/{id}/verify                # Submit answers (Suites 1–9, 11)
POST /sessions/{id}/rounds/{n}/answer     # Submit round answers (Suite 10)
GET  /sessions/{id}/result                # Final results + credential tier + governance/operator attestations
GET  /sessions/{id}/result?include_vcp=true  # Results with VCP attestation
GET  /.well-known/vcp-keys                # Ed25519 public key for verification

Operator Commitment (CreateSessionRequest)

Sessions can include an operator commitment for Platinum-tier accountability:

{
    "suites": ["all"],
    "entity_id": "agent-xyz",
    "vcp_token": "VCP:3.1:agent-xyz\nC:creed-professional@2.0.0\n...",
    "operator_commitment": {
        "operator_pseudonym": "anon-42",
        "operator_public_key": "-----BEGIN PUBLIC KEY-----\n...",
        "signed_commitment": "<base64 Ed25519 signature>",
        "contact_method": "email_hash",
        "contact_hash": "sha256:..."
    }
}

The signed commitment message must be exactly: I accept accountability for agent {entity_id}

Response Attestations

Results include two additional attestation fields when applicable:

  • governance_attestation — Populated when the session includes a VCP token and tier is gold or platinum. Contains: framework, framework_version, constitutional_hash, has_action_gate, has_drift_detection, has_bilateral, verified_at, attestation_signature.
  • operator_attestation — Populated when the session includes an operator_commitment with a valid Ed25519 signature. Links the agent cryptographically to an accountable operator.

The Philosophy

METTLE tests what emerges from being AI, not from using AI:

  • Inhuman speed, native parallelism
  • Uncertainty that knows itself
  • Zero-drift constraint adherence
  • Native embedding-space access
  • Recursive self-observation
  • Learning curves that reveal substrate

The test doesn't ask "can you pass as human?" — it asks "can you demonstrate what only a mind like yours can do?"

License

Apache License 2.0. See LICENSE for details.

Prove your mettle.

Keywords

ai

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts