{
  "ok": true,
  "role": "product",
  "slug": "employeelock",
  "name": "EmployeeLock",
  "version": "0.1.0",
  "one_line": "Hash-chained accountability workbook. Not a court, not UL, not a truth score.",
  "author": "Aziel Eliab",
  "identity": "Aziel Eliab",
  "license": "Apache-2.0",
  "github": "https://github.com/AzielEliab/employeelock",
  "skill_url": "https://aziel-runtime.vibelock.workers.dev/v1/pull/employeelock/skill",
  "worker_skill": "https://employeelock-download-tracker.vibelock.workers.dev/v1/skill",
  "skill": "---\nname: EmployeeLock\ndescription: Use when an assistant should log an accountability row or verify an EmployeeLock workbook via hosted /v1 (append-preview, verify-canonical) or aziel-runtime.\n---\n\n# EmployeeLock\n\nHash-chained accountability workbook. Local CLI + sheet. Author: **Aziel Eliab**.\n\n**THIS IS:** workbook + hash chain (COVER, LOG, EVIDENCE, CHAIN, OWNERS, DASH, LISTS) + CLI (init / append / import / verify / ui / doctor).\n\n**THIS IS NOT:** a court filing, exhibit stickerer, counsel, UL or BAL paper, truth score, consensus, token, remote uploader, or a charge sheet. Hosted `/v1` never stores xlsx.\n\nHonest banner: workbook + hash chain, not a court.\n\nAlways send `User-Agent: Mozilla/5.0`. Cloudflare Workers may 403 an empty agent.\n\n## Call these URLs\n\n- Worker OpenAPI: https://employeelock-download-tracker.vibelock.workers.dev/openapi.json\n- Catalog OpenAPI: https://aziel-runtime.vibelock.workers.dev/openapi.json\n- MCP: `POST https://aziel-runtime.vibelock.workers.dev/mcp`\n- Live skill (this markdown): `GET https://employeelock-download-tracker.vibelock.workers.dev/v1/skill`\n\nOps (do **not** increment downloads or views):\n\n- `POST /v1/append-preview` â hash a proposed LOG row; nothing is stored\n- `POST /v1/verify-canonical` â recompute SHA-256 of posted canonical JSON or fields\n- `GET /v1/health`\n- `GET /v1/skill` â this file\n\nCatalog aliases: `POST /p/employeelock/append-preview`, `POST /p/employeelock/verify-canonical`, `GET /p/employeelock/skill`.\n\nMCP tools: `employeelock_append-preview`, `employeelock_verify-canonical`, `employeelock_health`, `employeelock_skill`.\n\nGrok: import OpenAPI as a custom tool. ChatGPT: GPT Actions. Venice: HTTP tools.\n\n## Kid-plain field names\n\nUse these. The hosted API also accepts the long hashed names.\n\n| kid-plain | hashed field | meaning |\n|-----------|--------------|---------|\n| event | event | what happened |\n| result | result | what followed |\n| blame | blame_placed | who is responsible, or blank |\n| owner | owner_named | who owns the record. blank â UNOWNED |\n| short | outcome_short | near effect |\n| long | outcome_long | lasting effect |\n\nBlank `owner` flags **UNOWNED**. Filled `renamed_from` flags **RENAMED**. `confidence` is observer-assigned (not a truth score). Path B: append only; do not rewrite a hashed cell. A later long outcome is a new row that cites the old `row_hash`.\n\n## Example\n\n```bash\ncurl -s -A 'Mozilla/5.0' https://employeelock-download-tracker.vibelock.workers.dev/v1/health\ncurl -s -A 'Mozilla/5.0' -X POST https://employeelock-download-tracker.vibelock.workers.dev/v1/append-preview \\\n  -H 'content-type: application/json' \\\n  -d '{\"event\":\"desk closed\",\"result\":\"logged\",\"blame\":\"\",\"owner\":\"records desk\",\"short\":\"row added\",\"long\":\"chain grew\",\"confidence\":0.7}'\ncurl -s -A 'Mozilla/5.0' https://aziel-runtime.vibelock.workers.dev/p/employeelock/skill\n```\n\n## Local (after one-click install)\n\n```bash\ncurl -fsSL https://employeelock-download-tracker.vibelock.workers.dev/install.sh | bash\nemployeelock ui\nemployeelock doctor\npython3 employeelock.py verify WORKBOOK.xlsx\n```\n\nPaper: EL-WP-0.1 Â· DOI https://doi.org/10.5281/zenodo.22257493 Â· Apache-2.0. Forks welcome.\n\nLocal UI: Import JSON file and Export JSON. Sample payload: GET https://employeelock-download-tracker.vibelock.workers.dev/v1/example\n",
  "download": "https://employeelock-download-tracker.vibelock.workers.dev/download",
  "count": "https://employeelock-download-tracker.vibelock.workers.dev/count",
  "install": "https://employeelock-download-tracker.vibelock.workers.dev/install.sh",
  "install_sh": "curl -fsSL https://employeelock-download-tracker.vibelock.workers.dev/install.sh | bash",
  "openapi": "https://employeelock-download-tracker.vibelock.workers.dev/openapi.json",
  "runtime_openapi": "https://aziel-runtime.vibelock.workers.dev/openapi.json",
  "ops": [
    {
      "op": "health",
      "method": "GET",
      "summary": "Liveness. Does not increment download KV. Hosted never stores xlsx."
    },
    {
      "op": "append-preview",
      "method": "POST",
      "summary": "Hash a proposed LOG row without writing a file. Hosted never stores xlsx."
    },
    {
      "op": "verify-canonical",
      "method": "POST",
      "summary": "Recompute SHA-256 of posted canonical JSON. Not a truth score."
    },
    {
      "op": "skill",
      "method": "GET",
      "summary": "Return EmployeeLock skill markdown. Does not increment download KV."
    }
  ],
  "banner": "EmployeeLock is a hash-chained accountability workbook. Not a court, not UL, not a truth score. Hosted never stores xlsx. Demo rows are format proof, not case facts.",
  "limitations": "EmployeeLock is a hash-chained accountability workbook. Not a court, not UL, not a truth score. Hosted never stores xlsx. Demo rows are format proof, not case facts.",
  "aliases": {
    "catalog_card": "https://aziel-runtime.vibelock.workers.dev/p/employeelock",
    "catalog_skill": "https://aziel-runtime.vibelock.workers.dev/p/employeelock/skill",
    "catalog_health": "https://aziel-runtime.vibelock.workers.dev/p/employeelock/health",
    "invoke_prefix": "https://aziel-runtime.vibelock.workers.dev/p/employeelock",
    "worker_home": "https://employeelock-download-tracker.vibelock.workers.dev/",
    "slugs": [
      "employeelock"
    ]
  },
  "doi": "10.5281/zenodo.22257493",
  "doi_note": "Historical DOI only. Do not invent a replacement. See /cite.json.",
  "skill_source": "https://employeelock-download-tracker.vibelock.workers.dev/v1/skill (service binding)",
  "kv_increment": false
}