{
  "schema": "clava-public-outcome-story@1",
  "classification": "synthetic-public-safe",
  "payload": {
    "id": "governed-static-content-without-components",
    "title": "A safer path from pattern to publish.",
    "summary": "One approved recipe becomes a copy-ready, privacy-checked content packet—with rollback built in and no custom-component permission required.",
    "problem": {
      "heading": "A small content change carried a large permission burden.",
      "body": "Editors needed a consistent deadline callout, but the obvious route depended on a capability they did not have. Manual HTML also made privacy, drift, and rollback harder to see.",
      "risks": [
        "Permission-dependent",
        "Hard to audit",
        "Rollback improvised"
      ]
    },
    "change": {
      "heading": "The workflow moved to the surface editors already own.",
      "steps": [
        {
          "id": "build",
          "label": "Build",
          "detail": "Fill four governed inputs"
        },
        {
          "id": "check",
          "label": "Check",
          "detail": "Run the copied HTML through AFINA"
        },
        {
          "id": "capture",
          "label": "Capture",
          "detail": "Preserve the prior Source-view bytes"
        },
        {
          "id": "owner-verifies",
          "label": "Owner verifies",
          "detail": "Paste, Save, and Preview in the test environment"
        }
      ]
    },
    "verification": {
      "heading": "Every claim has a receipt.",
      "roundTrip": "Equal to the current Pattern Builder after normalization",
      "rollback": "Captured prior bytes"
    },
    "outcome": {
      "heading": "The useful change was not more software. It was less permission.",
      "before": "Component creation or ungoverned hand assembly.",
      "after": "One generator-owned packet for an existing content source view.",
      "results": [
        "Copy-ready output",
        "Private-data shapes fail closed",
        "Rollback is part of adoption, not an afterthought"
      ]
    },
    "measures": {
      "governedInputs": 4,
      "receiptBoundOutputs": 9,
      "publicSafetyChecks": 18,
      "canonicalLineageRows": 1,
      "portalComponentPermissionRequired": 0,
      "ownerHeldActions": 5
    },
    "source": {
      "repository": "clava-labs/clava",
      "commit": "afd62e9b3e4c5572f848854700b1098daa6fd990",
      "moveId": 23,
      "specimen": {
        "packetId": "deadline-callout-source-view",
        "requiresPortalComponentPermission": false,
        "roundTripStatus": "equal-to-current-pattern-builder-after-whitespace-normalization",
        "rollbackEvidence": "captured-prior-bytes"
      },
      "inputs": [
        {
          "path": "docs/pattern-library/portal-kit/DEADLINE_CALLOUT_STATIC_CONTENT_PACKET.json",
          "sha256": "a85650d3a19bcdf802185c13fe9ccdcd35fb9ea1f3ea24b0683bd4bbc71ee18c"
        },
        {
          "path": "docs/pattern-library/portal-kit/DEADLINE_CALLOUT_STATIC_CONTENT_RECEIPT.json",
          "sha256": "8de54443f9754bb95911f33493c34b0227fea78e3c52102bd6687a9097dd96bd"
        },
        {
          "path": "docs/pattern-library/portal-kit/PUBLIC_SAFE_RECEIPT.json",
          "sha256": "e2d8128773961caaba81ebbec41169e4dd75097f52d2268c093bd4de4f4a9f3e"
        },
        {
          "path": "docs/pattern-library/PATTERN_LINEAGE.json",
          "sha256": "67faa8b84e7ea44a34ba7197cd5f2a1b0a6b2766b31d78666ee60facb91c08ea"
        }
      ]
    },
    "proofBoundary": "Repository proof covers the packet, hostile-input checks, deterministic round trip, lineage, and rollback contract. Paste, Save, Preview, rendered TEST verification, approval, deployment, and Publish remain the owner's hand. SHA-256 proves byte integrity; source authenticity is vouched by the reviewed import PR, not a keyed signature."
  },
  "integrity": {
    "algorithm": "sha256",
    "payloadSha256": "baa524d4b94b9aff10a647cdc6eda342670684aaeff3e8b3a08758ae968f3a94"
  }
}
