Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Artifact Schema

The JSON Schema for artifacts in elench.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.invalid/elench/artifact/v0.1.json",
  "title": "elench release artifact (v0.1)",
  "description": "Carries (tree, policy), NOT a verdict (INV-15). Consumers re-evaluate the release gate at consumption time using the current claim log. The artifact is distributed independently of the claim log — anyone with both can re-evaluate. If a load-bearing claim is falsified after release, the artifact's status changes with no byte moving and no re-signing (R4).",

  "type": "object",
  "required": ["version", "tree", "policy", "digest", "released_at"],
  "additionalProperties": false,

  "properties": {
    "version": {
      "type": "string",
      "pattern": "^\\d+\\.\\d+$",
      "description": "Artifact format version. Consumers SHOULD reject artifacts with unknown major versions. Current: '0.1'."
    },

    "tree": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$",
      "description": "The elench tree OID this artifact was built from. NOT a git commit — an elench content address (ADR-0001)."
    },

    "policy": {
      "type": "string",
      "minLength": 1,
      "description": "The policy name under which the artifact was released. Consumers re-evaluate the gate using a policy with this name."
    },

    "digest": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$",
      "description": "SHA-256 digest of the artifact (e.g., binary, container image). This is what condition 4 (builder agreement) checks: K independent producers have signed statements with this digest as the subject."
    },

    "released_at": {
      "type": "integer",
      "description": "Unix epoch seconds. Set by the producer at release time. NOT a verdict — consumers re-evaluate."
    },

    "description": {
      "type": "string",
      "description": "Human-readable description of the artifact (optional)."
    }
  }
}