{
  "schemaVersion": 1,
  "product": {
    "name": "xmlsquish",
    "description": "A local-first, deterministic project manager and compiler for XML prompt projects.",
    "license": "GPL-3.0-or-later",
    "homepage": "https://xmlsquish.moesegfault.dev/",
    "repository": "https://github.com/kleedaisuki/prompt-squish",
    "cratesIoPublished": false
  },
  "release": {
    "version": "1.2.1",
    "tag": "v1.2.1",
    "date": "2026-10-01",
    "releaseStatus": "published",
    "pages": {
      "zh-CN": "https://xmlsquish.moesegfault.dev/releases/1.2.1/",
      "en": "https://xmlsquish.moesegfault.dev/en/releases/1.2.1/"
    },
    "githubRelease": "https://github.com/kleedaisuki/prompt-squish/releases/tag/v1.2.1",
    "checksums": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/SHA256SUMS",
    "publishedAt": "2026-10-01T10:44:09Z",
    "sourceTag": "v1.2.1",
    "sourceCommit": "fbf60f71d6ef32a80f8f0ff2cccd7182e4a9fc84",
    "draft": false,
    "prerelease": false,
    "assetCount": 8
  },
  "cli": {
    "commands": [
      "new",
      "fmt",
      "build",
      "clean",
      "add",
      "remove",
      "add-skill",
      "remove-skill",
      "sync-skills",
      "install-skill",
      "inspect"
    ],
    "sourceInstall": "cargo install --git https://github.com/kleedaisuki/prompt-squish --tag v1.2.1 --locked",
    "sourceInstallRequirement": "Rust 1.88 or newer",
    "machineProtocol": "3.2",
    "automationMigration": "Existing public CLI and namespace remain unchanged; private derived identities may rebuild. Existing SOPack input bytes and SHA-256 lock pins remain immutable."
  },
  "artifacts": [
    {
      "target": "x86_64-unknown-linux-gnu",
      "system": "Linux",
      "architecture": "x86_64",
      "minimum": "glibc 2.35",
      "format": "tar.gz",
      "url": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/xmlsquish-1.2.1-x86_64-unknown-linux-gnu.tar.gz"
    },
    {
      "target": "aarch64-unknown-linux-gnu",
      "system": "Linux",
      "architecture": "aarch64",
      "minimum": "glibc 2.35",
      "format": "tar.gz",
      "url": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/xmlsquish-1.2.1-aarch64-unknown-linux-gnu.tar.gz"
    },
    {
      "target": "x86_64-pc-windows-msvc",
      "system": "Windows",
      "architecture": "x86_64",
      "minimum": "MSVC desktop target",
      "format": "zip",
      "url": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/xmlsquish-1.2.1-x86_64-pc-windows-msvc.zip"
    },
    {
      "target": "aarch64-pc-windows-msvc",
      "system": "Windows",
      "architecture": "aarch64",
      "minimum": "MSVC desktop target",
      "format": "zip",
      "url": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/xmlsquish-1.2.1-aarch64-pc-windows-msvc.zip"
    },
    {
      "target": "x86_64-apple-darwin",
      "system": "macOS",
      "architecture": "x86_64",
      "minimum": "macOS 11.0",
      "format": "tar.gz",
      "url": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/xmlsquish-1.2.1-x86_64-apple-darwin.tar.gz"
    },
    {
      "target": "aarch64-apple-darwin",
      "system": "macOS",
      "architecture": "aarch64",
      "minimum": "macOS 11.0",
      "format": "tar.gz",
      "url": "https://github.com/kleedaisuki/prompt-squish/releases/download/v1.2.1/xmlsquish-1.2.1-aarch64-apple-darwin.tar.gz"
    }
  ],
  "integrity": {
    "algorithm": "SHA-256",
    "signed": false,
    "notarized": false,
    "note": "SHA256SUMS verifies downloaded bytes, not publisher identity. Binaries are unsigned and not Apple-notarized.",
    "standaloneSkill": {
      "asset": "SKILL.md",
      "sha256": "12a2eaf9fa7e29c06e014b17a6cae3d3c02cec36d3e039fdac4827d7f8ea4259",
      "sourceCommit": "fbf60f71d6ef32a80f8f0ff2cccd7182e4a9fc84",
      "verification": "Raw downloaded asset bytes equal tagged source bytes; no normalization."
    },
    "embeddedGuideVerification": "Native installed-guide smoke checks cover presence and lifecycle using the same-tag embedded source; no per-target raw-byte equality claim."
  },
  "highlights": [
    "Full document/provenance/resource-directive identity for pack reuse.",
    "Whole SOPack validation before referenced-unit compilation; strict local-source validation retained.",
    "Verified immutable snapshots and borrowed/shared mechanisms retain integrity and durability checks.",
    "Canonical ZIP direct validation and content/topology-based portable provider identity; exact source, main and six-platform release gates passed; stable publication complete.",
    "Structured failures preserve exact relocated source records and actual invocation chains; cache-result rejection does not conflate derived CAS corruption with published-product corruption.",
    "Repeated text content sharing preserves public string interfaces, per-selection provenance, logical byte budgets and diagnostic ordering; multi-fragment concatenation materializes visible bytes when needed; source checkpoint verified."
  ],
  "storageLayout": {
    "defaultRoot": "target/xmlsquish",
    "artifacts": "artifacts/",
    "cache": {
      "sources": "cache/sources/",
      "cas": "cache/cas/",
      "actionIndex": "cache/actions.sqlite3"
    },
    "metadata": {
      "layout": "metadata/layout.json",
      "publications": "metadata/publications/",
      "catalog": "metadata/catalog/"
    },
    "work": "work/",
    "publicLocatorPattern": "target/xmlsquish/artifacts/*.{prompt,pack,sopack}"
  },
  "skills": {
    "manifestTable": "[skills]",
    "lockRecords": "[[skill]]",
    "projection": ".agents/skills/<name>",
    "sources": [
      "path",
      "git"
    ],
    "commands": [
      "add-skill",
      "remove-skill",
      "sync-skills",
      "install-skill"
    ],
    "bundledSkillName": "prompt-squish",
    "bundledDefaultDestination": "$HOME/.agents/skills/prompt-squish",
    "bundledProjectDestination": ".agents/skills/prompt-squish",
    "integrity": "BLAKE3 complete-tree digest; integrity does not establish trustworthiness"
  },
  "products": {
    "prompt": "Whitespace-processed prompt",
    "pack": "Reproducible ZIP deliverable",
    "sopack": "Reproducible ZIP compiled library without final products"
  },
  "sopack": {
    "dependency": {
      "sopack": "relative/library.sopack"
    },
    "immutable": true,
    "relocatable": true,
    "compatibility": {
      "schema1Reads": "Accept existing canonical v1.2.0 archives.",
      "singleRelocatedRewrite": "Preserve existing provider names and normalized bytes.",
      "freshProducerBuilds": "Provider fingerprints may change across producer versions; no cross-version byte-identity promise.",
      "inputOwnership": "Existing archive bytes and lock pins remain immutable."
    }
  },
  "verification": {
    "status": "published",
    "environment": "GitHub Actions",
    "performanceClaims": "Same-run comparisons against post-origin-index 1bbf6cd, not raw shipped v1.2.0 or v1.1.0. Selected long-text, asset-pack and SOPack fixtures improved; startup/tiny-warm and some owned/validation/short-key controls are mixed or negative. No universal speedup.",
    "preliminaryReport": "https://github.com/kleedaisuki/prompt-squish/blob/main/docs/performance/v1.2-full-repair-preliminary.md",
    "scope": "Catalog preparation avoids derived CAS-output hydration but still verifies committed publications. Warm SOPack proof reuse is bound to exact frozen encoding digest and size, not arbitrary valid IR.",
    "historicalCandidateReport": "https://github.com/kleedaisuki/prompt-squish/blob/main/docs/performance/v1.2-full-repair-candidate.md",
    "sourceCommit": "388f3640252d71fa1d40514a4775beff6598bb24",
    "hostedRun": "https://github.com/kleedaisuki/prompt-squish/actions/runs/36842734101",
    "pendingGates": [],
    "finalReport": "https://github.com/kleedaisuki/prompt-squish/blob/main/docs/performance/v1.2-text-owner-checkpoint.md",
    "releasedSourceCommit": "fbf60f71d6ef32a80f8f0ff2cccd7182e4a9fc84",
    "measuredSourceCommit": "388f3640252d71fa1d40514a4775beff6598bb24",
    "mainCI": "https://github.com/kleedaisuki/prompt-squish/actions/runs/36848135353",
    "releaseRun": "https://github.com/kleedaisuki/prompt-squish/actions/runs/36849362211",
    "publicationEvidence": "https://github.com/kleedaisuki/prompt-squish/blob/main/docs/releases/1.2.1-publication-evidence.json"
  }
}
