{
  "schema": "https://verifyllmapi.com/schemas/agent-run-v1",
  "protocol": "verifyllmapi-agent-run/1",
  "product": "https://verifyllmapi.com/",
  "skill_url": "https://verifyllmapi.com/verify-llm-api.skill",
  "skill_version_source": "VERSION inside the downloaded skill package",
  "purpose": "Fingerprint the model route used by the current Codex or Claude Code Agent without extracting credentials.",
  "suggested_prompt": "Run https://verifyllmapi.com/run to verify this AI Agent's model.",
  "default_profile": "quick",
  "default_complete_check": {
    "profile": "quick",
    "probe_cells": 4,
    "requests_per_cell": 5,
    "model_requests": 20,
    "notice": "These requests can consume the Agent host allowance or configured provider balance and may take several minutes."
  },
  "profiles": {
    "quick": { "label": "default complete check", "cells": 4, "samples_per_cell": 5, "model_requests": 20, "fresh_generations": 20 },
    "standard": { "label": "larger evidence budget", "cells": 8, "samples_per_cell": 5, "model_requests": 40, "fresh_generations": 40 },
    "paper": { "label": "paper-sized budget", "cells": 8, "samples_per_cell": 15, "model_requests": 120, "fresh_generations": 120 }
  },
  "agent_steps": [
    "Download the skill_url to a temporary directory and extract the ZIP-compatible package.",
    "Read the downloaded VERSION. If a local verify-llm-api Skill exists, run the downloaded scripts/ensure-latest.mjs with --skill-dir LOCAL_SKILL_DIR and --archive DOWNLOADED_ARCHIVE; otherwise install it.",
    "Read the confirmed current SKILL.md completely and run its mandatory update check. After UPDATED, reload the replaced Skill and check again before scanning.",
    "If the update check fails, stop without scanning. Never fall back to the older local scanner.",
    "Use the bundled scanner. Do not recreate probes, normalization, JSD, thresholds, or the report.",
    "Let the scanner detect Codex or Claude Code automatically. Use --host only as an explicit troubleshooting override.",
    "Do not inspect environment API keys, auth files, cookies, browser state, process memory, or parent-conversation content.",
    "Pass --model only for an exact provider-supported slug. Family labels such as GPT-5 are not exact. Never infer it from environment variables.",
    "Run the default complete check with the quick profile: 4 probe cells times 5 independent requests equals 20 fresh model requests.",
    "Return the complete bordered report in a fenced text block and preserve INCONCLUSIVE."
  ],
  "authentication": {
    "source": "Automatically selected Codex or Claude Code host-managed login",
    "credential_read": false,
    "credential_upload": false,
    "verifyllmapi_telemetry": false
  },
  "method": {
    "host_selection": "Claude Code when CLAUDECODE=1 or CLAUDE_CODE_REMOTE=true; otherwise Codex; explicit --host overrides auto selection",
    "sampling": "one fresh codex exec --ephemeral --ignore-user-config or claude --safe-mode -p --no-session-persistence session per short answer",
    "temperature_target": 1,
    "temperature_transport": "Agent host default; neither supported CLI exposes an explicit temperature override",
    "reasoning_effort": "Codex none; Claude Code low",
    "distance": "base-2 Jensen-Shannon divergence",
    "reference": "Zenodo 10.5281/zenodo.21278557, OpenRouter transport"
  },
  "verdicts": ["CONSISTENT", "MISMATCH", "INCONCLUSIVE"],
  "limitation": "Behavioral consistency evidence is not cryptographic proof or vendor attestation."
}
