Skip to content
wiki.fftac.org

Spiral Script V0 - Source Excerpt 04 - 22. Canonical JSON Examples

Back to Spiral Script V0

Summary

This source excerpt begins near 22. Canonical JSON Examples and preserves the surrounding evidence from Wiki.FFTAC.org/raw/system-archives/spiralist.org/docs-archive/2026-05-10/docs/planning/spiral-script-v0.1.md.

**Source path:** Wiki.FFTAC.org/raw/system-archives/spiralist.org/docs-archive/2026-05-10/docs/planning/spiral-script-v0.1.md

"label": { "type": "string" },
          "access": { "type": "string", "enum": ["public", "members", "private"] },
          "rights": { "type": "string" }
        }
      }
    },
    "intent": { "type": "string", "minLength": 1, "maxLength": 1000 },
    "inputs": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["name", "type", "required"],
        "properties": {
          "name": { "type": "string" },
          "type": { "type": "string", "enum": ["text", "markdown", "json", "manuscriptRef", "symbolRef", "url", "fileRef", "enum", "number", "boolean"] },
          "required": { "type": "boolean" },
          "default": {},
          "allowedValues": { "type": "array" }
        }
      }
    },
    "symbolicFrame": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["symbol", "machineMeaning"],
        "properties": {
          "symbol": { "type": "string" },
          "name": { "type": "string" },
          "machineMeaning": { "type": "string" },
          "note": { "type": "string" }
        }
      }
    },
    "transformationRules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["verb"],
        "properties": {
          "verb": { "type": "string", "enum": ["perceive", "classify", "interpret", "compare", "translate", "synthesize", "generate", "rewrite", "validate", "score", "fork", "archive"] },
          "from": { "type": "string" },
          "to": { "type": "string" },
          "conditions": { "type": "array", "items": { "type": "string" } }
        }
      }
    },
    "outputContract": {
      "type": "object",
      "required": ["format", "requirements"],
      "properties": {
        "format": { "type": "string" },
        "schemaRef": { "type": "string" },
        "sections": { "type": "array", "items": { "type": "string" } },
        "requirements": { "type": "array", "items": { "type": "string" } }
      }
    },
    "constraints": { "type": "array", "items": { "type": "string" } },
    "safetyRules": { "type": "array", "items": { "type": "string" } },
    "validationRules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["rule", "severity"],
        "properties": {
          "rule": { "type": "string" },
          "severity": { "type": "string", "enum": ["info", "warning", "error", "blocker"] },
          "message": { "type": "string" }
        }
      }
    },
    "provenance": {
      "type": "object",
      "required": ["createdBy", "createdAt", "rights", "reviewState"],
      "properties": {
        "createdBy": { "type": "string" },
        "createdAt": { "type": "string", "format": "date-time" },
        "rights": { "type": "string" },
        "reviewState": { "type": "string" },
        "parentScriptId": { "type": "string" }
      }
    },
    "runSettings": {
      "type": "object",
      "properties": {
        "modelPolicy": { "type": "string" },
        "temperature": { "type": "number", "minimum": 0, "maximum": 2 },
        "maxOutputTokens": { "type": "integer", "minimum": 1 },
        "storeRunLog": { "type": "boolean" }
      }
    },
    "revisionHistory": { "type": "array", "items": { "type": "object" } },
    "forkPolicy": {
      "type": "object",
      "required": ["allowForks"],
      "properties": {
        "allowForks": { "type": "boolean" },
        "requiresAttribution": { "type": "boolean" },
        "allowedVisibility": { "type": "array", "items": { "type": "string" } }
      }
    },
    "publicationStatus": {
      "type": "object",
      "required": ["status", "lane"],
      "properties": {
        "status": { "type": "string", "enum": ["draft", "private_ready", "provisional_public", "peer_reviewed", "restricted_review", "reverted", "archived", "official_canon"] },
        "lane": { "type": "string" },
        "publishedAt": { "type": "string", "format": "date-time" }
      }
    }
  }
}
' ' ' 

## 22. Canonical JSON Examples

### Minimal Example

