{
  "schema": "decision-accounting-theorem-builder-integration-contract/1",
  "version": "1.0",
  "issuedAt": "2026-07-29",
  "ownerBoundary": {
    "builderRepository": "theorem-laboratory (separate repository)",
    "builderImplementationOwner": "separate Theorem Builder task",
    "publicIntegrationOwner": "Decision Accounting public-site integration task",
    "rule": "The public integration consumes an exact frozen handoff and makes no substantive Builder edits in the Laboratory repository."
  },
  "publicRoutes": {
    "laboratoryEntry": "/theorem-laboratory/",
    "builderEntry": "https://lab.decisionaccounting.org/#builder",
    "newCandidate": "https://lab.decisionaccounting.org/#builder/new",
    "importCandidate": "https://lab.decisionaccounting.org/#builder/import",
    "candidateTemplate": "https://lab.decisionaccounting.org/#builder/candidates/{candidateId}"
  },
  "requiredCandidateFields": [
    "candidateId",
    "title",
    "plainEnglishClaim",
    "artifactState",
    "verificationState",
    "assumptions",
    "formalStatement",
    "proof",
    "proofGaps",
    "evidence",
    "objections",
    "boundaryCases",
    "counterexamples",
    "reforms",
    "relationships",
    "paperLineage",
    "falsificationConditions",
    "versionHistory",
    "dimensionScores",
    "pounding"
  ],
  "orderingRules": [
    "plainEnglishClaim is required and appears before formalStatement in create, import, edit, review, and public views",
    "artifactState and verificationState are separate fields",
    "proof gaps, objections, boundaries, counterexamples, and falsification conditions remain visible after repairs",
    "version history is append-only and binds every change to an exact candidate hash"
  ],
  "dimensionScores": {
    "required": [
      "statementPrecision",
      "assumptionCompleteness",
      "formalCorrectness",
      "proofCompleteness",
      "evidenceFit",
      "objectionCoverage",
      "boundaryCoverage",
      "falsifiability",
      "lineageIntegrity",
      "teachableClarity"
    ],
    "scale": "0-10 per dimension",
    "boundary": "Scores describe review quality and never establish theorem verification."
  },
  "poundingStages": [
    {
      "id": "independent_red_team",
      "requiredEvidence": [
        "reviewer identity and independence declaration",
        "input candidate SHA-256",
        "blockers, majors, counterexamples, proof gaps, and falsification attacks",
        "timestamped scorecard"
      ]
    },
    {
      "id": "blue_team_repair",
      "requiredEvidence": [
        "parent candidate SHA-256",
        "repair ledger mapped to every red-team item",
        "new candidate SHA-256",
        "unresolved item disposition"
      ]
    },
    {
      "id": "fable_review",
      "requiredEvidence": [
        "independent review artifact",
        "reviewed candidate SHA-256",
        "claim, assumption, proof, evidence, and boundary findings"
      ]
    },
    {
      "id": "sol_review",
      "requiredEvidence": [
        "independent review artifact",
        "reviewed candidate SHA-256",
        "formal and scientific score",
        "blocker and major counts"
      ]
    },
    {
      "id": "final_same_hash_verification",
      "requiredEvidence": [
        "candidate manifest",
        "candidate SHA-256",
        "all required predecessor review hashes",
        "fresh reviewer independence declaration",
        "same-hash verification receipt"
      ]
    }
  ],
  "stateSemantics": {
    "draft": "Authoring is incomplete.",
    "provisional": "A coherent candidate exists; one or more required verification conditions remain open.",
    "held": "A release, scientific, lineage, evidence, or quarantine gate is closed. The blocking evidence remains visible.",
    "verified": "Permitted only when the exact candidate hash has a complete proof package, required evidence, completed pounding stages, fresh independent same-hash verification, and zero unresolved verification blockers."
  },
  "verifiedGate": {
    "failClosed": true,
    "required": [
      "exact candidate manifest",
      "complete required field set",
      "complete proof or explicitly scoped theorem criterion",
      "source and paper lineage hashes",
      "red-team artifact",
      "blue-team repair artifact",
      "Fable review artifact",
      "Sol review artifact",
      "fresh final same-hash verification artifact",
      "zero verification blockers",
      "zero major scientific defects"
    ],
    "prohibitedShortcuts": [
      "paper review score",
      "application release score",
      "author self-score",
      "review of a different hash",
      "proof status copied from a related version",
      "absence of a known counterexample",
      "SAPM numerical or paper score propagation"
    ]
  },
  "accessibilityAndBehavior": {
    "requirements": [
      "held and provisional states use text, icons, and color",
      "all fields and pounding stages are keyboard reachable",
      "status updates use an aria-live region",
      "touch targets are at least 44 CSS pixels",
      "mobile viewport 390x844 has no horizontal overflow",
      "import errors identify the exact field and preserve the user input",
      "version and candidate identity remain visible during progression"
    ]
  },
  "handoffGate": {
    "requiredArtifacts": [
      "frozen candidate manifest",
      "candidate archive or reproducible exact source tree",
      "candidate SHA-256",
      "manifest SHA-256",
      "independent score at least 96/100",
      "science/formal score at least 24/25",
      "zero blockers",
      "zero majors",
      "route and browser receipt",
      "same-hash verification receipt"
    ],
    "currentState": "ACCEPTED_EXACT_FROZEN_HANDOFF",
    "consumedCandidateSha256": "fea7fed62b690c2a4c9527328fe0f97116833454119ea43ea30263061e72802c",
    "consumedManifestSha256": "7e0b063e6f8c7320ba2f0780fea72266131b22f56827243b83e9224d1fffa1c7",
    "consumedArchiveSha256": "be43ae01234f9ebe51700578c485585e3c4e2b3c2881c4af45d5149ec432641d",
    "consumedContractFileSha256": "1af37c2bb730879117cdd4e6d8b06f813a9607768a73015c07fe7f649ffede15",
    "consumedContractHash": "2495df3bf5cd596ce51e36477ba684bf9de72cd2d84edd0460c3530dae45f5d1",
    "semanticBoundary": "The accepted Builder application is release-reviewed. Its deterministic demo remains HELD, synthetic, reviewed_not_verified, and ineligible for theorem promotion."
  }
}
