{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://sincllm.com/schema/sinc-prompt-v1.json",
  "title": "sinc-prompt v1.0",
  "description": "JSON Schema for the sinc prompt format. Applies the Nyquist-Shannon sampling theorem to LLM prompts: a raw prompt is a continuous signal on the specification axis, and 6 frequency-band samples are required for faithful reconstruction. DOI: 10.5281/zenodo.19152668",
  "type": "object",
  "required": [
    "formula",
    "T",
    "fragments"
  ],
  "properties": {
    "formula": {
      "type": "string",
      "description": "The sinc reconstruction formula. Must reference sinc interpolation.",
      "examples": [
        "x(t) = Sigma x(nT) * sinc((t - nT) / T)"
      ]
    },
    "T": {
      "type": "string",
      "description": "The sampling axis. Always 'specification-axis' for prompt engineering.",
      "examples": [
        "specification-axis"
      ]
    },
    "fragments": {
      "type": "array",
      "description": "Exactly 6 frequency-band samples on the specification axis.",
      "minItems": 6,
      "maxItems": 7,
      "items": {
        "type": "object",
        "required": [
          "n",
          "t",
          "x"
        ],
        "properties": {
          "n": {
            "type": "integer",
            "minimum": 0,
            "maximum": 6,
            "description": "Band index: 0=PERSONA, 1=CONTEXT, 2=DATA, 3=CONSTRAINTS, 4=FORMAT, 5=TASK, 6=TASK_ARCHIVED (optional)."
          },
          "t": {
            "type": "string",
            "enum": [
              "PERSONA",
              "CONTEXT",
              "DATA",
              "CONSTRAINTS",
              "FORMAT",
              "TASK",
              "TASK_ARCHIVED"
            ],
            "description": "Band name. Must match the band index."
          },
          "x": {
            "type": "string",
            "minLength": 1,
            "description": "Content for this frequency band. Must be non-empty for bands 0-5."
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": true
}