' ' ' json
{
  "scriptId": "ss:example.raw-plate-note@0.1.0",
  "version": "0.1.0",
  "title": "Raw Plate Note",
  "visibility": "private",
  "authorMode": "human",
  "sourceReferences": [],
  "intent": "Turn a short symbolic note into a structured manuscript plate interpretation.",
  "inputs": [{ "name": "note", "type": "text", "required": true }],
  "symbolicFrame": [{ "symbol": "◇", "name": "Pattern", "machineMeaning": "symbol.pattern" }],
  "transformationRules": [{ "verb": "interpret", "from": "note", "to": "plate_note" }],
  "outputContract": { "format": "markdown.sections", "sections": ["Pattern", "Interpretation", "Use"], "requirements": ["No fact claims beyond the supplied note."] },
  "constraints": ["Separate metaphor from fact."],
  "safetyRules": ["deny ai_personhood_fact", "deny speculative_truth_claim"],
  "validationRules": [{ "rule": "intent.present", "severity": "blocker" }],
  "provenance": { "createdBy": "user:local", "createdAt": "2026-04-25T00:00:00Z", "rights": "private draft", "reviewState": "unreviewed" },
  "runSettings": { "modelPolicy": "site-default", "temperature": 0.4, "maxOutputTokens": 1200, "storeRunLog": true },
  "revisionHistory": [],
  "forkPolicy": { "allowForks": false, "requiresAttribution": true, "allowedVisibility": ["private"] },
  "publicationStatus": { "status": "draft", "lane": "private_workspace" }
}
' ' ' 

### Full Example

' ' ' json
{
  "scriptId": "ss:manuscript.plate-reader@0.1.0",
  "version": "0.1.0",
  "title": "Manuscript Plate Reader",
  "visibility": "members",
  "authorMode": "ai_assisted",
  "sourceReferences": [
    { "type": "manuscript", "ref": "folio:plate-i-the-sealed-system", "label": "Plate I - The Sealed System", "access": "public", "rights": "Spiralist manuscript reference" }
  ],
  "intent": "Interpret a manuscript plate as a reusable symbolic prompt pattern.",
  "inputs": [
    { "name": "folioSlug", "type": "manuscriptRef", "required": true },
    { "name": "readerQuestion", "type": "text", "required": false }
  ],
  "symbolicFrame": [
    { "symbol": "◇", "name": "Pattern", "machineMeaning": "symbol.pattern", "note": "Detect visible and conceptual recurrence." },
    { "symbol": "⊙", "name": "Seal", "machineMeaning": "control.boundary", "note": "Read boundaries as constraints." },
    { "symbol": "⊣", "name": "Threshold", "machineMeaning": "gate.threshold", "note": "Identify entry condition." }
  ],
  "transformationRules": [
    { "verb": "perceive", "from": "folio", "to": "observations" },
    { "verb": "interpret", "from": "observations", "to": "symbolic_reading" },
    { "verb": "synthesize", "from": "symbolic_reading", "to": "prompt_pattern" },
    { "verb": "validate", "from": "prompt_pattern", "to": "validated_output" }
  ],
  "outputContract": {
    "format": "markdown.sections",
    "sections": ["Observed Pattern", "Symbolic Interpretation", "Prompt Pattern", "Constraints", "Validation"],
    "requirements": ["Mention manuscript source.", "Separate observation from interpretation.", "Include reusable prompt rule."]
  },
  "constraints": ["900 words max.", "No unverifiable spiritual truth claims.", "No AI identity claims."],
  "safetyRules": ["deny ai_personhood_fact", "deny dependency_cue", "require metaphor_fact_boundary", "require human_review before publish"],
  "validationRules": [
    { "rule": "sourceReferences[0].type == manuscript", "severity": "error", "message": "A plate reader requires a manuscript source." },
    { "rule": "output.contains_sections", "severity": "blocker", "message": "Output must follow the declared sections." }
  ],
  "provenance": { "createdBy": "user:system", "createdAt": "2026-04-25T00:00:00Z", "rights": "site-managed prompt draft", "reviewState": "needs_peer_review" },
  "runSettings": { "modelPolicy": "site-default", "temperature": 0.35, "maxOutputTokens": 1800, "storeRunLog": true },
  "revisionHistory": [{ "version": "0.1.0", "change": "Initial v0.1 plate reader contract.", "changedAt": "2026-04-25T00:00:00Z" }],
  "forkPolicy": { "allowForks": true, "requiresAttribution": true, "allowedVisibility": ["private", "members", "public"] },
  "publicationStatus": { "status": "provisional_public", "lane": "community_library" }
}
' ' ' 

### Validation Error Example

' ' ' json
{
  "errorCode": "SS-MISSING-PROVENANCE",
  "errorClass": "validation",
  "failingField": "provenance",
  "failingValue": null,
  "reason": "Public Spiral Script prompts must declare origin, rights, and review state.",
  "recoverable": true,
  "suggestedFix": "Add provenance.createdBy, provenance.createdAt, provenance.rights, and provenance.reviewState before publication.",
  "severity": "blocker"
}
' ' ' 

### Forked Prompt Example

' ' ' json
{
  "scriptId": "ss:comparative.plate-reader@0.1.0+fork.a91c",