TfP Docs

Verifier schema

Generated from the canonical schema schemas/verifier.schema.json by scripts/generate-schema-docs.mjs — do not edit this page by hand.

Stage 6A contract (proposed). A named family of verification methodology — "SAT assignment checking", "Lean 4 proof checking". A Verifier is an identity and a namespace: it owns VerifierContracts, which define acceptance semantics, and a Contract's sandbox stages own VerifierImplementations. Publishing is personal in v0, as for Skills: addressed durably by id, displayed as @{handle}/{slug} from the publisher's current handle.

Schema version: 0.2.0 · $id: https://tokensforprogress.org/schemas/verifier.schema.json

Fields

id

Type: string · Required: yes · Mutable: no · Pattern: ^vfr_[0-9a-z]{10,32}$

Stable opaque identifier — the durable reference. Canonical URL /verifiers/{id}.

Example: "vfr_01jm4nq8xw1p"

slug

Type: string · Required: yes · Mutable: yes · Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$

URL-safe name, unique per publisher rather than globally (as for Skills). Combined with the publisher's current handle it forms the display address @{handle}/{slug}; renaming either changes the display address, never the identity, the Contracts, or any ProblemRevision pin.

Example: "sat-assignment"

publisher_user_id

Type: string · Required: yes · Mutable: no · Pattern: ^usr_[0-9a-z]{10,32}$

The User who registered this Verifier and publishes its Contracts. The registrant is not necessarily the author of the methodology; provenance is recorded on the Contract and Implementation.

Example: "usr_01jf90aa4rrc"

name

Type: string · Required: yes · Mutable: yes

Human-readable display name.

Example: "SAT assignment checking"

summary

Type: string · Required: yes · Mutable: yes

One-line plain-text description of the methodology family, for listings.

Example: "Checks that a submitted assignment satisfies every clause of a pinned CNF instance."

description_md

Type: string · Required: yes · Mutable: yes

Markdown description of the methodology, its assumptions, and its known limits. Editorial: it does not determine the outcome of any VerificationRun — only the pinned Contract does.

Example: "Assignment checking is only as strong as the instance being checked. This family verifies that a submitted assignment satisfies the clauses of the pinned instance; it makes no claim that the instance formalizes the intended informal problem, nor that the assignment is unique or minimal."

created_at

Type: string · Required: yes · Mutable: no

RFC 3339 UTC timestamp of registration.

Example: "2026-09-05T09:00:00Z"

updated_at

Type: string · Required: yes · Mutable: yes

RFC 3339 UTC timestamp of the last edit to the mutable display fields.

Example: "2026-09-05T09:00:00Z"

JSON Schema source

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tokensforprogress.org/schemas/verifier.schema.json",
  "title": "Verifier",
  "description": "Stage 6A contract (proposed). A named family of verification methodology — \"SAT assignment checking\", \"Lean 4 proof checking\". A Verifier is an identity and a namespace: it owns VerifierContracts, which define acceptance semantics, and a Contract's sandbox stages own VerifierImplementations. Publishing is personal in v0, as for Skills: addressed durably by id, displayed as @{handle}/{slug} from the publisher's current handle.",
  "x-tfp-version": "0.2.0",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "slug",
    "publisher_user_id",
    "name",
    "summary",
    "description_md",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^vfr_[0-9a-z]{10,32}$",
      "x-mutable": false,
      "description": "Stable opaque identifier — the durable reference. Canonical URL /verifiers/{id}.",
      "examples": [
        "vfr_01jm4nq8xw1p"
      ]
    },
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
      "maxLength": 64,
      "x-mutable": true,
      "description": "URL-safe name, unique per publisher rather than globally (as for Skills). Combined with the publisher's current handle it forms the display address @{handle}/{slug}; renaming either changes the display address, never the identity, the Contracts, or any ProblemRevision pin.",
      "examples": [
        "sat-assignment"
      ]
    },
    "publisher_user_id": {
      "type": "string",
      "pattern": "^usr_[0-9a-z]{10,32}$",
      "x-mutable": false,
      "description": "The User who registered this Verifier and publishes its Contracts. The registrant is not necessarily the author of the methodology; provenance is recorded on the Contract and Implementation.",
      "examples": [
        "usr_01jf90aa4rrc"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "x-mutable": true,
      "description": "Human-readable display name.",
      "examples": [
        "SAT assignment checking"
      ]
    },
    "summary": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "x-mutable": true,
      "description": "One-line plain-text description of the methodology family, for listings.",
      "examples": [
        "Checks that a submitted assignment satisfies every clause of a pinned CNF instance."
      ]
    },
    "description_md": {
      "type": "string",
      "maxLength": 20000,
      "x-mutable": true,
      "description": "Markdown description of the methodology, its assumptions, and its known limits. Editorial: it does not determine the outcome of any VerificationRun — only the pinned Contract does.",
      "examples": [
        "Assignment checking is only as strong as the instance being checked. This family verifies that a submitted assignment satisfies the clauses of the pinned instance; it makes no claim that the instance formalizes the intended informal problem, nor that the assignment is unique or minimal."
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "x-mutable": false,
      "description": "RFC 3339 UTC timestamp of registration.",
      "examples": [
        "2026-09-05T09:00:00Z"
      ]
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "x-mutable": true,
      "description": "RFC 3339 UTC timestamp of the last edit to the mutable display fields.",
      "examples": [
        "2026-09-05T09:00:00Z"
      ]
    }
  }
}