{
  "$comment": "Single source of truth for every version, count and inventory quoted anywhere in the tree. scripts/verify-docs.ts enforces consistency — edit THIS file first, then the prose.",
  "packages": {
    "zipnative": {
      "version": "1.0.0",
      "repo": "https://github.com/Nizoka/zipnative",
      "status": "active"
    },
    "zipnative-cli": {
      "version": "1.0.0",
      "repo": "https://github.com/Nizoka/zipnative-cli",
      "status": "published",
      "binary": "zipnative",
      "pinField": "dependencies",
      "pin": "^1.0.0",
      "commandCount": 15,
      "commandGroups": {
        "Create & modify": ["create", "modify"],
        "Read & extract": ["list", "inspect", "cat", "extract", "stream"],
        "Integrity & codecs": ["verify", "crc32", "inflate"],
        "Automation & meta": ["batch", "doctor", "schema", "completion", "govern"]
      },
      "envVars": [
        "ZIPNATIVE_JSON",
        "ZIPNATIVE_DRY_RUN",
        "ZIPNATIVE_QUIET",
        "ZIPNATIVE_STRICT",
        "ZIPNATIVE_PURE_CODECS",
        "ZIPNATIVE_DEBUG"
      ]
    },
    "zipnative-mcp": {
      "version": "1.0.0",
      "repo": "https://github.com/Nizoka/zipnative-mcp",
      "status": "published",
      "binary": "zipnative-mcp",
      "pinField": "dependencies",
      "pin": "^1.0.0",
      "toolCount": 13,
      "tools": [
        "inspect_zip",
        "list_zip_entries",
        "read_zip_entry",
        "verify_zip",
        "extract_zip",
        "scan_zip_forward",
        "sanitize_entry_paths",
        "create_zip",
        "modify_zip",
        "compute_crc32",
        "inflate_raw",
        "describe_engine",
        "draft_governance_issue"
      ],
      "promptCount": 7,
      "prompts": [
        "governance_contract",
        "draft_issue_workflow",
        "secure_extraction",
        "reproducible_archive",
        "incremental_update",
        "forensic_scan",
        "verify_before_trust"
      ],
      "resourceTemplates": ["zipnative://output/{+path}"],
      "transports": ["stdio", "streamable-http"],
      "envVars": [
        "ZIPNATIVE_MCP_OUTPUT_DIR",
        "ZIPNATIVE_MCP_CACHE_DIR",
        "ZIPNATIVE_MCP_PORT",
        "ZIPNATIVE_MCP_HTTP_TOKEN",
        "ZIPNATIVE_MCP_MAX_UNCOMPRESSED_BYTES",
        "ZIPNATIVE_MCP_MAX_ENTRIES",
        "ZIPNATIVE_MCP_WORKERS"
      ]
    }
  },
  "engine": {
    "node": ">=22"
  },
  "verifiedOn": "2026-09-07",
  "site": "https://zipnative.dev",
  "contracts": {
    "deterministic_bytes_are_semver_major": true,
    "error_codes_frozen_since": "0.8.0"
  },
  "derived": {
    "sampleZips": 33
  },
  "declared": {
    "$comment": "Hand-maintained expectations the ISO/IEC 21320-1 validator (scripts/validate-zip.ts) canaries against — the pdfnative pdfaSamples pattern. 29 samples must PASS the profile (three of them are hostile-but-spec-valid: zip-slip, device-name, duplicate-paths); 4 crafted archives must FAIL with their declared check.",
    "iso21320": {
      "conformantSamples": 29,
      "nonConformantSamples": 4
    }
  },
  "milestones": {
    "read": "0.1.0",
    "write": "0.2.0",
    "modify": "0.4.0",
    "workers": "0.5.0",
    "satellites": "1.0.0"
  }
}
