{
  "ok": true,
  "role": "product",
  "slug": "aznet",
  "name": "AZNet",
  "version": "0.1.0",
  "one_line": "AZNet (AZN-WP-0.1): silent verification side-net. Hash continuity without hosting. Separate software; functional-order pair with AZBrowser.",
  "author": "Aziel Eliab",
  "identity": "Aziel Eliab",
  "aka": "Aziel Elroi Eliab",
  "license": "Apache-2.0",
  "github": "https://github.com/AzielEliab/aznet",
  "skill_url": "https://aziel-runtime.vibelock.workers.dev/v1/pull/aznet/skill",
  "worker_skill": "https://aznet-download-tracker.vibelock.workers.dev/v1/skill",
  "skill": "---\nname: AZNet\ndescription: Use when verifying hashes on the AZNet silent verification side-net (AZN-WP-0.1). Hashes only — never payloads, keys, or user content. AZNet + AZBrowser both required. FragGate unlocks access. StaticClock stamps time. Hosted /v1 via this Worker or aziel-runtime slug aznet. Author Aziel Eliab.\n---\n\n# AZNet\n\nSilent verification SIDE-NET. Not an alt internet.\n\nAuthor: **Aziel Eliab**.\n\nUse when mirroring a cryptographic hash, shifting the Custodian Garden / Gold Pages, stamping a hash, or writing a Memorial. Never host payloads. Never store keys or user content. UI is a mandatory witness — if altered, terminate and memorial.\n\nAZNet, AZBrowser, and FragGate are **separate apps**. Do not embed AZNet chrome in AZBrowser or FragGate. Functional order only: `pair_token` then FragGate `pair_flag` before garden / stamp / memorial writes. StaticClock stamps time.\n\nAlways send `User-Agent: Mozilla/5.0`. Cloudflare Workers may 403 an empty agent.\n\n## Agent path is FragGate only\n\nONE FragGate door. Agents must not treat this Worker as a second MCP brand.\n\n- Discover: `fraggate_list` / `GET https://aziel-runtime.vibelock.workers.dev/v1/fraggate/list`\n- Describe: `fraggate_describe` slug=`aznet`\n- Call: `fraggate_call` / `POST https://aziel-runtime.vibelock.workers.dev/v1/fraggate/call` with `{ slug: \"aznet\", op, payload }`\n- This Worker `GET|POST /mcp` is a **pointer** (never 404) to that door\n- This Worker `/v1/fraggate/*` (list / describe / call / verify) **PROXY** to aziel-runtime via the `AZIEL_RUNTIME` service binding\n- Leftover flat names such as `aznet_stamp` still go through FragGate — they are not a side door\n\nCatalog LIVE_OPS (same names the Worker UI buttons call): `health`, `pair_status`, `garden_list`, `stamp`, `verify_hash`, `memorial_list`, `memorial_append`, `receipt_verify`, `skill`.\n\n`doctor` is **not** a FragGate live op. Local CLI `aznet doctor` stays a device-local self-check. Worker UI does not expose a Doctor button.\n\nAZNet is **separate software** from AZBrowser. Pairing is functional order only (`pair_token` + `pair_flag`). Do not merge UIs.\n\n## Endpoints (this Worker)\n\nHost: `https://aznet-download-tracker.vibelock.workers.dev`\n\n| Method | Path | What |\n|--------|------|------|\n| GET | `/` | Product homepage. Increments **views**. |\n| GET | `/download` | Counted tarball (HTTP 200, live counter, no 302). Increments **downloads**. |\n| GET | `/count` | `{views, downloads, total}`. Does not increment. |\n| GET | `/stats` | views, downloads, `by_repo` / `by_branch` / `by_fork`. Does not increment. |\n| GET/POST | `/mcp` | FragGate pointer (never 404). Not a second MCP. |\n| GET | `/v1/fraggate/list` | PROXY to aziel-runtime FragGate list. |\n| GET | `/v1/fraggate/describe` | PROXY to aziel-runtime FragGate describe. |\n| POST | `/v1/fraggate/call` | PROXY to aziel-runtime FragGate call. |\n| POST | `/v1/fraggate/verify` | PROXY to aziel-runtime FragGate verify. |\n| GET | `/v1/health` | Liveness. Does not increment downloads. |\n| GET | `/v1/skill` | This markdown. Does not increment downloads. |\n| GET | `/v1/example` | Sample pair + stamp payload. Does not increment downloads. |\n| GET/POST | `/v1/pair_status` | Catalog name: pair + report AZBrowser token/flag. Leftover alias: `/v1/pair`. |\n| GET | `/v1/garden_list` | Catalog name: demo Gold Pages. Leftover alias: `/v1/garden`. |\n| GET | `/v1/time` | StaticClock advisory display. Not a scheduler. Human chrome. |\n| GET | `/v1/witness` | Mandatory UI witness hash. Human chrome. |\n| POST | `/v1/unlock` | Human chrome: FragGate unlock after pair. Not a catalog live op. |\n| POST | `/v1/stamp` | TemporalLock-style stamp of a hash. Pair + unlock required. |\n| POST | `/v1/memorial_append` | Catalog name: terminal memorial. Leftover alias: `/v1/memorial`. |\n| POST | `/v1/memorial_list` | Catalog name: list memorial receipts from the client ledger. |\n| POST | `/v1/withdraw` | Human chrome: withdrawal over coercion. |\n| POST | `/v1/verify_hash` | Catalog name: walk hashes and prev links. Leftover alias: `/v1/verify`. |\n| POST | `/v1/receipt_verify` | Catalog name: verify receipt links. Leftover alias: `/v1/receipts`. |\n| POST | `/v1/lattice` | Human chrome: verify receipt links + counts. |\n| POST | `/v1/witness` | Human chrome: check UI witness. Mismatch terminates + memorial. |\n\nOpenAPI: `https://aznet-download-tracker.vibelock.workers.dev/openapi.json`\n\nCatalog OpenAPI: `https://aziel-runtime.vibelock.workers.dev/openapi.json`\n\nCatalog MCP: `POST https://aziel-runtime.vibelock.workers.dev/mcp`\n\nThis Worker MCP pointer: `GET|POST https://aznet-download-tracker.vibelock.workers.dev/mcp`\n\nCatalog aliases under `/p/aznet/…` when listed. FragGate slug: `aznet`.\n\nAZBrowser (required pair): `https://github.com/AzielEliab/azbrowser`\n\nStaticClock: `https://staticclock-download-tracker.vibelock.workers.dev/`\n\nTemporalLock (timeslate lattice): `https://temporallock-download-tracker.vibelock.workers.dev/`\n\nFragGate kernel: `https://github.com/AzielEliab/fraggate`\n\nDo **not** wire Lumen, AZInterface, AZ-OS Hub, or Interface products.\n\n## How to call (Mozilla/5.0)\n\n```bash\ncurl -s -A 'Mozilla/5.0' https://aznet-download-tracker.vibelock.workers.dev/v1/health\ncurl -s -A 'Mozilla/5.0' https://aznet-download-tracker.vibelock.workers.dev/mcp\ncurl -s -A 'Mozilla/5.0' -X POST https://aziel-runtime.vibelock.workers.dev/v1/fraggate/call \\\n  -H 'content-type: application/json' \\\n  -d '{\"slug\":\"aznet\",\"op\":\"pair_status\",\"payload\":{\"azbrowser\":\"https://github.com/AzielEliab/azbrowser\"}}'\ncurl -s -A 'Mozilla/5.0' -X POST https://aznet-download-tracker.vibelock.workers.dev/v1/pair_status \\\n  -H 'content-type: application/json' \\\n  -d '{\"azbrowser\":\"https://github.com/AzielEliab/azbrowser\"}'\ncurl -s -A 'Mozilla/5.0' https://aznet-download-tracker.vibelock.workers.dev/count\ncurl -s -A 'Mozilla/5.0' https://aznet-download-tracker.vibelock.workers.dev/stats\ncurl -s -A 'Mozilla/5.0' https://aznet-download-tracker.vibelock.workers.dev/v1/garden_list\ncurl -s -A 'Mozilla/5.0' https://aznet-download-tracker.vibelock.workers.dev/v1/skill\n```\n\nWorks with ChatGPT (GPT Actions / OpenAI), Grok (xAI), Venice, Claude (Anthropic), Cursor (MCP), Glama (MCP), Perplexity, Microsoft Copilot / Bing, Google Gemini / Vertex, Mistral, Meta AI, Apple Intelligence surfaces, Amazon Q tooling, DuckAssist, You.com, Cohere, and other MCP/OpenAPI-capable assistants. Import the catalog or Worker OpenAPI as a GPT Action, custom HTTP tool, or custom OpenAPI tool. MCP clients (Cursor, Glama, Claude, and others): `POST` the catalog MCP endpoint.\n\n## Local (after one-click install)\n\n```bash\ncurl -fsSL https://aznet-download-tracker.vibelock.workers.dev/install.sh | bash\naznet ui\naznet doctor\n```\n\nThen open http://127.0.0.1:8771 (this computer only).\n\n## Honest banner\n\nTHIS IS: a silent verification SIDE-NET (hash continuity, Custodian Garden, Memorial ledger). THIS IS NOT: an alt internet, a host, a payload store, a VPN, or a key store. The Worker is a control-plane / demo garden. Device-local silent node is the real posture. AZNet + AZBrowser are both required. Author Aziel Eliab.\n\nCite the GitHub repository and this Worker. No Zenodo DOI is invented here; a software deposit is still needed.\n\nApache-2.0 (or the repo LICENSE). Forks are welcome and always allowed.\n\n## Catalog + local UI\n\nAuthor: **Aziel Eliab**. Honest scope: hashes only. Not an alt internet.\n\n- Product homepage (workspace + counted download): https://aznet-download-tracker.vibelock.workers.dev/\n- Catalog product (when listed): https://aziel-runtime.vibelock.workers.dev/p/aznet/\n- Catalog OpenAPI: https://aziel-runtime.vibelock.workers.dev/openapi.json\n- Catalog MCP: `POST https://aziel-runtime.vibelock.workers.dev/mcp`\n- This Worker MCP pointer: `GET|POST https://aznet-download-tracker.vibelock.workers.dev/mcp`\n- This Worker skill: `GET https://aznet-download-tracker.vibelock.workers.dev/v1/skill`\n- This Worker OpenAPI: https://aznet-download-tracker.vibelock.workers.dev/openapi.json\n- Sample payload: `GET https://aznet-download-tracker.vibelock.workers.dev/v1/example`\n\nLocal UI: Garden Rolodex, Memorial, stamps, receipts, pair-status, FragGate unlock, StaticClock. Device-local `aznet doctor` is not a FragGate live op.\n\nWorks with ChatGPT (GPT Actions / OpenAI), Grok (xAI), Venice, Claude (Anthropic), Cursor (MCP), Glama (MCP), Perplexity, Microsoft Copilot / Bing, Google Gemini / Vertex, Mistral, Meta AI, Apple Intelligence surfaces, Amazon Q tooling, DuckAssist, You.com, Cohere, and other MCP/OpenAPI-capable assistants. Import the catalog or Worker OpenAPI as a GPT Action, custom HTTP tool, or custom OpenAPI tool. MCP clients (Cursor, Glama, Claude, and others): `POST` the catalog MCP endpoint. MCP clients: `POST https://aziel-runtime.vibelock.workers.dev/mcp`.\n\nCounted download (gzip HTTP 200, no 302): https://aznet-download-tracker.vibelock.workers.dev/download?asset=aznet-0.1.0.tar.gz\nCount JSON: https://aznet-download-tracker.vibelock.workers.dev/count\nStats (`by_repo` / `by_branch` / `by_fork`): https://aznet-download-tracker.vibelock.workers.dev/stats\nIsolated counter: Worker `aznet-download-tracker`, KV `AZNET_DOWNLOADS`. `/v1` does not increment.\nHubs list this Worker once live: https://www.azielcorpuslibrary.net/software · https://godlock.uk/software · https://www.azieleliab.com (Software section)\nGitHub: https://github.com/AzielEliab/aznet\n",
  "download": "https://aznet-download-tracker.vibelock.workers.dev/download",
  "cite": "https://aznet-download-tracker.vibelock.workers.dev/cite.json",
  "llms": "https://aznet-download-tracker.vibelock.workers.dev/llms.txt",
  "sitemap": "https://aznet-download-tracker.vibelock.workers.dev/sitemap.xml",
  "count": "https://aznet-download-tracker.vibelock.workers.dev/count",
  "install": "https://aznet-download-tracker.vibelock.workers.dev/install.sh",
  "install_sh": "curl -fsSL https://aznet-download-tracker.vibelock.workers.dev/install.sh | bash",
  "openapi": "https://aznet-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."
    },
    {
      "op": "pair_status",
      "method": "POST",
      "summary": "Report AZBrowser pairing token + flag. Both required for garden / mesh ops."
    },
    {
      "op": "garden_list",
      "method": "POST",
      "summary": "List the custodian garden of hash refs. Refuses without AZBrowser pair. Never hosts payloads."
    },
    {
      "op": "stamp",
      "method": "POST",
      "summary": "Stamp a hash ref into the garden. Hashes then discards bytes. Never hosts payloads."
    },
    {
      "op": "verify_hash",
      "method": "POST",
      "summary": "Verify a garden hash ref. Integrity mismatch isolates. Never hosts payloads."
    },
    {
      "op": "memorial_list",
      "method": "POST",
      "summary": "List the memorial ledger. Terminal / append-only. Requires AZBrowser pair."
    },
    {
      "op": "memorial_append",
      "method": "POST",
      "summary": "Append a terminal memorial for a garden hash. No rewrite. Requires AZBrowser pair."
    },
    {
      "op": "receipt_verify",
      "method": "POST",
      "summary": "Verify TemporalLock-style receipt + StaticClock timeslate fields."
    },
    {
      "op": "skill",
      "method": "GET",
      "summary": "Return AZNet skill markdown. Does not increment download KV."
    }
  ],
  "banner": "AZNet (AZN-WP-0.1): silent verification side-net. Hash continuity without hosting. Custodian garden of hash refs + memorial ledger. Integrity refuse/isolate. Separate software from AZBrowser (same FragGate door; functional-order pair: token AND flag required; own Worker / own UI). FragGate LIVE only. Never hosts payloads. Author Aziel Eliab.",
  "limitations": "AZNet (AZN-WP-0.1): silent verification side-net. Hash continuity without hosting. Custodian garden of hash refs + memorial ledger. Integrity refuse/isolate. Separate software from AZBrowser (same FragGate door; functional-order pair: token AND flag required; own Worker / own UI). FragGate LIVE only. Never hosts payloads. Author Aziel Eliab.",
  "aliases": {
    "catalog_card": "https://aziel-runtime.vibelock.workers.dev/p/aznet",
    "catalog_skill": "https://aziel-runtime.vibelock.workers.dev/p/aznet/skill",
    "catalog_health": "https://aziel-runtime.vibelock.workers.dev/p/aznet/health",
    "invoke_prefix": "https://aziel-runtime.vibelock.workers.dev/p/aznet",
    "worker_home": "https://aznet-download-tracker.vibelock.workers.dev/",
    "slugs": [
      "aznet",
      "az-net",
      "az.net",
      "azn-wp",
      "azn-wp-0.1"
    ]
  },
  "doi": null,
  "doi_note": "No DOI. Zenodo software deposit needed. Do not invent one.",
  "skill_source": "https://aznet-download-tracker.vibelock.workers.dev/v1/skill (service binding)+cache",
  "kv_increment": false
}