{
  "openapi": "3.1.0",
  "info": {
    "title": "Aziel Runtime",
    "version": "2.0.0-rc1",
    "summary": "Aziel Runtime is a node-meshed orchestration suite of MCP-connected software designed to route catalog Softwares through the FragGate door, mint receipts, and coordinate mesh presence.",
    "description": "Aziel Runtime is a node-meshed orchestration suite of MCP-connected software designed to route catalog Softwares through the FragGate door, mint receipts, and coordinate mesh presence. Use it to list, describe, and call product operations over MCP or OpenAPI, then keep the returned receipt. It exists so each Softwares product stays a separate engine behind one door. FragGate is THE single public executable door (list → describe → call). Softwares catalog Plain→Gate→Lock; hubs refresh from GET /v1/software. Humans use Softwares in the Worker UI on this VibeLock host (browser / PWA) — no download required. Agents use OpenAPI/MCP. Optional suite pack JSON remains at /download. Catalog names mesh-resident website designs azcorpus + azlibrary (downloadable to nodes; azlibrary upload is API token only). Cap-7 mesh names via MirageGrid only ( .az duplication + shift; standard internet does not reach Cap-7; AZ domains resolve via hub HTTPS; Cap-7 resolves_to_hub false; 3 of 7 false sites). COLD-MULTI-SHELF-1.0 cite on GET /shelves matches corpus#96 honesty (Plane A 5 surfaces / 2 family radii / 1 independent live; Plane B Codeberg + archive.org PASS still SLOT at https://archive.org/details/aziel-lockset-tip + https://archive.org/details/aziel-lockset-tip_202609, same blast_radius; Framagit URL null; doi null; Plane C USB SLOT). NodeMesh/QNM read-only suite-presence is ON by default; GET /v1/mesh never enables radios beyond that. FED-MESH-1.0 is a Local-First Edge Mesh: raw data, keys, and heavy compute stay on the local node; this Worker is one relay and carries signed receipts, state digests, ref updates, and .aziel name records. A friendly name carries proof-of-work and stays pending until 72 hours and 2 witness handles. The first valid final claim wins (3 user .aziel names per handle, plus 4 reserved hub-mirror slots). <handle>.aziel is self-certifying. .az is normal DNS except the Cap-7 allowlist and the AZ.* hub names. It never requires plaintext. Full objects stay on peers. A new node still needs one relay address it already has. Public VPN auto-binds AZVPN (HTTPS/WS REAL; WireGuard/OpenVPN SLOT). Author Aziel Eliab only. 2.0.0-rc1 SpectralLock 0.3.1: wheel paint is separate from the spectral triad; FragGate ops pigment and restore-pigment restore lost pigment and refuse SL-PIGMENT-GONE when the signal is gone; AMOE is not a live product. 2.0.0-rc1 is the certification-point freeze: public contract, compatibility, receipt schema, refusal contract, and breaking-change policy under docs/2.0/. Clean-room reproducibility + external adversarial pack for independent reviewers. Gate 4 includes Glama TDQS 5.0 tools/list metadata (no rename; no behavior change) plus existing glama.json / GitHub topics. Read-only QNM suite-presence is ON by default; POST /v1/mesh/disable refuses MESH-DISABLE-REFUSED. Additive COLD-MULTI-SHELF-1.0 cite (GET /shelves) matches corpus#96 /shelves honesty: Plane A = 5 published surfaces / 2 family radii / 1 independent live; Plane B Codeberg + archive.org PASS still SLOT (https://archive.org/details/aziel-lockset-tip + https://archive.org/details/aziel-lockset-tip_202609, same blast_radius); Framagit URL null Zenodo tip-pack SLOT (zenodo_live:false; CNS-ZENODO-NOT-LIVE); doi null; Plane C USB SLOT. Sister product Trades-Runtime machine cite is 0.4.9 (live GET /v1/health; sister_products / extras cite_only; live_backends false; earlier cite 0.3.3). Remain-OFF untouched. FragGate remains THE single door. Architecture-fit placements zkattest / mmconsensus / toolbench are in-runtime engines behind FragGate (isolation 33 unchanged; no new MCP tool). Crawler abstract stays lead copy. Identity Aziel Eliab only. 1.9.3 closes the remaining AZRT-1.9-GAPS-CLOSE items: isolate-native AZ-OS session_open/status/close (prefab ethics VFS; exec/shell/lattice stay refuse); isolate-safe Ask Jeeves over sample MASTER / CORPUS_D1 records; binding-gated media-run when env.AI is present (no fake OCR); published independent-validation attestation path. Remain-OFF untouched. 1.9.2 binds Workers Browser Rendering (BROWSER) and live D1 MASTER (CORPUS_D1 → aziel-digital-library records). Whisper/OCR Workers-AI-bound. Sample MASTER remains the unbound fallback. Chromium product UI stays unbound; Tor/phoenix stay refuse. Remain-OFF untouched. 1.9.1 closes AZRT-1.9-GAPS-CLOSE isolate-safe corpus verify; Whisper/OCR Workers-AI-gated; AZBrowser sandbox_status; AZMail transport_status; wave 2–3 doctor; adversarial self-check + Actions npm test. Remain-OFF untouched. 1.9.0 closed AZRT-1.9-CLOSE-1.0. Chromium product UI stays unbound. Remain-OFF untouched. 1.7.11 leads crawler copy with that definition (changelog stays below). 1.7.10 makes QNM Live Nodes durable (read-only suite-presence is ON by default; GET /v1/mesh never enables; cron or request-path fans out live Softwares product Workers while enabled; TTL 5 min). 1.7.9 cross-maps AZCoherence (peers azclce / AZInterface / AKM-TRIAD fabric neighbor; hubs + Worker URL; domain stays null). 1.7.8 lands EmbryoLock as a true in-process engine (live-with-local-destructive-boundary; wipe/unlock stay FG-STUB; worker_home embryolock-download-tracker). 1.7.7 lands AZCoherence (AZC-0.1) as a true in-process FragGate Softwares engine (second-pass triad coherence; cite https://github.com/AzielEliab/AZCoherence). 1.7.6 syncs 4DMap LIVE_OPS with product 0.2.0 (pin/span/stack/gap/fork/walk/lens/class/cohort/absence/cap/join/list/example plus frame_status/axis_describe/walk_trace/card_export/card_import/verify_chain/neighbor_cite; inspection frame after AZPIPE). 1.7.5 is Softwares capability wave 1 (decisiongate / forgereceipts / temporallock / staticclock / chronolock / trajectorylock / spectrallock). 1.7.4 enhances 4DMap LIVE_OPS (frame_status/axis_describe/walk_trace/card_export/card_import/verify_chain/neighbor_cite; inspection frame after AZPIPE). 1.7.3 aligns audit WARN copy (exist.mcp → tools/list; public FragGate call; catalog count_note; 4DMap inspection frame after AZPIPE). 1.7.2 adds GET /v1/azpipe/arch (MASTER-33 AZPIPE cite/read; same FragGate pipeline payload). 1.7.1 adds AKM-TRIAD-1.0 (adaptive recollection, Bayesian calibration, 3-of-4 triad; behind FragGate). 1.7.0 locks MASTER-33: Human → AZInterface → PUBLIC/UI/AGENT/API → FragGate → Lamb Lens → SweepGate → Sentinel → Provenance/Input Packet → ChainLock-IN → DecisionGATE → AZPIPE → Internal Domain Layer → optional ASE → RoseClock → TemporalLock → ChainLock-OUT → ForgeReceipts → Return. FragGate is THE single door. Lamb Lens is fabric after FragGate. LambGate is not a hop. 1.6.15 locked SUITE-PIPE-1.6.15 (historical; kept). 1.6.14 adds 4DMap (4DM-WP-1.0) as a true in-process engine: four-axis inspection frame T/Δ/Γ/Π after AZPIPE — not a sequential gate and not an extra door. Call only via POST /v1/fraggate/call (or MCP fraggate_call) with { slug: \"4dmap\", op }. 1.7.6 LIVE_OPS sync product 0.2.0 verbs (pin/span/stack/gap/fork/walk/lens/class/cohort/absence/cap/join/list/example) plus frame_status/axis_describe/walk_trace/card_export/card_import/verify_chain/neighbor_cite. truth_score/lumen_panel/invent_mark/backdate_class stay stub. FragGate claims cite join types. 1.6.13 aligns the suite QNM rollup (QNM-BUILD-1.0, companion to AIH-WP-1.1; GET /v1/mesh live/locked/isolated; not a login mesh; full node is local qnm-node/). Current law: read-only suite-presence ON by default; POST /v1/mesh/disable refuses. Packet-transfer coding design is QNS-CD-1.0 (photon QNS1 1.3 on local qnsd; GET /v1/qns cites only — never a public via proxy). 1.6.12 adds GET /v1/software (authoritative hub catalog: Plain A–Z → Gate A–Z → Lock A–Z, Clock ≠ Lock, EmbryoLock stub) plus GET /v1/update/check and GET /v1/update/manifest. 1.6.11 adds a durable FragGate UI-op alias map (Worker button names resolve to catalog ops) and names EmbryoLock as stub / local-not-hosted (not a FragGate engine). 1.6.10 sets AZBrowser and AZNet catalog one_line to separate software (not engine). Same FragGate door. Two catalog slugs stay. 1.6.9 frames AZHub (AIH-WP-1.0 Blank Key) and AZInterface (AIH-WP-1.0 custodial page cycles) as two separate softwares under the same FragGate door — never one combined product. Call only via POST /v1/fraggate/call (or MCP fraggate_call) with { slug: \"azhub\", op } or { slug: \"azinterface\", op }. Hub refuses auto-unlock / completeness. Interface page_cycle_status reports OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL. scorch_remote / ranking stay stub. 1.6.8 added the two catalog slugs. 1.6.7 adds AZNet (AZN-WP-0.1) as a separate FragGate-live product: silent verification side-net (hash stamps, custodian garden, memorial ledger, integrity refuse/isolate). Never hosts payloads. Own Worker aznet-download-tracker and own UI. Garden / stamp / memorial ops require AZBrowser pair_token AND pair_flag (functional order only). payload_host / serve_content_for_peer / analytics / ranking / repair_integrity_bypass stay stub. Reached only via POST /v1/fraggate/call (or MCP fraggate_call) with { slug: \"aznet\", op }. 1.6.6 adds AZBrowser (AZB-1.0) as a FragGate-live engine: Lamb Lens ethical search + advisory navigate. Cite; refuse harmful harvest; never invent visit results. Not Chromium. LIVE_OPS.azbrowser: ethical_search, lamb_lens_search, navigate, airlock_ingest, tab_open, tab_list, receipt_list, verify, receipt_verify, health, skill. Call only via POST /v1/fraggate/call (or MCP fraggate_call) with { slug: \"azbrowser\", op }. Worker UI buttons on this host call that same door — one backend, two surfaces. tor_exit / phoenix_wipe / chromium / unrestricted proxy stay stub. 1.6.5 adds AZMail (APP 1.0) as a FragGate-live engine: anonymous MCP mesh (default off) + advisory airlock. Not a full internet MTA. SMTP / deanonymize / harvest stay stub. AZMail is reached only via POST /v1/fraggate/call (or MCP fraggate_call) with { slug: \"azmail\", op }. Host /runtime proxies that same FragGate door. DecisionGATE / FragGate ledger still apply before exec. 1.6.4 adds PeaceLock (PL-WP-0.1) as a true in-process engine: chosen silence / chosen inaction receipts, HARD_DUTY refuse, ABSENT transcript/counterfactual/motive. 1.6.3 adds GET /v1/uses (KV-backed API use counters + ring log; no PII). 1.6.2 widens the public FragGate door to sensible advisory engines; stub verbs still refuse. 1.6.1 lists every major OpenAPI / MCP / HTTP client. 1.6.0 is the FragGate door: hashed registry, thin MCP tools/list, DecisionGATE before exec, ask/refuse ledger. 1.5.0 was the agent-native cut (flat product-verb MCP + runtime_run). 1.4.1 adds production gates on the 1.4.0 engine-runtime. 1.4.0 is catalog + pull + proxy + a session Durable Object + vendored in-process engines for every catalog Software slug. 1.3.0 listed portable slugs. 1.2.0 was session/receipt (exec still proxied). 1.1.0 was catalog+proxy that called itself a runtime. Agent default exec is POST /v1/fraggate/call or MCP fraggate_call (CallEnvelope → FragGate → Lamb Lens → SweepGate → Sentinel → Provenance → ChainLock-IN → DecisionGATE → AZPIPE → Internal Domain Layer → RoseClock → TemporalLock → ChainLock-OUT → ForgeReceipts → Return). Binding-only ops stay per-op proxy_fallback. POST /p/{product}/{op} is a proxy, not exec, and is not the agent default path. Cloudflare isolate is the jail. Hosted AZAI is a protocol mirror + Lamb check, not the local blend. Public VPN auto-binds AZVPN (HTTPS/WS REAL; WireGuard/OpenVPN/L3 SLOT; origin-hiding false). GET /v1/mesh cites vpn=true and never opens a session. AZMail anonymous ring is FragGate LIVE_OPS only (default off; not SMTP, not identity). AZBrowser Lamb Lens is FragGate LIVE_OPS only (not Chromium; no invented visits). AZHub Blank Key and AZInterface page cycles are two separate softwares under the same FragGate door (AIH-WP-1.0). Start at GET /v1/skill or GET /v1/software. Agents call Softwares (tools/list name Softwares) on POST /mcp, pick a slug, then fraggate_call. library_lookup searches library papers and cites. FragGate stays the single exec door. The door runs first. ChainLock, TemporalLock, and ForgeReceipts stamp when the call needs a ledger. Diagnostics: fraggate_list → fraggate_describe → fraggate_call. Hubs fetch GET /v1/software (also GET /v1/fraggate/software). Clients check GET /v1/update/check?slug={slug}&version={installed} (slug required; bare GET is not a check). Public GET /v1/manifest is not a path; machine manifest is GET /v1/runtime.json (MCP runtime_manifest). GET /v1/bundle lists every product skill URL + invoke prefix. GET /v1/pull/{slug} and GET /v1/pull/{slug}/skill pull a product without visiting its Worker. Suite design papers live at docs/designs/ (git-hosted; not Softwares-tab products, not a FragGate slug). Import this file in any OpenAPI-, MCP-, or HTTP-tool-capable assistant: ChatGPT (GPT Actions / OpenAI), Grok (xAI), Venice, Claude (Anthropic Desktop / custom tools), Cursor (MCP), Glama (Install Server / MCP), Perplexity, Microsoft Copilot / Bing, Google Gemini / Vertex AI, Mistral, Meta AI, Apple Intelligence / Applebot surfaces, Amazon Q / Amazonbot tooling, DuckAssist / DuckDuckGo AI, You.com, Cohere, plus other MCP/OpenAPI-capable assistants. GodLock/MirageGrid are not VPNs. ForgeReceipts is not legal advice. ZionPattern Solver caps confidence at 75% and does not solve cases. VeilLock does not inject into FaceTime. AZ-CLCE detects inconsistency, not intent. ChronoLock is advisory only (not a scheduler, not targeting, not virality; 08:30–10:30 local; distinct from TemporalLock). The ARK is not a kernel. Hosted API never unlocks or encrypts with a passphrase and never stores vaults. Sweep is Mode E heuristics only. AZAI is a local OpenAI-compatible runtime, not a new foundation model. Hosted /v1 is a protocol mirror + Lamb check, not a provider proxy. Jeeves is not sovereign. SpectralLock 0.3.1 hosted overlay is a 256px preview, not a spectrometer, not forensic. Wheel paint is separate from the spectral triad. Inject ON is paint, not pigment recovery. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the signal is gone. AMOE is not a live product. Present-container-bytes recover is honest; revision graph is honest; opaque refuse is honest; 7z/HEIC/HEIF stay SLOT; handwriting is not ESDA; never OCR-from-black-box. UV is not a lamp. Balance/lemon/indent never invent marks. EmployeeLock is not a court, not UL, not a truth score. Hosted never stores xlsx. FoldLock is not zip. Hosted preview is tether-suppression on small UTF-8 text. WhistleLock is not a mailer. Hosted never holds whistle files. AZMail is not a full internet MTA and is reached only via FragGate on aziel-runtime (host /runtime proxies that door). Scan is LIVE-when-scanner-present. The airgap is present. The mailbox is encrypted-to-user. External SMTP is not end-to-end. AZBrowser is not Chromium and is reached only via FragGate on aziel-runtime (MCP fraggate_call and Worker UI buttons share LIVE_OPS.azbrowser). AZNet is not a payload host and is reached only via FragGate. Separate product / own UI. Garden / stamp / memorial ops require AZBrowser pairing token AND flag. AZHub is a Blank Key and is not AZInterface. AZInterface page cycles are pre-locked and AZHub is sibling software under the same FragGate door. 4DMap is a four-axis inspection frame (4DM-WP-1.0), not a sequential gate, not a truth score, not a Lumen panel. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Aziel Corpus Library is not a private-file search engine, not Zenodo, and not a new Lock engine. Forks welcome. Apache-2.0. Author: Aziel Eliab.",
    "license": {
      "name": "Apache-2.0",
      "identifier": "Apache-2.0"
    },
    "contact": {
      "name": "Aziel Eliab",
      "url": "https://www.azieleliab.com/"
    },
    "x-sameAs": [
      "https://github.com/AzielEliab",
      "https://github.com/azieltherevealerofthesealed-arch",
      "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime",
      "https://www.azieleliab.com/",
      "https://www.azielcorpuslibrary.net/",
      "https://godlock.uk/",
      "https://www.hedidntjump.com/",
      "https://x.com/AzielEliab",
      "https://www.azieleliab.com/person.jsonld",
      "https://www.azieleliab.com/who-is",
      "https://www.azieleliab.com/who-is-aziel-eliab.txt",
      "https://www.azieleliab.com/cite.json",
      "https://www.azieleliab.com/llms.txt",
      "https://www.azielcorpuslibrary.net/person.jsonld",
      "https://www.azielcorpuslibrary.net/who-is",
      "https://www.azielcorpuslibrary.net/cite.json",
      "https://godlock.uk/person.jsonld",
      "https://godlock.uk/cite.json",
      "https://www.hedidntjump.com/person.jsonld",
      "https://www.hedidntjump.com/who-is",
      "https://www.hedidntjump.com/cite.json",
      "https://godlock.uk/runtime/person.jsonld",
      "https://godlock.uk/runtime/who-is",
      "https://godlock.uk/runtime/who-is-aziel-eliab.txt",
      "https://godlock.uk/runtime/cite.json",
      "https://godlock.uk/runtime/llms.txt",
      "https://godlock.uk/runtime/ai.txt"
    ],
    "x-socials": {
      "twitter": "https://x.com/AzielEliab",
      "twitter_handle": "@AzielEliab",
      "x": "https://x.com/AzielEliab",
      "github": "https://github.com/AzielEliab",
      "github_secondary": "https://github.com/azieltherevealerofthesealed-arch",
      "github_runtime": "https://github.com/AzielEliab/aziel-runtime",
      "glama": "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime",
      "hubs": [
        "https://www.azieleliab.com/",
        "https://www.azielcorpuslibrary.net/",
        "https://godlock.uk/"
      ],
      "sister_archive": "https://www.hedidntjump.com/",
      "sameAs": [
        "https://github.com/AzielEliab",
        "https://github.com/azieltherevealerofthesealed-arch",
        "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime",
        "https://www.azieleliab.com/",
        "https://www.azielcorpuslibrary.net/",
        "https://godlock.uk/",
        "https://www.hedidntjump.com/",
        "https://x.com/AzielEliab"
      ]
    },
    "externalDocs": {
      "description": "Suite software designs (docs/designs/) — git-hosted. Not Softwares-tab products.",
      "url": "https://github.com/AzielEliab/aziel-runtime/tree/main/docs/designs"
    }
  },
  "servers": [
    {
      "url": "https://godlock.uk/runtime"
    }
  ],
  "tags": [
    {
      "name": "fraggate",
      "description": "FragGate door — discover, route, refuse. One door for sibling software."
    },
    {
      "name": "software",
      "description": "Authoritative software catalog + client update check. Hubs fetch /v1/software."
    },
    {
      "name": "mesh",
      "description": "QNM-BUILD-1.0 suite rollup. Read-only suite-presence ON by default. live/locked/isolated counts. Public disable of suite-presence is refused. Not a login mesh. Not a Softwares-tab product."
    },
    {
      "name": "memory",
      "description": "AKM-TRIAD-1.0 adaptive knowledge memory. Behind FragGate. Not a Softwares-tab product. Posterior ≠ truth."
    },
    {
      "name": "runtime",
      "description": "Runtime"
    },
    {
      "name": "session",
      "description": "Session (advanced)"
    },
    {
      "name": "vibelock",
      "description": "VibeLock"
    },
    {
      "name": "veillock",
      "description": "VeilLock"
    },
    {
      "name": "codelock",
      "description": "CodeLock"
    },
    {
      "name": "godlock",
      "description": "GodLock"
    },
    {
      "name": "shadowlock",
      "description": "ShadowLock"
    },
    {
      "name": "temporallock",
      "description": "TemporalLock"
    },
    {
      "name": "forgereceipts",
      "description": "ForgeReceipts"
    },
    {
      "name": "decisiongate",
      "description": "DecisionGATE"
    },
    {
      "name": "zsolver",
      "description": "ZionPattern Solver"
    },
    {
      "name": "azos",
      "description": "AZ-OS"
    },
    {
      "name": "glossafilter",
      "description": "Glossa Filter"
    },
    {
      "name": "miragegrid",
      "description": "MirageGrid"
    },
    {
      "name": "staticclock",
      "description": "StaticClock"
    },
    {
      "name": "chronolock",
      "description": "ChronoLock"
    },
    {
      "name": "postking",
      "description": "Post-King Chess"
    },
    {
      "name": "azclce",
      "description": "AZ-CLCE"
    },
    {
      "name": "ark",
      "description": "The ARK"
    },
    {
      "name": "azai",
      "description": "AZAI"
    },
    {
      "name": "spectrallock",
      "description": "SpectralLock"
    },
    {
      "name": "azbot",
      "description": "AZBot"
    },
    {
      "name": "employeelock",
      "description": "EmployeeLock"
    },
    {
      "name": "foldlock",
      "description": "FoldLock"
    },
    {
      "name": "whistlelock",
      "description": "WhistleLock"
    },
    {
      "name": "trajectorylock",
      "description": "TrajectoryLock"
    },
    {
      "name": "mialock",
      "description": "M.I.A.Lock"
    },
    {
      "name": "azieltether",
      "description": "AzielTether"
    },
    {
      "name": "peacelock",
      "description": "PeaceLock"
    },
    {
      "name": "azmail",
      "description": "AZMail"
    },
    {
      "name": "azbrowser",
      "description": "AZBrowser"
    },
    {
      "name": "aznet",
      "description": "AZNet"
    },
    {
      "name": "azhub",
      "description": "AZHub"
    },
    {
      "name": "azinterface",
      "description": "AZInterface"
    },
    {
      "name": "aziel-corpus",
      "description": "Aziel Digital Library"
    },
    {
      "name": "4dmap",
      "description": "4DMap"
    },
    {
      "name": "azcoherence",
      "description": "AZCoherence"
    },
    {
      "name": "embryolock",
      "description": "EmbryoLock"
    },
    {
      "name": "azchat",
      "description": "AZChat"
    },
    {
      "name": "zkattest",
      "description": "ZKAttest"
    },
    {
      "name": "mmconsensus",
      "description": "MMConsensus"
    },
    {
      "name": "toolbench",
      "description": "ToolBench"
    },
    {
      "name": "azvpn",
      "description": "AZVPN"
    }
  ],
  "components": {
    "securitySchemes": {
      "RuntimeToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "RUNTIME_TOKEN",
        "description": "Operator bearer for session mutate (open/policy/exec/close) and MCP session tools when REQUIRE_TOKEN=1. Public FragGate call stays open. Set in OpenAPI / MCP / HTTP Actions (ChatGPT, Grok, Venice, Claude, Cursor, Glama, and other listed clients) as Authorization: Bearer … when REQUIRE_TOKEN=1 and RUNTIME_TOKEN is set — session mutate (open/policy/exec/close) and MCP session tools only. Public FragGate call (POST /v1/fraggate/call, MCP fraggate_call) stays open. Catalog, skill, OpenAPI, health, pull, tools/list, and proxy /p stay public. One operator token — not per-user accounts."
      }
    },
    "schemas": {
      "ForgeReceipt": {
        "type": "object",
        "description": "ForgeReceipts receipt. New receipts hash request_id, attempt_n, parent_receipt_id, correlation_id, and outcome. Receipts sealed without integer attempt_n keep the older five-field hash. ledger_prev_is_retry_parent is false. Not a forensic finding.",
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "UTC mint time."
          },
          "summary": {
            "type": "string"
          },
          "evidence": {
            "type": "string"
          },
          "confidence": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "prev_hash": {
            "type": "string",
            "description": "Local mint genesis prev. Not parent_receipt_id and not FragGate ledger prev."
          },
          "hash": {
            "type": "string",
            "description": "SHA-256 of the canonical receipt body."
          },
          "receipt_id": {
            "type": "string",
            "description": "This receipt's hash. The next attempt's parent_receipt_id points here."
          },
          "request_id": {
            "type": "string",
            "description": "Logical original request. The same value groups retries of one action."
          },
          "attempt_n": {
            "type": "integer",
            "minimum": 1,
            "description": "1-based attempt of that request_id."
          },
          "parent_receipt_id": {
            "type": "string",
            "nullable": true,
            "description": "Prior attempt receipt hash (receipt_id). Null on the first attempt. Not FragGate ledger prev."
          },
          "correlation_id": {
            "type": "string",
            "nullable": true,
            "description": "Optional client correlation id. Sealed as null when omitted, and that null is inside the hash."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "retry",
              "failed",
              "completed"
            ],
            "description": "Sealed attempt status. completed is the attempt that finished the action."
          },
          "hash_covers_attempt": {
            "type": "boolean",
            "description": "True when the five attempt fields are inside the canonical hash."
          },
          "ledger_prev_is_retry_parent": {
            "type": "boolean",
            "description": "false. FragGate ledger_tip.prev is call-order only."
          }
        }
      },
      "SessionReceipt": {
        "type": "object",
        "description": "Runtime session receipt. New receipts seal request_id, attempt_n, parent_receipt_id, correlation_id, and outcome inside the hash. parent_receipt_id is the prior attempt hash. FragGate ledger prev is call-order only (prev_is_retry_parent false). Not a forensic finding.",
        "properties": {
          "kind": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "seq": {
            "type": "integer"
          },
          "event": {
            "type": "string"
          },
          "ts": {
            "type": "string"
          },
          "prev_hash": {
            "type": "string",
            "description": "Prior session receipt hash in this session chain."
          },
          "hash": {
            "type": "string"
          },
          "request_id": {
            "type": "string",
            "description": "Logical original request. The same value groups retries of one action."
          },
          "attempt_n": {
            "type": "integer",
            "minimum": 1,
            "description": "1-based attempt of that request_id."
          },
          "parent_receipt_id": {
            "type": "string",
            "nullable": true,
            "description": "Prior attempt receipt hash (receipt_id). Null on the first attempt. Not FragGate ledger prev."
          },
          "correlation_id": {
            "type": "string",
            "nullable": true,
            "description": "Optional client correlation id. Sealed as null when omitted, and that null is inside the hash."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "retry",
              "failed",
              "completed"
            ],
            "description": "Sealed attempt status. completed is the attempt that finished the action."
          },
          "ledger_prev_is_retry_parent": {
            "type": "boolean",
            "description": "false. FragGate ledger_tip.prev is call-order only and is not this parent_receipt_id."
          }
        }
      },
      "ResultEnvelope": {
        "type": "object",
        "description": "FragGate ResultEnvelope. request_id, attempt_n, parent_receipt_id, correlation_id, and outcome are copied onto the envelope and, when ForgeReceipts mints, into that receipt hash. parent_receipt_id is the prior attempt hash. ledger_tip.prev is call-order only and prev_is_retry_parent is false. Not a forensic finding.",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "door": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "op": {
            "type": "string"
          },
          "request_id": {
            "type": "string",
            "description": "Logical original request. The same value groups retries of one action."
          },
          "attempt_n": {
            "type": "integer",
            "minimum": 1,
            "description": "1-based attempt of that request_id."
          },
          "parent_receipt_id": {
            "type": "string",
            "nullable": true,
            "description": "Prior attempt receipt hash (receipt_id). Null on the first attempt. Not FragGate ledger prev."
          },
          "correlation_id": {
            "type": "string",
            "nullable": true,
            "description": "Optional client correlation id. Sealed as null when omitted, and that null is inside the hash."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "retry",
              "failed",
              "completed"
            ],
            "description": "Sealed attempt status. completed is the attempt that finished the action."
          },
          "ledger_prev_is_retry_parent": {
            "type": "boolean",
            "description": "false. ledger_tip.prev is call order only."
          },
          "ledger_tip": {
            "type": "object",
            "description": "Ask/refuse ledger tip. prev is call order only.",
            "properties": {
              "seq": {
                "type": "integer"
              },
              "prev": {
                "type": "string",
                "description": "Previous ledger tip. Call order only. Not parent_receipt_id."
              },
              "prev_role": {
                "type": "string",
                "enum": [
                  "call-order"
                ]
              },
              "prev_is_retry_parent": {
                "type": "boolean",
                "description": "false."
              },
              "hash": {
                "type": "string"
              }
            }
          },
          "forgereceipts": {
            "type": "object",
            "description": "AZPIPE ForgeReceipts stamp. hash covers request_id, attempt_n, parent_receipt_id, correlation_id, and outcome on new receipts.",
            "properties": {
              "hash": {
                "type": "string"
              },
              "ok": {
                "type": "boolean"
              },
              "request_id": {
                "type": "string",
                "description": "Logical original request. The same value groups retries of one action."
              },
              "attempt_n": {
                "type": "integer",
                "minimum": 1,
                "description": "1-based attempt of that request_id."
              },
              "parent_receipt_id": {
                "type": "string",
                "nullable": true,
                "description": "Prior attempt receipt hash (receipt_id). Null on the first attempt. Not FragGate ledger prev."
              },
              "correlation_id": {
                "type": "string",
                "nullable": true,
                "description": "Optional client correlation id. Sealed as null when omitted, and that null is inside the hash."
              },
              "outcome": {
                "type": "string",
                "enum": [
                  "retry",
                  "failed",
                  "completed"
                ],
                "description": "Sealed attempt status. completed is the attempt that finished the action."
              },
              "hash_covers_attempt": {
                "type": "boolean"
              },
              "ledger_prev_is_retry_parent": {
                "type": "boolean",
                "description": "false."
              }
            }
          },
          "receipt": {
            "$ref": "#/components/schemas/ForgeReceipt"
          }
        }
      }
    }
  },
  "paths": {
    "/runtime/v1/session/open": {
      "post": {
        "operationId": "runtime_session_open",
        "security": [
          {
            "RuntimeToken": []
          }
        ],
        "summary": "Open a session (id, policy defaults, empty hash-chained receipt list).",
        "tags": [
          "session"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Session + genesis receipt"
          }
        }
      }
    },
    "/runtime/v1/session/{id}/policy": {
      "post": {
        "operationId": "runtime_session_policy",
        "security": [
          {
            "RuntimeToken": []
          }
        ],
        "summary": "Attach allow rules (slugs, ops, payload cap). Identity remains Aziel Eliab.",
        "tags": [
          "session"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated policy + receipt"
          },
          "409": {
            "description": "Session closed"
          }
        }
      }
    },
    "/runtime/v1/session/{id}/exec": {
      "post": {
        "operationId": "runtime_session_exec",
        "security": [
          {
            "RuntimeToken": []
          }
        ],
        "summary": "Runtime-owned exec: local engine when vendored (engine_digest + ran_in), else explicit proxy_fallback. Not the same as proxy /p/{slug}/{op}.",
        "tags": [
          "session"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "slug",
                  "op"
                ],
                "properties": {
                  "slug": {
                    "type": "string"
                  },
                  "op": {
                    "type": "string"
                  },
                  "payload": {
                    "type": "object"
                  },
                  "request_id": {
                    "type": "string",
                    "description": "Logical original request. Same value across retries. Omitted mints a new id for this exec."
                  },
                  "attempt_n": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "1-based attempt number. Omitted links from the prior session receipt with the same request_id."
                  },
                  "parent_receipt_id": {
                    "type": "string",
                    "nullable": true,
                    "description": "Prior attempt receipt hash. Null on the first attempt. Not FragGate ledger prev (call order only)."
                  },
                  "correlation_id": {
                    "type": "string",
                    "nullable": true,
                    "description": "Optional client correlation id. Sealed on the session receipt (null when omitted)."
                  },
                  "outcome": {
                    "type": "string",
                    "enum": [
                      "retry",
                      "failed",
                      "completed"
                    ],
                    "description": "Sealed attempt status. completed is the attempt that finished the action."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Exec receipt. The session receipt schema includes request_id, attempt_n, parent_receipt_id, correlation_id, and outcome.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "receipt": {
                      "$ref": "#/components/schemas/SessionReceipt"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Policy denied"
          },
          "409": {
            "description": "Session closed"
          }
        }
      }
    },
    "/runtime/v1/session/{id}/receipt": {
      "get": {
        "operationId": "runtime_session_receipt",
        "summary": "Last runtime-owned receipt. Hash covers request_id, attempt_n, parent_receipt_id, correlation_id, and outcome. parent_receipt_id is the prior attempt hash. FragGate ledger prev is call-order only.",
        "tags": [
          "session"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Last receipt + verified. SessionReceipt includes request_id, attempt_n, parent_receipt_id, correlation_id, and outcome.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "receipt": {
                      "$ref": "#/components/schemas/SessionReceipt"
                    },
                    "verified": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/runtime/v1/session/{id}/receipts": {
      "get": {
        "operationId": "runtime_session_receipts",
        "summary": "Full hash-chained receipt list for a session. Each new receipt carries request_id, attempt_n, parent_receipt_id, correlation_id, and outcome inside its hash. Shared request_id groups retries. FragGate ledger prev is not the retry parent.",
        "tags": [
          "session"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Receipt chain + verified. Each SessionReceipt includes request_id, attempt_n, parent_receipt_id, correlation_id, and outcome.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "receipts": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SessionReceipt"
                      }
                    },
                    "verified": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/runtime/v1/session/{id}/close": {
      "post": {
        "operationId": "runtime_session_close",
        "security": [
          {
            "RuntimeToken": []
          }
        ],
        "summary": "Seal the session. Further exec is rejected.",
        "tags": [
          "session"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Final receipt"
          },
          "409": {
            "description": "Already closed"
          }
        }
      }
    },
    "/runtime/v1/ui/detach": {
      "post": {
        "operationId": "runtime_ui_detach",
        "summary": "Close UI hold. Records the shell as detached. Does not seal a session, leave the mesh, or stop FragGate, library sync, or MCP. browser_timer is false.",
        "tags": [
          "runtime"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Hold recorded. Runtime still running."
          }
        }
      }
    },
    "/runtime/v1/ui/attach": {
      "post": {
        "operationId": "runtime_ui_attach",
        "summary": "Mark the shell open again. Does not seal a session or leave the mesh.",
        "tags": [
          "runtime"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shell marked open. Hold kept."
          }
        }
      }
    },
    "/runtime/v1/ui/resume": {
      "get": {
        "operationId": "runtime_ui_resume",
        "summary": "Read the background hold for client_key. Same session if it is still live. Does not open a new session. browser_timer is false.",
        "tags": [
          "runtime"
        ],
        "parameters": [
          {
            "name": "client_key",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Hold, or an honest empty hold."
          }
        }
      }
    },
    "/runtime/v1/ui/hold": {
      "get": {
        "operationId": "runtime_ui_hold",
        "summary": "Cite the Close UI hold. The service worker does not run the runtime.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Hold contract"
          }
        }
      }
    },
    "/runtime/v1/skill": {
      "get": {
        "operationId": "runtime_skill",
        "summary": "Skill markdown: 1.7.9 cross-maps AZCoherence (peers azclce / AZInterface / AKM-TRIAD fabric neighbor; domain stays null). 1.7.8 lands EmbryoLock as a true in-process engine (live-with-local-destructive-boundary). 1.7.7 lands AZCoherence (AZC-0.1) as a true in-process FragGate Softwares engine. 1.7.6 syncs 4DMap LIVE_OPS with product 0.2.0. 1.7.5 Softwares capability wave 1 (decisiongate / forgereceipts / temporallock / staticclock / chronolock / trajectorylock / spectrallock). 1.7.4 enhances 4DMap LIVE_OPS (frame_status/axis_describe/walk_trace/card_export/card_import/verify_chain/neighbor_cite). 1.7.3 aligns audit WARN copy (exist.mcp → tools/list; public FragGate call; catalog count_note). 1.7.2 adds GET /v1/azpipe/arch (MASTER-33 cite). 1.7.1 adds AKM-TRIAD-1.0. 1.7.0 locks MASTER-33 (FragGate single door). 1.6.15 locked SUITE-PIPE. 1.6.14 adds 4DMap (4DM-WP-1.0). 1.6.13 aligns the QNM-BUILD-1.0 suite rollup. 1.6.12 adds GET /v1/software + client update check. Honest about 1.1.0 through 1.7.9.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "text/markdown skill"
          }
        }
      },
      "head": {
        "operationId": "runtime_skill_head",
        "summary": "HEAD of /v1/skill. X-Aziel-Runtime-Version / Role.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/runtime/v1/runtime.json": {
      "get": {
        "operationId": "runtime_manifest",
        "summary": "Machine manifest. role=engine-runtime. Every catalog slug is a true engine; binding-only ops stay per-op proxy_fallback. Identity Aziel Eliab.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Runtime manifest JSON"
          }
        }
      },
      "head": {
        "operationId": "runtime_manifest_head",
        "summary": "HEAD of /v1/runtime.json. X-Aziel-Runtime-Version / Role.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/runtime/v1/ready": {
      "get": {
        "operationId": "runtime_ready",
        "summary": "Readiness. 200 if SESSION Durable Object binding is up. 503 if REQUIRE_TOKEN=1 and RUNTIME_TOKEN secret is missing. Public FragGate call stays open; session mutate requires token when configured.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Ready. fraggate_call_public=true. mutate_requires_token when REQUIRE_TOKEN=1 and secret is set."
          },
          "503": {
            "description": "SESSION missing or REQUIRE_TOKEN=1 without RUNTIME_TOKEN"
          }
        }
      },
      "head": {
        "operationId": "runtime_ready_head",
        "summary": "HEAD of /v1/ready. X-Aziel-Runtime-Version / Role.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          },
          "503": {
            "description": "not ready"
          }
        }
      }
    },
    "/runtime/mcp": {
      "get": {
        "operationId": "mcp_transport_note",
        "summary": "Public MCP transport note. Edge MCP gateway: POST /mcp terminates into FragGate. auth: none (public).",
        "tags": [
          "fraggate"
        ],
        "responses": {
          "200": {
            "description": "Transport + auth none (public) + well-known pointers."
          }
        }
      },
      "post": {
        "operationId": "mcp_jsonrpc",
        "summary": "JSON-RPC MCP-over-HTTP. First call: Softwares (pick a slug), then fraggate_call. library_lookup searches library papers and cites. FragGate stays the single exec door. This Worker POST /mcp is THE edge MCP gateway — it terminates into FragGate. tools/list is 36 live MCP tools. The door runs first. ChainLock, TemporalLock, and ForgeReceipts stamp when the call needs a ledger. Diagnostics: fraggate_list → fraggate_describe → fraggate_call. Install / Try on Glama is the discovery listing. Echoes Mcp-Session-Id and MCP-Protocol-Version. Preferred protocolVersion 2025-11-25 (still accepts 2025-06-18 and 2025-03-26). Invalid protocol is HTTP 400. Mutating tools require confirm=true or dry_run=true. Refuse exist.mcp points here. Proxy /p/{slug}/{op} is proxy. FragGate remains THE single door.",
        "tags": [
          "fraggate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jsonrpc": {
                    "type": "string",
                    "example": "2.0"
                  },
                  "id": {},
                  "method": {
                    "type": "string",
                    "description": "initialize | tools/list | tools/call | ping | interface/orchestrate"
                  },
                  "params": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON-RPC result. tools/list names match refuse exist.mcp."
          }
        }
      },
      "delete": {
        "operationId": "mcp_session_teardown",
        "summary": "Streamable HTTP session teardown. Send Mcp-Session-Id. 204 on close; 404 if missing/unknown/already dead. Reuse of that id on POST /mcp is 404. No fake SSE.",
        "tags": [
          "fraggate"
        ],
        "responses": {
          "204": {
            "description": "Session closed."
          },
          "400": {
            "description": "Mcp-Session-Id required."
          },
          "404": {
            "description": "Session not found or already torn down."
          }
        }
      }
    },
    "/.well-known/mcp/server-card.json": {
      "get": {
        "operationId": "mcp_server_card",
        "summary": "Honest MCP server card. Name aziel-runtime, version 2.0.0-rc1, streamable-http JSON-RPC POST /mcp, protocolVersion 2025-11-25 (still accepts 2025-06-18 and 2025-03-26), auth none (public). Homepage azieleliab.com/runtime. Support GitHub aziel-runtime. No invented Glama UUID or OAuth IdP.",
        "tags": [
          "fraggate"
        ],
        "responses": {
          "200": {
            "description": "Server card JSON (tools summary = public tools/list)."
          }
        }
      }
    },
    "/.well-known/oauth-protected-resource": {
      "get": {
        "operationId": "mcp_oauth_protected_resource",
        "summary": "RFC 9728 protected-resource metadata for the public MCP. authorization_servers is empty — no IdP. Auth none (public).",
        "tags": [
          "fraggate"
        ],
        "responses": {
          "200": {
            "description": "Public resource metadata. No authorization server URL."
          }
        }
      }
    },
    "/runtime/v1/software": {
      "get": {
        "operationId": "software_catalog",
        "summary": "First call: Softwares catalog. Pick a slug, then POST /v1/fraggate/call. library_lookup searches library papers and cites. FragGate stays the single exec door. Authoritative live software catalog for hubs and clients. Every product including AZChat LIVE+bound. EmbryoLock is live-with-local-destructive-boundary (worker_home embryolock-download-tracker). Whitestone is a live Worker-only placement (FragGate status none; Case Mode is a product feature; https://whitestone.vibelock.workers.dev/). Sort: Plain A–Z → Gate A–Z → Lock A–Z (Clock ≠ Lock). Sibling software under one FragGate door. Softwares-tab count includes placements (azinterface / decisiongate / forgereceipts / azcoherence / zkattest / mmconsensus / toolbench / azvpn / whitestone); isolation domain software_count is 33 (domains_are_doors:false). website_designs names mesh-resident azcorpus + azlibrary (downloadable to nodes; azlibrary upload is API token only). Hubs (azieleliab.com, azielcorpuslibrary.net, godlock.uk) fetch this on each Software-tab request. Default application/json. Accept: text/html returns a crawl HTML shell (unique title/description + JSON-LD) without changing the Worker homepage UI.",
        "tags": [
          "software"
        ],
        "responses": {
          "200": {
            "description": "Sorted software[] plus count_note, isolation_software_count, tab_placement_slugs, domains (domains_are_doors:false), website_designs (azcorpus + azlibrary)"
          }
        }
      },
      "head": {
        "operationId": "software_catalog_head",
        "summary": "HEAD of /v1/software.",
        "tags": [
          "software"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/runtime/v1/update/check": {
      "get": {
        "operationId": "update_check",
        "summary": "Client update check for install.sh, local UIs, and mobile. Query slug is required (product or aziel-runtime) plus optional version (installed). Bare GET without slug is not a check. Returns {slug, current, latest, update_available, download_url, notes}.",
        "tags": [
          "software"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Product slug or aziel-runtime. Required."
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Installed version"
          }
        ],
        "responses": {
          "200": {
            "description": "Update check JSON"
          },
          "400": {
            "description": "slug query is required. Bare GET is not a check."
          },
          "404": {
            "description": "Unknown slug"
          }
        }
      }
    },
    "/runtime/v1/update/manifest": {
      "get": {
        "operationId": "update_manifest",
        "summary": "Latest version list for every product including AZChat LIVE+bound and aziel-runtime. For install.sh / local UI / mobile.",
        "tags": [
          "software"
        ],
        "responses": {
          "200": {
            "description": "Latest versions JSON"
          }
        }
      }
    },
    "/runtime/v1/bundle": {
      "get": {
        "operationId": "runtime_bundle",
        "summary": "Compact bootstrap: every product skill URL + invoke prefix. Prefer GET /v1/software for hub tabs.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Bundle JSON"
          }
        }
      }
    },
    "/runtime/v1/pull": {
      "get": {
        "operationId": "runtime_pull_query",
        "summary": "Pull one product (?slug=) or the full bundle (?all=1).",
        "tags": [
          "runtime"
        ],
        "parameters": [
          {
            "name": "all",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Pull or bundle JSON"
          }
        }
      }
    },
    "/runtime/v1/pull/{slug}": {
      "get": {
        "operationId": "runtime_pull",
        "summary": "Pull record: name, version, skill_url, inline skill, download, install.sh, ops, OpenAPI, banners, aliases.",
        "tags": [
          "runtime"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Pull JSON"
          },
          "404": {
            "description": "Unknown slug"
          }
        }
      }
    },
    "/runtime/v1/pull/{slug}/skill": {
      "get": {
        "operationId": "runtime_pull_skill",
        "summary": "Product skill markdown proxied/cached from the product Worker.",
        "tags": [
          "runtime"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "text/markdown skill"
          },
          "404": {
            "description": "Unknown slug"
          }
        }
      }
    },
    "/runtime/v1/fraggate": {
      "get": {
        "operationId": "fraggate_door",
        "summary": "FragGate door summary: registry_digest; live / stub / local_only product counts; stub_op_count. Kernel FG-0.1.",
        "tags": [
          "fraggate"
        ],
        "responses": {
          "200": {
            "description": "Door JSON"
          }
        }
      }
    },
    "/runtime/v1/fraggate/list": {
      "get": {
        "operationId": "fraggate_list",
        "summary": "After Softwares, list hashed FragGate names and digests. Discovery first. Not exec. Entries carry name, slug, digest, status, and public ops.",
        "tags": [
          "fraggate"
        ],
        "responses": {
          "200": {
            "description": "Registry list"
          }
        }
      }
    },
    "/runtime/v1/fraggate/describe": {
      "get": {
        "operationId": "fraggate_describe",
        "summary": "Inspect the slug picked from Softwares. Not execute. Describe one registry name (live vs stub vs local_only). Default JSON. Accept: text/html returns a unique-title describe docs shell + JSON-LD.",
        "tags": [
          "fraggate"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Entry JSON"
          }
        }
      }
    },
    "/runtime/v1/fraggate/verify": {
      "post": {
        "operationId": "fraggate_verify",
        "summary": "Verify a registry name or digest.",
        "tags": [
          "fraggate"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Verify JSON"
          }
        }
      }
    },
    "/runtime/v1/fraggate/call": {
      "post": {
        "operationId": "fraggate_call",
        "summary": "Execute the slug picked from Softwares. FragGate is the single exec door. library_lookup is the separate library paper cite, not this call. CallEnvelope in → FragGate → Lamb Lens → SweepGate → Sentinel → Provenance/Input Packet → ChainLock-IN → DecisionGATE → AZPIPE → Internal Domain Layer → optional ASE → RoseClock → TemporalLock → ChainLock-OUT → ForgeReceipts → Return. FragGate is THE single door. Lamb Lens is fabric after FragGate. Domain softwares execute only after AZPIPE. AZHub LIVE_OPS, AZInterface LIVE_OPS, AZBrowser LIVE_OPS (ethical_search, lamb_lens_search, navigate, airlock_ingest, tab_open, tab_list, receipt_list, verify, receipt_verify, health, skill, vpn) and AZNet LIVE_OPS (health, pair_status, garden_list, stamp, verify_hash, memorial_list, memorial_append, receipt_verify, skill) and AZVPN LIVE_OPS (describe, open, status, list, close) are reached only through this door — same ops as MCP fraggate_call and the Worker UI buttons. AZHub, AZInterface, AZNet, AZBrowser, and AZVPN are separate products. Public VPN auto-binds AZVPN. Optional request_id, attempt_n, parent_receipt_id, correlation_id, and outcome on the CallEnvelope are copied onto the ResultEnvelope and into the ForgeReceipts hash. parent_receipt_id is the prior attempt hash. ledger_tip.prev stays call order only (prev_is_retry_parent false).",
        "tags": [
          "fraggate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string",
                    "description": "Catalog slug. Use azhub or azinterface for AIH-WP-1.0 (separate products, same FragGate door). Use azbrowser for AZBrowser / Lamb Lens. Use aznet for AZNet (separate product)."
                  },
                  "op": {
                    "type": "string",
                    "description": "Public allowlisted op. UI aliases forward to catalog ops: azhub list_modules→region_list, place→place_module; azinterface genesis_boot→genesis_status, hold→page_cycle_status; azbrowser airlock→airlock_ingest, home→health; azmail classify→airlock_classify; aznet doctor→health, pair→pair_status; peacelock doctor→health. AZHub: region_list | place_module | remove_module | tether_declare | tether_cut | tether_list | blank_key_status | list_modules | place | health | skill. AZInterface: genesis_status | site_state_get | site_state_set | integrity_check | witness_list | page_cycle_status | genesis_boot | hold | health | skill. AZBrowser: ethical_search | lamb_lens_search | navigate | airlock_ingest | airlock | home | tab_open | tab_list | receipt_list | verify | receipt_verify | sandbox_status | sandbox_render | health | skill | vpn. AZVPN: describe | open | status | list | close. AZNet: health | doctor | pair_status | pair | garden_list | stamp | verify_hash | memorial_list | memorial_append | receipt_verify | skill."
                  },
                  "payload": {
                    "type": "object"
                  },
                  "claim": {
                    "type": "object"
                  },
                  "request_id": {
                    "type": "string",
                    "description": "Logical original request. The same value groups retries of one action."
                  },
                  "attempt_n": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "1-based attempt of that request_id."
                  },
                  "parent_receipt_id": {
                    "type": "string",
                    "nullable": true,
                    "description": "Prior attempt receipt hash (receipt_id). Null on the first attempt. Not FragGate ledger prev."
                  },
                  "correlation_id": {
                    "type": "string",
                    "nullable": true,
                    "description": "Optional client correlation id. Sealed as null when omitted, and that null is inside the hash."
                  },
                  "outcome": {
                    "type": "string",
                    "enum": [
                      "retry",
                      "failed",
                      "completed"
                    ],
                    "description": "Sealed attempt status. completed is the attempt that finished the action."
                  }
                }
              },
              "examples": {
                "azbrowser_ethical_search": {
                  "summary": "AZBrowser Lamb Lens ethical search",
                  "value": {
                    "slug": "azbrowser",
                    "op": "ethical_search",
                    "payload": {
                      "q": "ethical web principles"
                    }
                  }
                },
                "azbrowser_navigate": {
                  "summary": "AZBrowser advisory navigate (metadata only)",
                  "value": {
                    "slug": "azbrowser",
                    "op": "navigate",
                    "payload": {
                      "url": "https://www.w3.org/TR/ethical-web-principles/"
                    }
                  }
                },
                "azbrowser_airlock": {
                  "summary": "AZBrowser airlock ingest",
                  "value": {
                    "slug": "azbrowser",
                    "op": "airlock_ingest",
                    "payload": {
                      "url": "https://github.com/AzielEliab/azbrowser"
                    }
                  }
                },
                "azbrowser_tabs": {
                  "summary": "AZBrowser tab_open",
                  "value": {
                    "slug": "azbrowser",
                    "op": "tab_open",
                    "payload": {
                      "url": "https://github.com/AzielEliab/fraggate"
                    }
                  }
                },
                "azbrowser_lamb_lens": {
                  "summary": "AZBrowser Lamb Lens alias",
                  "value": {
                    "slug": "azbrowser",
                    "op": "lamb_lens_search",
                    "payload": {
                      "q": "Workers AI embeddings"
                    }
                  }
                },
                "azbrowser_tab_list": {
                  "summary": "AZBrowser tab_list",
                  "value": {
                    "slug": "azbrowser",
                    "op": "tab_list",
                    "payload": {}
                  }
                },
                "azbrowser_receipts": {
                  "summary": "AZBrowser receipt_list",
                  "value": {
                    "slug": "azbrowser",
                    "op": "receipt_list",
                    "payload": {
                      "limit": 8
                    }
                  }
                },
                "azbrowser_verify": {
                  "summary": "AZBrowser receipt verify",
                  "value": {
                    "slug": "azbrowser",
                    "op": "verify",
                    "payload": {
                      "id": "azb_example"
                    }
                  }
                },
                "azbrowser_receipt_verify": {
                  "summary": "AZBrowser receipt_verify alias",
                  "value": {
                    "slug": "azbrowser",
                    "op": "receipt_verify",
                    "payload": {
                      "id": "azb_example"
                    }
                  }
                },
                "azbrowser_health": {
                  "summary": "AZBrowser health",
                  "value": {
                    "slug": "azbrowser",
                    "op": "health",
                    "payload": {}
                  }
                },
                "azbrowser_skill": {
                  "summary": "AZBrowser skill",
                  "value": {
                    "slug": "azbrowser",
                    "op": "skill",
                    "payload": {}
                  }
                },
                "azbrowser_sandbox_status": {
                  "summary": "AZBrowser sandbox / Browser Rendering status (Chromium DEFERRED unbound)",
                  "value": {
                    "slug": "azbrowser",
                    "op": "sandbox_status",
                    "payload": {}
                  }
                },
                "azbrowser_sandbox_render": {
                  "summary": "AZBrowser binding-gated sandbox render (refuses private/onion)",
                  "value": {
                    "slug": "azbrowser",
                    "op": "sandbox_render",
                    "payload": {
                      "url": "https://github.com/AzielEliab/aziel-runtime"
                    }
                  }
                },
                "azbrowser_vpn": {
                  "summary": "AZBrowser auto-binds AZVPN (HTTPS/WS REAL; WireGuard SLOT)",
                  "value": {
                    "slug": "azbrowser",
                    "op": "vpn",
                    "payload": {}
                  }
                },
                "azvpn_describe": {
                  "summary": "AZVPN concentrator describe",
                  "value": {
                    "slug": "azvpn",
                    "op": "describe",
                    "payload": {}
                  }
                },
                "azvpn_open": {
                  "summary": "AZVPN open HTTPS/WS session",
                  "value": {
                    "slug": "azvpn",
                    "op": "open",
                    "payload": {
                      "kind": "https_ws",
                      "peer": "peer-a"
                    }
                  }
                },
                "azvpn_status": {
                  "summary": "AZVPN session status (HTTPS/WS REAL)",
                  "value": {
                    "slug": "azvpn",
                    "op": "status",
                    "payload": {}
                  }
                },
                "azvpn_list": {
                  "summary": "AZVPN list sessions",
                  "value": {
                    "slug": "azvpn",
                    "op": "list",
                    "payload": {}
                  }
                },
                "azvpn_send": {
                  "summary": "AZVPN send on an HTTPS/WS session",
                  "value": {
                    "slug": "azvpn",
                    "op": "send",
                    "payload": {
                      "session_id": "azvpn_example",
                      "text": "ping"
                    }
                  }
                },
                "azvpn_recv": {
                  "summary": "AZVPN recv on an HTTPS/WS session",
                  "value": {
                    "slug": "azvpn",
                    "op": "recv",
                    "payload": {
                      "session_id": "azvpn_example"
                    }
                  }
                },
                "azvpn_close": {
                  "summary": "AZVPN close HTTPS/WS session",
                  "value": {
                    "slug": "azvpn",
                    "op": "close",
                    "payload": {
                      "session_id": "azvpn_example"
                    }
                  }
                },
                "aznet_pair_status": {
                  "summary": "AZNet pair_status",
                  "value": {
                    "slug": "aznet",
                    "op": "pair_status",
                    "payload": {}
                  }
                },
                "aznet_garden_list": {
                  "summary": "AZNet garden_list (requires AZBrowser pair)",
                  "value": {
                    "slug": "aznet",
                    "op": "garden_list",
                    "payload": {
                      "pair_token": "aznet-azbrowser-pair",
                      "pair_flag": "azbrowser"
                    }
                  }
                },
                "aznet_stamp": {
                  "summary": "AZNet stamp hash ref",
                  "value": {
                    "slug": "aznet",
                    "op": "stamp",
                    "payload": {
                      "pair_token": "aznet-azbrowser-pair",
                      "pair_flag": "azbrowser",
                      "hash": "0000000000000000000000000000000000000000000000000000000000000000"
                    }
                  }
                },
                "aznet_verify_hash": {
                  "summary": "AZNet verify_hash",
                  "value": {
                    "slug": "aznet",
                    "op": "verify_hash",
                    "payload": {
                      "pair_token": "aznet-azbrowser-pair",
                      "pair_flag": "azbrowser",
                      "hash": "0000000000000000000000000000000000000000000000000000000000000000"
                    }
                  }
                },
                "aznet_memorial_list": {
                  "summary": "AZNet memorial_list",
                  "value": {
                    "slug": "aznet",
                    "op": "memorial_list",
                    "payload": {
                      "pair_token": "aznet-azbrowser-pair",
                      "pair_flag": "azbrowser"
                    }
                  }
                },
                "aznet_memorial_append": {
                  "summary": "AZNet memorial_append (terminal)",
                  "value": {
                    "slug": "aznet",
                    "op": "memorial_append",
                    "payload": {
                      "pair_token": "aznet-azbrowser-pair",
                      "pair_flag": "azbrowser",
                      "hash": "0000000000000000000000000000000000000000000000000000000000000000",
                      "note": "sealed"
                    }
                  }
                },
                "aznet_receipt_verify": {
                  "summary": "AZNet receipt_verify",
                  "value": {
                    "slug": "aznet",
                    "op": "receipt_verify",
                    "payload": {
                      "receipt": {
                        "hash": "0000000000000000000000000000000000000000000000000000000000000000"
                      }
                    }
                  }
                },
                "aznet_health": {
                  "summary": "AZNet health",
                  "value": {
                    "slug": "aznet",
                    "op": "health",
                    "payload": {}
                  }
                },
                "aznet_skill": {
                  "summary": "AZNet skill",
                  "value": {
                    "slug": "aznet",
                    "op": "skill",
                    "payload": {}
                  }
                },
                "aznet_name_claim": {
                  "summary": "AZNet name_claim (confirm writes a signed .aziel record; not ICANN)",
                  "value": {
                    "slug": "aznet",
                    "op": "name_claim",
                    "payload": {
                      "confirm": true
                    }
                  }
                },
                "aznet_name_read": {
                  "summary": "AZNet name_read",
                  "value": {
                    "slug": "aznet",
                    "op": "name_read",
                    "payload": {
                      "name": "library.aziel"
                    }
                  }
                },
                "aznet_name_resolve": {
                  "summary": "AZNet name_resolve",
                  "value": {
                    "slug": "aznet",
                    "op": "name_resolve",
                    "payload": {
                      "name": "library.aziel"
                    }
                  }
                },
                "aznet_slot_read": {
                  "summary": "AZNet slot_read",
                  "value": {
                    "slug": "aznet",
                    "op": "slot_read",
                    "payload": {}
                  }
                },
                "aznet_witness": {
                  "summary": "AZNet witness (confirm anchors a witness act)",
                  "value": {
                    "slug": "aznet",
                    "op": "witness",
                    "payload": {
                      "confirm": true
                    }
                  }
                },
                "aznet_witness_read": {
                  "summary": "AZNet witness_read",
                  "value": {
                    "slug": "aznet",
                    "op": "witness_read",
                    "payload": {}
                  }
                },
                "azhub_blank_key": {
                  "summary": "AZHub Blank Key status",
                  "value": {
                    "slug": "azhub",
                    "op": "blank_key_status",
                    "payload": {}
                  }
                },
                "azhub_region_list": {
                  "summary": "AZHub region_list",
                  "value": {
                    "slug": "azhub",
                    "op": "region_list",
                    "payload": {}
                  }
                },
                "azhub_place_module": {
                  "summary": "AZHub place_module",
                  "value": {
                    "slug": "azhub",
                    "op": "place_module",
                    "payload": {
                      "region": "core",
                      "module_id": "foldlock"
                    }
                  }
                },
                "azhub_remove_module": {
                  "summary": "AZHub remove_module",
                  "value": {
                    "slug": "azhub",
                    "op": "remove_module",
                    "payload": {
                      "module_id": "foldlock"
                    }
                  }
                },
                "azhub_tether_declare": {
                  "summary": "AZHub tether_declare",
                  "value": {
                    "slug": "azhub",
                    "op": "tether_declare",
                    "payload": {
                      "from": "foldlock",
                      "to": "peacelock"
                    }
                  }
                },
                "azhub_tether_cut": {
                  "summary": "AZHub tether_cut",
                  "value": {
                    "slug": "azhub",
                    "op": "tether_cut",
                    "payload": {
                      "from": "foldlock",
                      "to": "peacelock"
                    }
                  }
                },
                "azhub_tether_list": {
                  "summary": "AZHub tether_list",
                  "value": {
                    "slug": "azhub",
                    "op": "tether_list",
                    "payload": {}
                  }
                },
                "azhub_health": {
                  "summary": "AZHub health",
                  "value": {
                    "slug": "azhub",
                    "op": "health",
                    "payload": {}
                  }
                },
                "azhub_skill": {
                  "summary": "AZHub skill",
                  "value": {
                    "slug": "azhub",
                    "op": "skill",
                    "payload": {}
                  }
                },
                "azinterface_page_cycle": {
                  "summary": "AZInterface pre-locked page cycles",
                  "value": {
                    "slug": "azinterface",
                    "op": "page_cycle_status",
                    "payload": {}
                  }
                },
                "azinterface_genesis": {
                  "summary": "AZInterface genesis_status",
                  "value": {
                    "slug": "azinterface",
                    "op": "genesis_status",
                    "payload": {}
                  }
                },
                "azinterface_state_get": {
                  "summary": "AZInterface site_state_get",
                  "value": {
                    "slug": "azinterface",
                    "op": "site_state_get",
                    "payload": {}
                  }
                },
                "azinterface_state_set": {
                  "summary": "AZInterface site_state_set",
                  "value": {
                    "slug": "azinterface",
                    "op": "site_state_set",
                    "payload": {
                      "cycle": "integrity"
                    }
                  }
                },
                "azinterface_integrity": {
                  "summary": "AZInterface integrity_check",
                  "value": {
                    "slug": "azinterface",
                    "op": "integrity_check",
                    "payload": {
                      "witness": "custodian-1"
                    }
                  }
                },
                "azinterface_witnesses": {
                  "summary": "AZInterface witness_list",
                  "value": {
                    "slug": "azinterface",
                    "op": "witness_list",
                    "payload": {}
                  }
                },
                "azinterface_health": {
                  "summary": "AZInterface health",
                  "value": {
                    "slug": "azinterface",
                    "op": "health",
                    "payload": {}
                  }
                },
                "azinterface_skill": {
                  "summary": "AZInterface skill",
                  "value": {
                    "slug": "azinterface",
                    "op": "skill",
                    "payload": {}
                  }
                },
                "azinterface_mesh_radios": {
                  "summary": "AZInterface mesh radios (confirm calls mesh enable; MESH_RADIOS=off stays MESH-OFF)",
                  "value": {
                    "slug": "azinterface",
                    "op": "mesh_radios",
                    "payload": {
                      "confirm": true,
                      "bearer": "suite-presence"
                    }
                  }
                },
                "azhub_list_modules": {
                  "summary": "AZHub UI alias of region_list",
                  "value": {
                    "slug": "azhub",
                    "op": "list_modules",
                    "payload": {}
                  }
                },
                "azhub_place": {
                  "summary": "AZHub UI alias of place_module",
                  "value": {
                    "slug": "azhub",
                    "op": "place",
                    "payload": {
                      "region": "core",
                      "module_id": "foldlock"
                    }
                  }
                },
                "azinterface_genesis_boot": {
                  "summary": "AZInterface UI alias of genesis_status",
                  "value": {
                    "slug": "azinterface",
                    "op": "genesis_boot",
                    "payload": {}
                  }
                },
                "azinterface_hold": {
                  "summary": "AZInterface UI alias of page_cycle_status",
                  "value": {
                    "slug": "azinterface",
                    "op": "hold",
                    "payload": {}
                  }
                },
                "azbrowser_airlock_alias": {
                  "summary": "AZBrowser UI alias of airlock_ingest",
                  "value": {
                    "slug": "azbrowser",
                    "op": "airlock",
                    "payload": {
                      "url": "https://github.com/AzielEliab/azbrowser"
                    }
                  }
                },
                "azbrowser_home": {
                  "summary": "AZBrowser UI alias of health",
                  "value": {
                    "slug": "azbrowser",
                    "op": "home",
                    "payload": {}
                  }
                },
                "azmail_classify": {
                  "summary": "AZMail UI alias of airlock_classify",
                  "value": {
                    "slug": "azmail",
                    "op": "classify",
                    "payload": {
                      "text": "hello from the anonymous ring"
                    }
                  }
                },
                "aznet_doctor": {
                  "summary": "AZNet UI alias of health",
                  "value": {
                    "slug": "aznet",
                    "op": "doctor",
                    "payload": {}
                  }
                },
                "aznet_pair": {
                  "summary": "AZNet UI alias of pair_status",
                  "value": {
                    "slug": "aznet",
                    "op": "pair",
                    "payload": {}
                  }
                },
                "peacelock_doctor": {
                  "summary": "PeaceLock UI alias of health",
                  "value": {
                    "slug": "peacelock",
                    "op": "doctor",
                    "payload": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ResultEnvelope. Includes request_id, attempt_n, parent_receipt_id, correlation_id, and outcome. ledger_tip.prev is call-order only (prev_is_retry_parent false).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResultEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Refuse (HALLUC / stub / local_only / gate)"
          }
        }
      }
    },
    "/runtime/v1/uses": {
      "get": {
        "operationId": "runtime_uses",
        "summary": "API use counters + recent ring log (no PII). Does not increment. Distinct from product download-trackers and the FragGate ledger. Each ring row records repo version 2.0.0-rc1 (prerelease kept) and git_sha when GIT_SHA or GITHUB_SHA is set. A Glama listing counter is not that version. by_op keeps mcp, fraggate.call, and fraggate.describe, and adds mcp.<tool>, fraggate.call.<slug>, and fraggate.describe.<slug> when the token is safe. Extra keys do not add a second total. Softwares has no slug.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Uses JSON: uses, by_host, by_path, by_day, by_op, recent"
          }
        }
      },
      "head": {
        "operationId": "runtime_uses_head",
        "summary": "HEAD of /v1/uses. Does not increment.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      },
      "post": {
        "operationId": "runtime_uses_post",
        "summary": "Forbidden. Increments are automatic on API traffic. Read with GET /v1/uses.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "405": {
            "description": "method not allowed"
          }
        }
      }
    },
    "/runtime/v1/stats": {
      "get": {
        "operationId": "runtime_stats",
        "summary": "Alias of GET /v1/uses (API use counters). Does not increment.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Uses JSON plus alias_of"
          }
        }
      }
    },
    "/runtime/v1/stats-rollups": {
      "get": {
        "operationId": "runtime_stats_rollups",
        "summary": "Read-only AZindex social-status snapshot. Fetches sibling hub stats best-effort (cache briefly). Combined views/downloads from successful sources only. Never invents numbers. Failed siblings are marked error and omitted. Runtime uses are agent/MCP usage. Not an MCP tool.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Social-status rollup JSON"
          }
        }
      },
      "head": {
        "operationId": "runtime_stats_rollups_head",
        "summary": "HEAD of /v1/stats-rollups.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      },
      "post": {
        "operationId": "runtime_stats_rollups_post",
        "summary": "Forbidden. Read-only snapshot. Use GET /v1/stats-rollups.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "405": {
            "description": "method not allowed"
          }
        }
      }
    },
    "/runtime/v1/mesh": {
      "get": {
        "operationId": "mesh_status",
        "summary": "QNM-BUILD-1.0 suite rollup (enabled?, bearers, nodes = human mesh users + cited human uses, live_nodes = human mesh users / presence, software_nodes = {slug}-worker roster). Read-only suite-presence ON by default. GET never enables radios beyond that. Channel plane (wifi / bluetooth / rf / photon) cites ON — live hardware on local qnm-node. Public VPN auto-binds AZVPN (vpn/public_vpn/tunnel_concentrator true; GET cites only). Nine QNM laws are hard-true (clocks_share_socket false, live_body_sync false, restore_godlock_uk false). OPERATOR-OVERRIDE 2026-09-17: node_gate true, get_is_node_gate true, auto_heal / implicit_heal true, neighbor_heal true, network on/true, anonymity_network true (mode flag), public VPN ON. NO-LIE / NO-REWRITE: receipts still hash; no rewrite key; never lie to survive. Not a login mesh. Not a login-recovery IP panel. Channel plane ≠ kernel VPN. Views/MCP/downloads do not enter QNM-S. Packet-transfer coding design is QNS-CD-1.0 (photon QNS1 1.3 on local qnsd; GET /v1/qns cites only). L0 is the default public path and is not replaced. L1 peer bearers (relay-https, direct-lan, loopback) are opt-in. survival_methods names Worker edge LIVE, L1 live-when-configured, Cap-7/home-origin/cold shelves SLOT (doi null; Zenodo not LIVE), and Phoenix wait/re-seal. NAT hole-punch refuses FED-MESH-NAT-REFUSE. Not public ICANN DNS. Not radio PHY. Worker is one relay. AZnet does not replace the internet.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "QNM rollup JSON"
          }
        }
      },
      "head": {
        "operationId": "mesh_status_head",
        "summary": "HEAD of /v1/mesh.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/runtime/v1/mesh/status": {
      "get": {
        "operationId": "mesh_status_alias",
        "summary": "Alias of GET /v1/mesh. Never enables radios.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "QNM rollup JSON"
          }
        }
      }
    },
    "/runtime/v1/mesh/nodes": {
      "get": {
        "operationId": "mesh_nodes",
        "summary": "QNM rollup roster (live/locked/isolated). No scores. No leaderboard.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Rollup nodes JSON"
          }
        }
      }
    },
    "/runtime/v1/mesh/az-generator": {
      "get": {
        "operationId": "mesh_az_generator",
        "summary": "Cap-7 semantic-bridge cite. MirageGrid .az duplication + shift. Standard internet does not reach Cap-7. AZ domains resolve via the four hub HTTPS links (public_icann true, resolves_to_hub true). Cap-7 resolves_to_hub false. Three of seven are false sites. design_of hub_designs. Factory cite LIVE. icann_tld_az false. Not a live AZ-GEN registrar. GET never enables radios.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Cap-7 cite JSON (not a registrar)"
          }
        }
      },
      "head": {
        "operationId": "mesh_az_generator_head",
        "summary": "HEAD of /v1/mesh/az-generator.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      },
      "post": {
        "operationId": "mesh_az_generator_post",
        "summary": "Refused (CAP7-CITE-ONLY). Not a live registrar. GET never enables radios.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "405": {
            "description": "CAP7-CITE-ONLY"
          }
        }
      }
    },
    "/runtime/v1/mesh/enable": {
      "post": {
        "operationId": "mesh_enable",
        "summary": "Declare an extra bearer. Empty {} refused. Rate-limited. Read-only suite-presence is already ON. Not a login mesh.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bearer"
                ],
                "properties": {
                  "bearer": {
                    "type": "string",
                    "description": "Declared bearer (example: suite-presence)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Radios LIVE"
          },
          "400": {
            "description": "Need bearer, bad bearer, or rate limited"
          }
        }
      }
    },
    "/runtime/v1/mesh/disable": {
      "post": {
        "operationId": "mesh_disable",
        "summary": "Refused (MESH-DISABLE-REFUSED). Read-only suite-presence stays ON. Public disable of suite-presence is refused.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "MESH-DISABLE-REFUSED — suite-presence stays ON"
          }
        }
      }
    },
    "/runtime/v1/mesh/join": {
      "post": {
        "operationId": "mesh_join",
        "summary": "Register a durable hash-sealed session. Body { product, node_id?, label?, presence?, heartbeat_mode? }. product required. node_id 8–80 [a-z0-9._-]. presence live|locked|isolated. heartbeat_mode active|idle|asleep. Stay registered until leave or 14 days. Miss 3 beats and the class is stale. {slug}-worker still drops after 5 minutes. MESH-OFF when radios off.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "product"
                ],
                "properties": {
                  "product": {
                    "type": "string",
                    "description": "Required catalog slug (a-z0-9-)."
                  },
                  "node_id": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 80,
                    "pattern": "^[a-z0-9._-]+$",
                    "description": "Optional. Exactly 8–80 chars [a-z0-9._-]."
                  },
                  "label": {
                    "type": "string"
                  },
                  "presence": {
                    "type": "string",
                    "enum": [
                      "live",
                      "locked",
                      "isolated"
                    ],
                    "description": "live | locked | isolated"
                  },
                  "heartbeat_mode": {
                    "type": "string",
                    "enum": [
                      "active",
                      "idle",
                      "asleep"
                    ],
                    "description": "active 15–30s, idle 2–5 min, asleep 15–30 min. Default idle."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sealed session. Software workers still report presence_ttl_ms 300000. Durable rows report registered_grace_ms."
          },
          "400": {
            "description": "MESH-OFF, MESH-BAD-INPUT, or radios off"
          }
        }
      }
    },
    "/runtime/v1/mesh/heartbeat": {
      "post": {
        "operationId": "mesh_heartbeat",
        "summary": "One adaptive beat. Restores live from stale. Body { node_id, presence?, heartbeat_mode? }. MESH-OFF when radios off. Past grace is MESH-UNKNOWN-NODE. Seal mismatch is MESH-SESSION-SEAL.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "node_id"
                ],
                "properties": {
                  "node_id": {
                    "type": "string"
                  },
                  "presence": {
                    "type": "string"
                  },
                  "heartbeat_mode": {
                    "type": "string",
                    "enum": [
                      "active",
                      "idle",
                      "asleep"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Presence refreshed"
          },
          "400": {
            "description": "Unknown node or radios off"
          }
        }
      }
    },
    "/runtime/v1/mesh/site-presence": {
      "get": {
        "operationId": "mesh_site_presence_cite",
        "summary": "Cite the hub site-viewer contract and current site_live_viewers. Never writes. Never pulls hub /count. Paint live_nodes / rollup.mesh only. Never paint software_nodes or rollup.live. live_nodes_tip is the seal.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "site_live_viewers + contract (fail-closed)"
          }
        }
      },
      "post": {
        "operationId": "mesh_site_presence",
        "summary": "Hub fleet heartbeat of concurrent human page viewers. Body { host, viewers, kind: human-page, heartbeat_mode? }. Allowed hosts godlock.uk / azieleliab.com / azielcorpuslibrary.net. hedidntjump.com, bots, Softwares, downloads refuse. Fresh beat is live. Miss 3 beats and the host is stale (registered count kept, Live Nodes 0). Fail-closed.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "host",
                  "viewers",
                  "kind"
                ],
                "properties": {
                  "host": {
                    "type": "string",
                    "description": "godlock.uk | azieleliab.com | azielcorpuslibrary.net"
                  },
                  "viewers": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 10000,
                    "description": "Concurrent human page sessions. Do not invent."
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "human-page"
                    ]
                  },
                  "heartbeat_mode": {
                    "type": "string",
                    "enum": [
                      "active",
                      "idle",
                      "asleep"
                    ],
                    "description": "Optional. Default idle."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Fleet field stored"
          },
          "400": {
            "description": "Excluded host, refused kind, or bad viewers"
          }
        }
      }
    },
    "/runtime/v1/mesh/leave": {
      "post": {
        "operationId": "mesh_leave",
        "summary": "Drop rollup presence. Body { node_id }. No implicit heal.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "node_id"
                ],
                "properties": {
                  "node_id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Left"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay": {
      "get": {
        "operationId": "fed_mesh_relay_cite",
        "summary": "FED-MESH-1.0: Local-First Edge Mesh. Health check. Raw data, keys, and heavy compute stay on the local node. This relay carries signed receipts, digests, and ref updates. It never requires plaintext and never enables radios. One relay among many. A new node still needs one starting address. L0 stays this HTTPS relay. L1 peer bearers (direct/LAN URL, loopback, extra relays) are opt-in and do not replace it. NAT hole-punch refuses FED-MESH-NAT-REFUSE. Not public ICANN DNS. Not radio PHY. AZnet does not replace the internet.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Relay cite. GET never enables."
          }
        }
      }
    },
    "/runtime/v1/mesh/hole-punch": {
      "get": {
        "operationId": "mesh_hole_punch_get",
        "summary": "Refused FED-MESH-NAT-REFUSE. This protocol does not punch holes through NAT. GET never enables. Not public ICANN DNS. Not radio PHY. Not a second internet.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "403": {
            "description": "NAT hole-punch refused."
          }
        }
      },
      "post": {
        "operationId": "mesh_hole_punch_post",
        "summary": "Refused FED-MESH-NAT-REFUSE. Relay HTTPS, a configured direct or LAN URL, or loopback. The Worker is one relay.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "403": {
            "description": "NAT hole-punch refused."
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/bootstrap": {
      "get": {
        "operationId": "fed_mesh_bootstrap_read",
        "summary": "Signed bootstrap lists accepted by this relay. Not the only bootstrap source. Needs a starting address the node already has.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Signed lists. only_source false."
          }
        }
      },
      "post": {
        "operationId": "fed_mesh_bootstrap",
        "summary": "Store one signed bootstrap list. The Worker has no private key and does not invent a signature.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "List stored"
          },
          "400": {
            "description": "Unsigned, bad signature, or poison"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/refs": {
      "get": {
        "operationId": "fed_mesh_refs",
        "summary": "Serve the signed ref index for one handle (?handle=&ref=). This is how objects connect. Object bytes are not included.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Ref index"
          },
          "404": {
            "description": "FED-MESH-NO-REF"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/object": {
      "get": {
        "operationId": "fed_mesh_object_fetch",
        "summary": "Fetch one cached public object by hash (?hash=). Response kind object with body_b64, or FED-MESH-NO-OBJECT. Peers use the same request shape { v, kind: object-fetch, hash }.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Cached object"
          },
          "404": {
            "description": "FED-MESH-NO-OBJECT"
          }
        }
      },
      "post": {
        "operationId": "fed_mesh_object_put",
        "summary": "Cache a small public object. Signed. Does not advance the handle chain. Refuses FED-MESH-TOO-LARGE over 4096 bytes and FED-MESH-HASH-MISMATCH when the bytes do not match hash.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Cached"
          },
          "400": {
            "description": "FED-MESH-HASH-MISMATCH"
          },
          "413": {
            "description": "FED-MESH-TOO-LARGE"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/name": {
      "get": {
        "operationId": "fed_mesh_name_read",
        "summary": "Serve one .aziel name record (?name=) or the names held by a handle (?handle=). Self-certifying <handle>.aziel and friendly claims. .az is normal DNS except the Cap-7 allowlist and the AZ.* hub names. GET never enables.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Name record or list"
          },
          "404": {
            "description": "FED-MESH-NO-NAME"
          }
        }
      },
      "post": {
        "operationId": "fed_mesh_name",
        "summary": "Signed .aziel name record. Friendly claims carry proof-of-work and stay pending until 72 hours and 2 witness handles. The first valid final claim wins. 3 user .aziel names per handle, plus 4 reserved hub-mirror slots that are not user-nameable. Self-certifying <handle>.aziel is final immediately. Forks, rollback, and a 4th user name are refused.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Name anchored"
          },
          "400": {
            "description": "FED-MESH-FORK, FED-MESH-NAME-TAKEN, or FED-MESH-DNS"
          },
          "429": {
            "description": "FED-MESH-NAME-CAP"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/restore": {
      "post": {
        "operationId": "fed_mesh_restore",
        "summary": "Restore one reserved hub-mirror slot (ae, corpus, godlock, hdj). The object hash must already be in this relay's verified cache. Bytes are not accepted on this act. Does not change MirageGrid Cap-7 factory names.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Mirror anchored"
          },
          "400": {
            "description": "FED-MESH-BAD-INPUT or FED-MESH-FORK"
          },
          "404": {
            "description": "FED-MESH-NO-OBJECT"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/slot": {
      "get": {
        "operationId": "fed_mesh_slot_read",
        "summary": "Reserved hub-mirror slots for one handle (?handle=). Four slots, not user-nameable. GET never enables.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Slot table"
          },
          "400": {
            "description": "FED-MESH-ISOLATED or bad handle"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/isolation": {
      "get": {
        "operationId": "fed_mesh_isolation_read",
        "summary": "Isolation record for one handle. Reason code and evidence hash. Content bytes are not stored. GET never enables.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Isolation record"
          },
          "404": {
            "description": "No isolation record"
          }
        }
      },
      "post": {
        "operationId": "fed_mesh_isolation",
        "summary": "Self-signed isolation for this handle. Body fields: v, kind isolation, handle, public_key, subject (same handle), reason (NUDITY, CHILD, HATE, or CSAM), check, model (version or absent), evidence_hash (64 hex), seq, prev, sig. Response: ok, code FED-MESH-OK, op isolation, statement_hash, content_stored false. POST /v1/fedmesh/isolation is the same route. A different handle cannot isolate this one.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Isolation anchored"
          },
          "400": {
            "description": "FED-MESH-BAD-INPUT"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/appeal": {
      "post": {
        "operationId": "fed_mesh_appeal",
        "summary": "Signed appeal. Requests a re-check of the named isolation. applied is false. Isolation remains.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Appeal stored"
          },
          "400": {
            "description": "No isolation record"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/ref": {
      "post": {
        "operationId": "fed_mesh_ref",
        "summary": "Signed ref update: handle, ref name, object hash, previous ref hash, sequence, signature. Anchored with ChainLock and TemporalLock. A prev_ref that is not the stored ref hash is FED-MESH-FORK. Object bytes are not required.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Ref anchored"
          },
          "400": {
            "description": "FED-MESH-FORK or bad signature"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/sync": {
      "post": {
        "operationId": "fed_mesh_sync",
        "summary": "Late sync of ref updates and rollups built offline. Each act is verified in order. A valid prefix is anchored. A fork stops the rest and is refused. The wrapper signature covers act_hashes, not a second sequence.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Chain accepted"
          },
          "400": {
            "description": "FED-MESH-FORK or tampered act_hashes"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/register": {
      "post": {
        "operationId": "fed_mesh_register",
        "summary": "Register a #handle. Signed by that handle's Ed25519 key. Private keys are refused (FED-MESH-PRIVATE-KEY).",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Registered"
          },
          "400": {
            "description": "Unsigned, bad handle, or bad signature"
          }
        }
      }
    },
    "/runtime/v1/mesh/relay/post": {
      "post": {
        "operationId": "fed_mesh_post",
        "summary": "Route one signed ciphertext envelope. The relay sees routing metadata and ciphertext. It does not need plaintext.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Stored or forwarded"
          },
          "400": {
            "description": "FED-MESH-NO-ROUTE or bad signature"
          }
        }
      }
    },
    "/runtime/v1/qns": {
      "get": {
        "operationId": "qns_cite",
        "summary": "QNS-CD-1.0 cite (photon QNS1 1.3). Packet-transfer coding design companion to QNM-BUILD-1.0 / AIH-WP-1.3. Implementation is local qnsd in AzielEliab/qnm-node (127.0.0.1 only). This Worker cites only — never a public via proxy, wipe, or control plane. Not a Softwares-tab product.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "QNS-CD-1.0 cite JSON (local API paths named, not proxied)"
          }
        }
      },
      "head": {
        "operationId": "qns_cite_head",
        "summary": "HEAD of /v1/qns.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      },
      "post": {
        "operationId": "qns_cite_post",
        "summary": "Refused. GET /v1/qns cites only. Public Worker must not proxy local via emit.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "405": {
            "description": "QNS-CITE-ONLY"
          }
        }
      }
    },
    "/runtime/v1/interface": {
      "get": {
        "operationId": "interface_contract",
        "summary": "Human-side orchestration contract (IFACE-ORCH-1.0). VeilLock schema veillock-runtime-ui-1, local_only, public_door_ops empty. Does not launch, join, register a camera, or append the public receipt chain. Not a tools/list name. Not a separate AZInterface product.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Runtime UI contract plus host overlay"
          }
        }
      },
      "post": {
        "operationId": "interface_orchestrate",
        "summary": "Same planner as MCP method interface/orchestrate. Safe calls: describe, join_plan, engulf_plan, status_report, runtime_ui, mesh_awareness, forensic_tip, plan. seal requires confirm true and then uses ACT-RECEIPT-1.0. The public copy is re-hashed from the corpus tip. Outcome is failed unless FragGate returns FG-OK. Live dispatch goes through FragGate. Passphrase and other secret-shaped fields are refused. tools/list stays 36 names.",
        "tags": [
          "runtime"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Plan or seal. executed is true only when FragGate returned FG-OK."
          },
          "400": {
            "description": "IF-BAD-INPUT, IF-SECRET-REFUSED, IF-CONFIRM-REQUIRED, IF-LOCAL-COMMAND, IF-UNKNOWN-CALL"
          }
        }
      }
    },
    "/runtime/v1/interface/forensic": {
      "get": {
        "operationId": "interface_forensic_tip",
        "summary": "Local interface audit tip. Isolate memory. Empty tip is not success. Does not append the public ACT-RECEIPT chain and does not rewrite prior rows.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "tip_hash, count, durable false"
          }
        }
      }
    },
    "/runtime/v1/receipts": {
      "get": {
        "operationId": "act_receipt_cite",
        "summary": "ACT-RECEIPT-1.0 cite. Public four-field chain lives on https://www.azielcorpuslibrary.net/receipts. Runtime appends after FragGate list/call, POST /mcp, and significant POST /v1/* when RECEIPT_APPEND_TOKEN is set (header x-aziel-receipt). Fail-open without token. Not a Softwares-tab product.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "ACT-RECEIPT-1.0 cite JSON (public chain on corpus /receipts)"
          }
        }
      },
      "head": {
        "operationId": "act_receipt_cite_head",
        "summary": "HEAD of /v1/receipts.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      },
      "post": {
        "operationId": "act_receipt_cite_post",
        "summary": "Refused. Append is corpus POST /v1/receipts/append when the operator token is set.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "405": {
            "description": "ACT-RECEIPT-CORPUS-ONLY"
          }
        }
      }
    },
    "/runtime/v1/receipts/tip": {
      "get": {
        "operationId": "act_receipt_tip",
        "summary": "ACT-RECEIPT-1.0 tip/proxy. Documents that the public chain lives on corpus /receipts. Empty or dark tip is SLOT (ACT-RECEIPT-TIP-EMPTY / ACT-RECEIPT-TIP-DARK) — not success. Fail-open is append-skip only.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Corpus tip proxy or cite-only fallback"
          }
        }
      }
    },
    "/runtime/v1/receipts/proxy": {
      "get": {
        "operationId": "act_receipt_proxy",
        "summary": "Alias of GET /v1/receipts/tip.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Corpus tip proxy or cite-only fallback"
          }
        }
      }
    },
    "/runtime/v1/azpipe/arch": {
      "get": {
        "operationId": "azpipe_arch",
        "summary": "MASTER-33 AZPIPE cite/read. Same arch() payload FragGate already exposes as pipeline / pipeline_strip (v, magic, locked, master, lambgate, fraggate_single_door, roseclock, hop list, 11 domains / 33 softwares). Not a Softwares-tab door. Not a FragGate slug.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "MASTER-33 AZPIPE arch/strip JSON"
          }
        }
      },
      "head": {
        "operationId": "azpipe_arch_head",
        "summary": "HEAD of /v1/azpipe/arch.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      },
      "post": {
        "operationId": "azpipe_arch_post",
        "summary": "Same MASTER-33 cite as GET /v1/azpipe/arch. Cite/read only — no mutate, no mesh enable, no Softwares door.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "MASTER-33 AZPIPE arch/strip JSON"
          }
        }
      }
    },
    "/runtime/v1/memory/observe": {
      "post": {
        "operationId": "memory_observe",
        "summary": "AKM-TRIAD-1.0 observe. Behind FragGate. Not a Softwares-tab product. Append-only learn stamp.",
        "tags": [
          "memory"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Observation stamp"
          }
        }
      }
    },
    "/runtime/v1/memory/resolve": {
      "post": {
        "operationId": "memory_resolve",
        "summary": "AKM-TRIAD-1.0 resolve. UNKNOWN ≠ MISS. Outcome requires provenance.",
        "tags": [
          "memory"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Resolution stamp"
          }
        }
      }
    },
    "/runtime/v1/memory/calibrate": {
      "post": {
        "operationId": "memory_calibrate",
        "summary": "AKM-TRIAD-1.0 calibrate. Deterministic 3-of-4 triad. No automatic MODEL_UPDATE.",
        "tags": [
          "memory"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Calibration + triad"
          }
        }
      }
    },
    "/runtime/v1/memory/recall": {
      "post": {
        "operationId": "memory_recall",
        "summary": "AKM-TRIAD-1.0 adaptive recall after ChainLock verify. Additive path.",
        "tags": [
          "memory"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ranked memory cards"
          }
        }
      }
    },
    "/runtime/v1/memory/rebuild-index": {
      "post": {
        "operationId": "memory_rebuild_index",
        "security": [
          {
            "RuntimeToken": []
          }
        ],
        "summary": "Rebuild derived AdaptiveMemoryNode index from learn stamps. OPERATOR / local only.",
        "tags": [
          "memory"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Rebuilt index"
          },
          "400": {
            "description": "Not operator"
          }
        }
      }
    },
    "/runtime/v1/memory/{id}": {
      "get": {
        "operationId": "memory_get",
        "summary": "Read-only AdaptiveMemoryNode explainability.",
        "tags": [
          "memory"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Node JSON"
          },
          "404": {
            "description": "Unknown id"
          }
        }
      }
    },
    "/runtime/v1/memory/{id}/history": {
      "get": {
        "operationId": "memory_history",
        "summary": "Read-only learn-chain history for one memory.",
        "tags": [
          "memory"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "History JSON"
          }
        }
      }
    },
    "/runtime/v1/memory/{id}/calibration": {
      "get": {
        "operationId": "memory_calibration",
        "summary": "Read-only posterior, triad legs, effective N, Brier.",
        "tags": [
          "memory"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Calibration JSON"
          }
        }
      }
    },
    "/runtime/v1/mesh/broadcast": {
      "post": {
        "operationId": "mesh_broadcast",
        "summary": "Register a SHA-256 hash receipt of a local communique. Never a publish path. Does not accept video bytes. Anon-broadcast is a local sibling of qnm-node/. It is not a loopback fence of the mesh.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sha256"
                ],
                "properties": {
                  "sha256": {
                    "type": "string",
                    "description": "64-char hex SHA-256"
                  },
                  "title": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Local hash receipt"
          },
          "400": {
            "description": "Radios off, bytes refused, publish refused, or bad hash"
          }
        }
      }
    },
    "/runtime/v1/mesh/sot": {
      "get": {
        "operationId": "mesh_sot_status",
        "summary": "SOT-SYNC-1.0 suite tip from GET /v1/software plus the outlet matrix. version_id is the Cloudflare Worker version id when bound, otherwise null. Not mesh_broadcast. live_body_sync false. Does not change Nodes or Live Nodes.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Suite tip and outlet status"
          }
        }
      }
    },
    "/runtime/v1/mesh/outlets": {
      "get": {
        "operationId": "mesh_outlets",
        "summary": "Registered outlets (hub cites, JSON-LD, llms, catalog mirrors, frozen cite, mesh hooks). Status ok, drifted, unreachable, or unexposed.",
        "tags": [
          "mesh"
        ],
        "responses": {
          "200": {
            "description": "Outlet registry"
          }
        }
      }
    },
    "/runtime/v1/mesh/sot-sync": {
      "post": {
        "operationId": "mesh_sot_sync",
        "summary": "Pull-plane sync. dry_run true returns the plan and writes nothing. confirm true applies, mints an ACT-RECEIPT-1.0 receipt, and updates last_applied only for outlets that were written. Unreachable outlets are not invented.",
        "tags": [
          "mesh"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dry_run": {
                    "type": "boolean"
                  },
                  "confirm": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Dry run plan or applied tip"
          },
          "400": {
            "description": "SOT-CONFIRM-REQUIRED, SOT-UNREACHABLE, or SOT-GATE-BLOCK"
          }
        }
      }
    },
    "/runtime/v1/health": {
      "get": {
        "operationId": "catalog_health",
        "summary": "Liveness. Lists session, pull, proxy, and cite endpoints. Version/role match /v1/ready.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      },
      "head": {
        "operationId": "catalog_health_head",
        "summary": "HEAD of /v1/health. X-Aziel-Runtime-Version / Role.",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/runtime/v1/catalog.json": {
      "get": {
        "operationId": "catalog_list",
        "summary": "Machine-readable catalog. products[] are Software engines (slug, worker, github — hubs fetch these). extras[] / fraggate is the FragGate kernel card (github.com/AzielEliab/fraggate; worker fraggate-download-tracker is the separate human UI + counted download). Each product includes door, fraggate_live, fraggate_ops, fraggate_call. Authoritative hub tab list is GET /v1/software (Plain→Gate→Lock; EmbryoLock live-with-local-destructive-boundary; AZChat LIVE+bound).",
        "tags": [
          "runtime"
        ],
        "responses": {
          "200": {
            "description": "Product catalog JSON"
          }
        }
      }
    },
    "/runtime/v1/fraggate/software": {
      "get": {
        "operationId": "fraggate_software",
        "summary": "FragGate-path mirror of GET /v1/software. Same JSON plus mirror_of.",
        "tags": [
          "fraggate",
          "software"
        ],
        "responses": {
          "200": {
            "description": "Software catalog JSON"
          }
        }
      }
    },
    "/workspace": {
      "get": {
        "operationId": "catalog_workspace",
        "summary": "Human workspace HTML: operator panel, dashboard, FragGate console, mesh panel. Same FragGate door as MCP. Not a second exec path.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Workspace HTML"
          }
        }
      }
    },
    "/operator": {
      "get": {
        "operationId": "operator_ui",
        "summary": "AZOS and runtime operator UI. Plain buttons and text inputs. Receipts show present, chained, or missing.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Operator HTML"
          }
        }
      },
      "post": {
        "operationId": "operator_act",
        "summary": "Run one operator action through the same in-process doors. Receipt body stays sealed.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Operator HTML with receipt status"
          }
        }
      }
    },
    "/download": {
      "get": {
        "operationId": "suite_download",
        "summary": "One-click suite pack JSON. REAL: Softwares catalog, FragGate registry summary, FoldLock tip cite, mesh/nine-laws/VPN cites, About Aziel. SLOT: Worker wasm, WireGuard/OpenVPN/L3, qnm-node bytes. Counted when USES is bound. Not . Not exec.",
        "tags": [
          "software"
        ],
        "responses": {
          "200": {
            "description": "Suite pack JSON attachment"
          }
        }
      }
    },
    "/runtime/v1/download": {
      "get": {
        "operationId": "suite_download_v1",
        "summary": "Alias of GET /download (suite pack JSON).",
        "tags": [
          "software"
        ],
        "responses": {
          "200": {
            "description": "Suite pack JSON attachment"
          }
        }
      }
    },
    "/runtime/v1/suite/download": {
      "get": {
        "operationId": "suite_download_machine",
        "summary": "Machine alias of GET /download (suite pack JSON).",
        "tags": [
          "software"
        ],
        "responses": {
          "200": {
            "description": "Suite pack JSON attachment"
          }
        }
      }
    },
    "/about": {
      "get": {
        "operationId": "catalog_about",
        "summary": "What Aziel Runtime is — node-meshed MCP Softwares suite.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "About HTML"
          }
        }
      }
    },
    "/runtime/v1/about": {
      "get": {
        "operationId": "catalog_about_v1",
        "summary": "Alias of /about.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "About HTML"
          }
        }
      }
    },
    "/runtime/cite.json": {
      "get": {
        "operationId": "catalog_cite",
        "summary": "How to cite Aziel Eliab software and the Digital Library. Aka Aziel Elroi Eliab. No invented DOIs. Cites COLD-MULTI-SHELF-1.0 / corpus#96 shelves honesty. Person @id + site coverage + sameAs/socials (hubs + GitHub + Glama + @AzielEliab). Locked What Aziel Eliab does / why. Softwares SSoT GET /v1/software.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Citation JSON"
          }
        }
      }
    },
    "/person.jsonld": {
      "get": {
        "operationId": "catalog_person_jsonld",
        "summary": "Machine Person JSON-LD for Google AI / LLM profile. @id https://www.azieleliab.com/#aziel. Roles: researcher, digital rights activist, software developer/designer, author, philosopher. sameAs/socials: hubs + GitHub + Glama + @AzielEliab. Locked What Aziel Eliab does / why. Machine 15:20 disambiguation. No visible HTML chrome. No legal name / home.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "application/ld+json Person"
          }
        }
      }
    },
    "/who-is": {
      "get": {
        "operationId": "catalog_who_is",
        "summary": "Machine who-is text for Aziel Eliab. Same Person @id. Site coverage + sameAs/socials (hubs + GitHub + Glama + @AzielEliab). Locked What Aziel Eliab does / why. Softwares SSoT. Machine 15:20 disambiguation. Alias /who-is-aziel-eliab.txt. Not an HTML page.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain who-is"
          }
        }
      }
    },
    "/who-is-aziel-eliab.txt": {
      "get": {
        "operationId": "catalog_who_is_txt",
        "summary": "Alias of /who-is.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain who-is"
          }
        }
      }
    },
    "/shelves": {
      "get": {
        "operationId": "catalog_shelves",
        "summary": "COLD-MULTI-SHELF-1.0 registry cite matching live corpus /shelves (corpus#96). Plane A = 5 published surfaces / 2 family radii / 1 independent live. Plane B Codeberg + archive.org hash-verify PASS still SLOT (https://archive.org/details/aziel-lockset-tip + https://archive.org/details/aziel-lockset-tip_202609, same blast_radius, pack b549362c…); Framagit URL null (third ALL-TARGETS) Zenodo tip-pack SLOT (zenodo_live:false; CNS-ZENODO-NOT-LIVE); doi null. Plane C USB SLOT until CNS-OPERATOR-ATTEST. ORIGIN-CUTOVER-1.0 serves AZNet (sidenet is not a separate brand; L0 unbroken). Home-origin / mini-PC path is SLOT (no DNS rent, no live DNS change, not deposited). Phoenix is local wait (REHEAL-1.0). Live CF hubs unchanged. Linked fields: redline.spec REDLINE-2026-09-14, Cap-7 design_of hub_designs + resolves_to_hub false (AZ domains resolve via hub HTTPS), attack-sim refuse pointer scripts/verify-redline.mjs. Runtime Worker is the same Plane A tunnel.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "COLD-MULTI-SHELF registry JSON"
          }
        }
      },
      "head": {
        "operationId": "catalog_shelves_head",
        "summary": "HEAD of /shelves.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/cold-copy": {
      "get": {
        "operationId": "catalog_cold_copy",
        "summary": "Alias of GET /shelves.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "COLD-MULTI-SHELF registry JSON"
          }
        }
      }
    },
    "/runtime/v1/shelves": {
      "get": {
        "operationId": "catalog_shelves_v1",
        "summary": "Machine alias of GET /shelves (COLD-MULTI-SHELF-1.0).",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "COLD-MULTI-SHELF registry JSON"
          }
        }
      }
    },
    "/runtime/v1/cold-copy": {
      "get": {
        "operationId": "catalog_cold_copy_v1",
        "summary": "Alias of GET /shelves.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "COLD-MULTI-SHELF registry JSON"
          }
        }
      }
    },
    "/survival": {
      "get": {
        "operationId": "catalog_ban_survival",
        "summary": "BAN-SURVIVAL-1.0 three-layer map plus SPORE-1.0 last-resort failsafe (pause / preserve / wait / physical-wipe-only). Live multi-front ↔ cold shelves stay intact; live-node API SLOT; Cap-7 factory duplication cite LIVE (standard internet does not reach Cap-7) + AZNet verify LIVE. SPORE does not replace shelves. Client door list = LIVE doors only. Not a second FragGate door.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "BAN-SURVIVAL failover JSON"
          }
        }
      },
      "head": {
        "operationId": "catalog_ban_survival_head",
        "summary": "HEAD of /survival.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "headers only"
          }
        }
      }
    },
    "/runtime/v1/survival": {
      "get": {
        "operationId": "catalog_ban_survival_v1",
        "summary": "Machine alias of GET /survival (BAN-SURVIVAL-1.0).",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "BAN-SURVIVAL failover JSON"
          }
        }
      }
    },
    "/doors": {
      "get": {
        "operationId": "catalog_ban_survival_doors",
        "summary": "Alias of GET /survival.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "BAN-SURVIVAL failover JSON"
          }
        }
      }
    },
    "/failover": {
      "get": {
        "operationId": "catalog_ban_survival_failover",
        "summary": "Alias of GET /survival.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "BAN-SURVIVAL failover JSON"
          }
        }
      }
    },
    "/platforms": {
      "get": {
        "operationId": "catalog_ban_platforms",
        "summary": "BAN-PLATFORMS-1.0. Windows, Mac, Linux, Android, and iPhone are LIVE via browser / PWA / download / MCP. native_app_store false. Do not mark any of these five as SLOT.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Platform reachability JSON"
          }
        }
      }
    },
    "/runtime/v1/platforms": {
      "get": {
        "operationId": "catalog_ban_platforms_v1",
        "summary": "Machine alias of GET /platforms.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "Platform reachability JSON"
          }
        }
      }
    },
    "/runtime/llms.txt": {
      "get": {
        "operationId": "catalog_llms",
        "summary": "Plain-text catalog + citation rules for Aziel Eliab and the Digital Library.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain catalog"
          }
        }
      }
    },
    "/runtime/ai.txt": {
      "get": {
        "operationId": "catalog_ai_txt",
        "summary": "Alias of /llms.txt.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain catalog"
          }
        }
      }
    },
    "/runtime/robots.txt": {
      "get": {
        "operationId": "catalog_robots",
        "summary": "Allow / for Google and major AI bots. Sitemap index + hub/product sitemaps. No GPTBot Disallow.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "robots.txt"
          }
        }
      }
    },
    "/runtime/sitemap.xml": {
      "get": {
        "operationId": "catalog_sitemap",
        "summary": "Indexable sitemap of catalog, OpenAPI, product cards, health, GitHub.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "sitemap.xml"
          }
        }
      }
    },
    "/runtime/sitemap-index.xml": {
      "get": {
        "operationId": "catalog_sitemap_index",
        "summary": "Sitemap index: this catalog sitemap plus live Aziel Digital Library, godlock.uk, He Didn't Jump sister archive, and product Worker sitemaps.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "sitemapindex.xml"
          }
        }
      }
    },
    "/help.txt": {
      "get": {
        "operationId": "help_txt",
        "summary": "Human help text: FragGate door, Softwares catalog one_line SSoT, Glama, dual-surface. Additive — does not replace /llms.txt.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain help"
          }
        }
      }
    },
    "/addendum.txt": {
      "get": {
        "operationId": "help_addendum_txt",
        "summary": "Longer human addendum for FragGate, Softwares, Glama, dual-surface, LIVE/SLOT shelves.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain addendum"
          }
        }
      }
    },
    "/help/softwares.txt": {
      "get": {
        "operationId": "help_softwares_txt",
        "summary": "Plain-text Softwares catalog one_lines (SSoT from GET /v1/software).",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain Softwares one_lines"
          }
        }
      }
    },
    "/help/fraggate.txt": {
      "get": {
        "operationId": "help_fraggate_txt",
        "summary": "Human help for FragGate list → describe → call.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain FragGate help"
          }
        }
      }
    },
    "/help/glama.txt": {
      "get": {
        "operationId": "help_glama_txt",
        "summary": "Human help for Glama Install Server and MCP/OpenAPI clients.",
        "tags": [
          "catalog"
        ],
        "responses": {
          "200": {
            "description": "text/plain Glama help"
          }
        }
      }
    },
    "/runtime/p/vibelock/health": {
      "get": {
        "operationId": "vibelock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"vibelock\", op: \"health\" }. Use VibeLock to assess AI deepfake risk in audio and video you already hold. It exists as a media authenticity advisory. Physics and related signals are heuristic. Linguistics is experimental. Vibration is a measurement only when a body-coupled track is present. Hosted analyze and detect score posted features or limited PCM, refuse raw container bytes, and publish no accuracy percentage. Compressed files on the local package need ffmpeg.",
        "tags": [
          "vibelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/vibelock/analyze": {
      "post": {
        "operationId": "vibelock_analyze",
        "summary": "Advisory AI deepfake risk on posted features or limited PCM. Physics and related signals are heuristic. Linguistics is experimental. Vibration is a measurement only with a body-coupled track. Raw container bytes are refused. Local compressed files need ffmpeg. No accuracy percentage.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"vibelock\", op: \"analyze\" }. Use VibeLock to assess AI deepfake risk in audio and video you already hold. It exists as a media authenticity advisory. Physics and related signals are heuristic. Linguistics is experimental. Vibration is a measurement only when a body-coupled track is present. Hosted analyze and detect score posted features or limited PCM, refuse raw container bytes, and publish no accuracy percentage. Compressed files on the local package need ffmpeg.",
        "tags": [
          "vibelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/vibelock/detect": {
      "post": {
        "operationId": "vibelock_detect",
        "summary": "Alias of analyze. Advisory score on the signal channels that ran. Raw container bytes are refused. No accuracy percentage.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"vibelock\", op: \"detect\" }. Use VibeLock to assess AI deepfake risk in audio and video you already hold. It exists as a media authenticity advisory. Physics and related signals are heuristic. Linguistics is experimental. Vibration is a measurement only when a body-coupled track is present. Hosted analyze and detect score posted features or limited PCM, refuse raw container bytes, and publish no accuracy percentage. Compressed files on the local package need ffmpeg.",
        "tags": [
          "vibelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/vibelock/doctor": {
      "get": {
        "operationId": "vibelock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"vibelock\", op: \"doctor\" }. Use VibeLock to assess AI deepfake risk in audio and video you already hold. It exists as a media authenticity advisory. Physics and related signals are heuristic. Linguistics is experimental. Vibration is a measurement only when a body-coupled track is present. Hosted analyze and detect score posted features or limited PCM, refuse raw container bytes, and publish no accuracy percentage. Compressed files on the local package need ffmpeg.",
        "tags": [
          "vibelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/vibelock/skill": {
      "get": {
        "operationId": "vibelock_skill",
        "summary": "Return VibeLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"vibelock\", op: \"skill\" }. Use VibeLock to assess AI deepfake risk in audio and video you already hold. It exists as a media authenticity advisory. Physics and related signals are heuristic. Linguistics is experimental. Vibration is a measurement only when a body-coupled track is present. Hosted analyze and detect score posted features or limited PCM, refuse raw container bytes, and publish no accuracy percentage. Compressed files on the local package need ffmpeg.",
        "tags": [
          "vibelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/veillock/health": {
      "get": {
        "operationId": "veillock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"veillock\", op: \"health\" }. VeilLock does not inject into FaceTime, Zoom, Meet, Teams, or Skype. YOUR camera/screen only. Not a call interceptor.",
        "tags": [
          "veillock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/veillock/apps": {
      "post": {
        "operationId": "veillock_apps",
        "summary": "Local-app steps. YOUR camera/screen only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"veillock\", op: \"apps\" }. VeilLock does not inject into FaceTime, Zoom, Meet, Teams, or Skype. YOUR camera/screen only. Not a call interceptor.",
        "tags": [
          "veillock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/veillock/skill": {
      "get": {
        "operationId": "veillock_skill",
        "summary": "Return VeilLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"veillock\", op: \"skill\" }. VeilLock does not inject into FaceTime, Zoom, Meet, Teams, or Skype. YOUR camera/screen only. Not a call interceptor.",
        "tags": [
          "veillock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/codelock/health": {
      "get": {
        "operationId": "codelock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"codelock\", op: \"health\" }. This tool alters perception, not meaning.",
        "tags": [
          "codelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/codelock/render": {
      "post": {
        "operationId": "codelock_render",
        "summary": "Canonical or CodeLock/Rosetta HTML view of source.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"codelock\", op: \"render\" }. This tool alters perception, not meaning.",
        "tags": [
          "codelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/codelock/gate-status": {
      "post": {
        "operationId": "codelock_gate_status",
        "summary": "Read CodeLock gate open/closed. Alters perception, not meaning.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"codelock\", op: \"gate-status\" }. This tool alters perception, not meaning.",
        "tags": [
          "codelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/codelock/doctor": {
      "get": {
        "operationId": "codelock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"codelock\", op: \"doctor\" }. This tool alters perception, not meaning.",
        "tags": [
          "codelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/codelock/skill": {
      "get": {
        "operationId": "codelock_skill",
        "summary": "Return CodeLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"codelock\", op: \"skill\" }. This tool alters perception, not meaning.",
        "tags": [
          "codelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/godlock/health": {
      "get": {
        "operationId": "godlock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"godlock\", op: \"health\" }. GodLock is not a VPN and not an anonymity network.",
        "tags": [
          "godlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/godlock/score": {
      "post": {
        "operationId": "godlock_score",
        "summary": "Offline ABAD / hardening score for a text.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"godlock\", op: \"score\" }. GodLock is not a VPN and not an anonymity network.",
        "tags": [
          "godlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/godlock/submit": {
      "post": {
        "operationId": "godlock_submit",
        "summary": "Submit text; returns a receipt id (no VPN).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"godlock\", op: \"submit\" }. GodLock is not a VPN and not an anonymity network.",
        "tags": [
          "godlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/godlock/doctor": {
      "get": {
        "operationId": "godlock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"godlock\", op: \"doctor\" }. GodLock is not a VPN and not an anonymity network.",
        "tags": [
          "godlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/godlock/skill": {
      "get": {
        "operationId": "godlock_skill",
        "summary": "Return GodLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"godlock\", op: \"skill\" }. GodLock is not a VPN and not an anonymity network.",
        "tags": [
          "godlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/shadowlock/health": {
      "get": {
        "operationId": "shadowlock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"shadowlock\", op: \"health\" }. ShadowLock is a gate on an outcome you already have. No OS hook. No process intercept.",
        "tags": [
          "shadowlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/shadowlock/observe": {
      "post": {
        "operationId": "shadowlock_observe",
        "summary": "Zero-retention observation of a job list you already have.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"shadowlock\", op: \"observe\" }. ShadowLock is a gate on an outcome you already have. No OS hook. No process intercept.",
        "tags": [
          "shadowlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/shadowlock/hook": {
      "post": {
        "operationId": "shadowlock_hook",
        "summary": "Zero-retention ethics receipt. Not an OS hook. Not process intercept.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"shadowlock\", op: \"hook\" }. ShadowLock is a gate on an outcome you already have. No OS hook. No process intercept.",
        "tags": [
          "shadowlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/shadowlock/doctor": {
      "get": {
        "operationId": "shadowlock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"shadowlock\", op: \"doctor\" }. ShadowLock is a gate on an outcome you already have. No OS hook. No process intercept.",
        "tags": [
          "shadowlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/shadowlock/skill": {
      "get": {
        "operationId": "shadowlock_skill",
        "summary": "Return ShadowLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"shadowlock\", op: \"skill\" }. ShadowLock is a gate on an outcome you already have. No OS hook. No process intercept.",
        "tags": [
          "shadowlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/health": {
      "get": {
        "operationId": "temporallock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"health\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/genesis": {
      "post": {
        "operationId": "temporallock_genesis",
        "summary": "First receipt of a chain (explicit genesis).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"genesis\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/append": {
      "post": {
        "operationId": "temporallock_append",
        "summary": "Append a receipt to an existing chain payload.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"append\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/verify": {
      "post": {
        "operationId": "temporallock_verify",
        "summary": "Recompute hashes. Anyone can verify.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"verify\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/timeslate": {
      "post": {
        "operationId": "temporallock_timeslate",
        "summary": "Bind or append a StaticClock timeslate on a client-held chain.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"timeslate\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/gate": {
      "post": {
        "operationId": "temporallock_gate",
        "summary": "Accept a payload hash onto the timeslate lattice.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"gate\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/import_export": {
      "post": {
        "operationId": "temporallock_import_export",
        "summary": "Export or import a client-held chain JSON. Hosted does not store.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"import_export\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/doctor": {
      "get": {
        "operationId": "temporallock_doctor",
        "summary": "Richer liveness: ops, refuse list, neighbors. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"doctor\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/temporallock/skill": {
      "get": {
        "operationId": "temporallock_skill",
        "summary": "Return TemporalLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"temporallock\", op: \"skill\" }. Use TemporalLock to start, append, and check hashes on receipts anyone can recompute. It exists so time-stamped records stay client-held.",
        "tags": [
          "temporallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/forgereceipts/health": {
      "get": {
        "operationId": "forgereceipts_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"forgereceipts\", op: \"health\" }. ForgeReceipts 0.3.0: Local receipt / checklist helper with jurisdiction-aware state picker (all 50 states + federal baseline) customizing UI/legal framing. Not legal advice. Does not contact courts. Author Aziel Eliab.",
        "tags": [
          "forgereceipts",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/forgereceipts/receipt": {
      "post": {
        "operationId": "forgereceipts_receipt",
        "summary": "Mint a local receipt. No court connection. Hosted never stores files.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"forgereceipts\", op: \"receipt\" }. ForgeReceipts 0.3.0: Local receipt / checklist helper with jurisdiction-aware state picker (all 50 states + federal baseline) customizing UI/legal framing. Not legal advice. Does not contact courts. Author Aziel Eliab.",
        "tags": [
          "forgereceipts",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/forgereceipts/verify": {
      "post": {
        "operationId": "forgereceipts_verify",
        "summary": "Recompute a posted receipt hash. Not legal advice.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"forgereceipts\", op: \"verify\" }. ForgeReceipts 0.3.0: Local receipt / checklist helper with jurisdiction-aware state picker (all 50 states + federal baseline) customizing UI/legal framing. Not legal advice. Does not contact courts. Author Aziel Eliab.",
        "tags": [
          "forgereceipts",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/forgereceipts/import_export": {
      "post": {
        "operationId": "forgereceipts_import_export",
        "summary": "Export or import client-held receipt JSON. Hosted never stores files.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"forgereceipts\", op: \"import_export\" }. ForgeReceipts 0.3.0: Local receipt / checklist helper with jurisdiction-aware state picker (all 50 states + federal baseline) customizing UI/legal framing. Not legal advice. Does not contact courts. Author Aziel Eliab.",
        "tags": [
          "forgereceipts",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/forgereceipts/doctor": {
      "get": {
        "operationId": "forgereceipts_doctor",
        "summary": "Richer liveness: receipt mint + refuse list. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"forgereceipts\", op: \"doctor\" }. ForgeReceipts 0.3.0: Local receipt / checklist helper with jurisdiction-aware state picker (all 50 states + federal baseline) customizing UI/legal framing. Not legal advice. Does not contact courts. Author Aziel Eliab.",
        "tags": [
          "forgereceipts",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/forgereceipts/skill": {
      "get": {
        "operationId": "forgereceipts_skill",
        "summary": "Return ForgeReceipts skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"forgereceipts\", op: \"skill\" }. ForgeReceipts 0.3.0: Local receipt / checklist helper with jurisdiction-aware state picker (all 50 states + federal baseline) customizing UI/legal framing. Not legal advice. Does not contact courts. Author Aziel Eliab.",
        "tags": [
          "forgereceipts",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/health": {
      "get": {
        "operationId": "decisiongate_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"health\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/check": {
      "post": {
        "operationId": "decisiongate_check",
        "summary": "Run the five sequential gates on a proposal.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"check\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/evaluate": {
      "post": {
        "operationId": "decisiongate_evaluate",
        "summary": "Alias of check. Same five-gate lineage.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"evaluate\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/gates": {
      "get": {
        "operationId": "decisiongate_gates",
        "summary": "List the five sequential gates (Definition → Responsibility).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"gates\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/verify": {
      "post": {
        "operationId": "decisiongate_verify",
        "summary": "Verify a posted lineage against GATE_ORDER. wrap is not hosted.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"verify\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/doctor": {
      "get": {
        "operationId": "decisiongate_doctor",
        "summary": "Richer liveness: gate order, wrap unhosted. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"doctor\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/decisiongate/skill": {
      "get": {
        "operationId": "decisiongate_skill",
        "summary": "Return DecisionGATE skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"decisiongate\", op: \"skill\" }. Freedom without clarity is chaos.",
        "tags": [
          "decisiongate",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zsolver/health": {
      "get": {
        "operationId": "zsolver_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zsolver\", op: \"health\" }. Hard 75% confidence cap / 25% uncertainty floor. Provisional and assistive. Does not solve Zioncheck or any case.",
        "tags": [
          "zsolver",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zsolver/patterns": {
      "get": {
        "operationId": "zsolver_patterns",
        "summary": "Nine ontology nodes (Zioncheck seed). Not a verdict.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zsolver\", op: \"patterns\" }. Hard 75% confidence cap / 25% uncertainty floor. Provisional and assistive. Does not solve Zioncheck or any case.",
        "tags": [
          "zsolver",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zsolver/score": {
      "post": {
        "operationId": "zsolver_score",
        "summary": "Score answers. Hard 75% cap, 25% floor.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zsolver\", op: \"score\" }. Hard 75% confidence cap / 25% uncertainty floor. Provisional and assistive. Does not solve Zioncheck or any case.",
        "tags": [
          "zsolver",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zsolver/session": {
      "post": {
        "operationId": "zsolver_session",
        "summary": "Stateless session snapshot from answers.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zsolver\", op: \"session\" }. Hard 75% confidence cap / 25% uncertainty floor. Provisional and assistive. Does not solve Zioncheck or any case.",
        "tags": [
          "zsolver",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zsolver/doctor": {
      "get": {
        "operationId": "zsolver_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zsolver\", op: \"doctor\" }. Hard 75% confidence cap / 25% uncertainty floor. Provisional and assistive. Does not solve Zioncheck or any case.",
        "tags": [
          "zsolver",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zsolver/skill": {
      "get": {
        "operationId": "zsolver_skill",
        "summary": "Return ZionPattern Solver skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zsolver\", op: \"skill\" }. Hard 75% confidence cap / 25% uncertainty floor. Provisional and assistive. Does not solve Zioncheck or any case.",
        "tags": [
          "zsolver",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/health": {
      "get": {
        "operationId": "azos_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"health\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/status": {
      "post": {
        "operationId": "azos_status",
        "summary": "Read-only status / principles. No remote exec.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"status\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/invite": {
      "get": {
        "operationId": "azos_invite",
        "summary": "Print invite / principles markdown. Not a remote shell.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"invite\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/principles": {
      "get": {
        "operationId": "azos_principles",
        "summary": "Read AZ-OS principles. exec/shell stay refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"principles\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/doctor": {
      "get": {
        "operationId": "azos_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"doctor\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/session_open": {
      "post": {
        "operationId": "azos_session_open",
        "summary": "Open an isolate-native prefab ethics session VFS. Not a host shell.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"session_open\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/session_status": {
      "post": {
        "operationId": "azos_session_status",
        "summary": "Preview the ethics VFS listing. Not host exec.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"session_status\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/session_close": {
      "post": {
        "operationId": "azos_session_close",
        "summary": "Seal the ethics session. exec/shell stay refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"session_close\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/session": {
      "post": {
        "operationId": "azos_session",
        "summary": "Alias of session_open. Isolate ethics VFS, not a remote shell.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"session\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/close": {
      "post": {
        "operationId": "azos_close",
        "summary": "Alias of session_close. Seals the ethics session.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"close\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/mode_list": {
      "post": {
        "operationId": "azos_mode_list",
        "summary": "Server, Bootstrap OS, and Full install. Not an OS yet without a kernel or userspace the machine can boot.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"mode_list\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/boot_path": {
      "post": {
        "operationId": "azos_boot_path",
        "summary": "Kernel base from the AZOS principles, plus any packaged boot image. Not booted, so this is not an OS yet. A browser tab is not the OS.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"boot_path\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/internet_base": {
      "post": {
        "operationId": "azos_internet_base",
        "summary": "Internet base on LAN, then Wi-Fi, then Bluetooth, then RF, then photon. Not live until a real packet on one of those carriers. Cellular is optional and refuses when no radio is present. The public door stays FG-STUB.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"internet_base\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/guardian": {
      "post": {
        "operationId": "azos_guardian",
        "summary": "Digital Guardian stays on. It audits this operator's own requests on this machine and seals a lattice receipt. It cannot be turned off. It does not watch other people.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"guardian\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/download_list": {
      "post": {
        "operationId": "azos_download_list",
        "summary": "File list for one mode. Without a boot image the download stays incomplete. The phone web app is not the OS.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"download_list\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/download_check": {
      "post": {
        "operationId": "azos_download_check",
        "summary": "Complete only when a real kernel or userspace hash matches. A note is not an OS. A missing image stays not complete.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"download_check\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/phone_path": {
      "post": {
        "operationId": "azos_phone_path",
        "summary": "Phone web app or bootstrap wrap. Neither is the OS. Flash stays unexecuted without a tested image. SIM is not wiped.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"phone_path\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/sim_lockout": {
      "post": {
        "operationId": "azos_sim_lockout",
        "summary": "SIM lockout is off by default. It never erases a SIM or eSIM.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"sim_lockout\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/cellular": {
      "post": {
        "operationId": "azos_cellular",
        "summary": "Cellular is a packet carrier. Absent when no radio is present. No mock live.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"cellular\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/ip_mask": {
      "post": {
        "operationId": "azos_ip_mask",
        "summary": "IP masking across AZOS modes. Not masked when no checked mask path exists.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"ip_mask\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/azcall": {
      "post": {
        "operationId": "azos_azcall",
        "summary": "A changeable number with no fee is designed only. No call path.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"azcall\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/veillock": {
      "post": {
        "operationId": "azos_veillock",
        "summary": "Camera and screen share stay off unless the person turns them on for a task they asked for.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"veillock\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/malware_sweep": {
      "post": {
        "operationId": "azos_malware_sweep",
        "summary": "Scan with the AZMail scanner. Live only when ClamAV is present. Never a mock clean.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"malware_sweep\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/airgap": {
      "post": {
        "operationId": "azos_airgap",
        "summary": "Airgap before use. Same scanner honesty as AZMail.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"airgap\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/human_check": {
      "post": {
        "operationId": "azos_human_check",
        "summary": "Stop at a human check. No solver.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"human_check\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azos/skill": {
      "get": {
        "operationId": "azos_skill",
        "summary": "Return AZ-OS skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azos\", op: \"skill\" }. AZ-OS does not grant remote shell. Invite prints principles; exec requires a local token.",
        "tags": [
          "azos",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/glossafilter/health": {
      "get": {
        "operationId": "glossafilter_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"glossafilter\", op: \"health\" }. Human opinion remains human, and tools remain tools.",
        "tags": [
          "glossafilter",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/glossafilter/render": {
      "post": {
        "operationId": "glossafilter_render",
        "summary": "Render an intent across bundled peer ids.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"glossafilter\", op: \"render\" }. Human opinion remains human, and tools remain tools.",
        "tags": [
          "glossafilter",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/glossafilter/peers": {
      "get": {
        "operationId": "glossafilter_peers",
        "summary": "List bundled Glossa Filter peer ids. Human opinion remains human.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"glossafilter\", op: \"peers\" }. Human opinion remains human, and tools remain tools.",
        "tags": [
          "glossafilter",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/glossafilter/doctor": {
      "get": {
        "operationId": "glossafilter_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"glossafilter\", op: \"doctor\" }. Human opinion remains human, and tools remain tools.",
        "tags": [
          "glossafilter",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/glossafilter/skill": {
      "get": {
        "operationId": "glossafilter_skill",
        "summary": "Return Glossa Filter skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"glossafilter\", op: \"skill\" }. Human opinion remains human, and tools remain tools.",
        "tags": [
          "glossafilter",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/health": {
      "get": {
        "operationId": "miragegrid_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"health\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/assign": {
      "post": {
        "operationId": "miragegrid_assign",
        "summary": "Assign a short-lived session node and cite Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"assign\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/verify-receipt": {
      "post": {
        "operationId": "miragegrid_verify_receipt",
        "summary": "Verify a MirageGrid control-plane receipt. Not a VPN hop.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"verify-receipt\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/bridge": {
      "get": {
        "operationId": "miragegrid_bridge",
        "summary": "Cap-7 .az duplication cite. Standard internet does not reach Cap-7. AZ domains resolve via hub HTTPS. resolves_to_hub false on Cap-7. Three of seven are false sites.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"bridge\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/shuffle": {
      "post": {
        "operationId": "miragegrid_shuffle",
        "summary": "Ping MirageGrid until one Cap-7 .az duplication lands. That landed mesh name is that-round update. Distinct names. No hardcoded host. Factory land LIVE. Standard internet does not reach Cap-7. Three of seven are false sites.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"shuffle\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/nodes": {
      "get": {
        "operationId": "miragegrid_nodes",
        "summary": "List ephemeral control-plane node ids. Not a hop mesh.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"nodes\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/geo-target": {
      "post": {
        "operationId": "miragegrid_geo_target",
        "summary": "Cap-7 plane region label on a factory name. Metadata only. Not a public egress IP. Not ICANN. Not AZVPN. Exec is fraggate_call.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"geo-target\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/session-stick": {
      "post": {
        "operationId": "miragegrid_session_stick",
        "summary": "Cap-7 plane sticky mesh-node label. Same sticky_key, same node. Not a sticky public IP. Not AZVPN. Exec is fraggate_call.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"session-stick\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/egress-rotate": {
      "post": {
        "operationId": "miragegrid_egress_rotate",
        "summary": "Rotate the Cap-7 update land among factory names. Not a public egress IP. Not ICANN publish. Not a packet hop. Exec is fraggate_call.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"egress-rotate\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/doctor": {
      "get": {
        "operationId": "miragegrid_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"doctor\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/miragegrid/skill": {
      "get": {
        "operationId": "miragegrid_skill",
        "summary": "Return MirageGrid skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"miragegrid\", op: \"skill\" }. MirageGrid assigns a short-lived session node and cites Cap-7 mesh-name metadata. The Cap-7 factory is not a public ICANN registrar. AZVPN is the suite VPN. Cap-7 geo, sticky session, and land rotation are LIVE on the Cap-7 plane, not a public egress IP.",
        "tags": [
          "miragegrid",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/health": {
      "get": {
        "operationId": "staticclock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"health\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/advise": {
      "post": {
        "operationId": "staticclock_advise",
        "summary": "Five advisory fields for a geo. Not a scheduler.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"advise\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/advisory": {
      "post": {
        "operationId": "staticclock_advisory",
        "summary": "Alias of advise. Companion advisory only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"advisory\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/anchors": {
      "get": {
        "operationId": "staticclock_anchors",
        "summary": "List Top-30 geographic anchors.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"anchors\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/click": {
      "post": {
        "operationId": "staticclock_click",
        "summary": "Append a forward-only gear click to a client-held chain.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"click\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/verify": {
      "post": {
        "operationId": "staticclock_verify",
        "summary": "Recompute gear-click hashes. Time only locks forward.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"verify\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/timeslate": {
      "post": {
        "operationId": "staticclock_timeslate",
        "summary": "Bind a click into a TemporalLock timeslate payload.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"timeslate\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/import_export": {
      "post": {
        "operationId": "staticclock_import_export",
        "summary": "Export or import a client-held click chain. Hosted does not store.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"import_export\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/doctor": {
      "get": {
        "operationId": "staticclock_doctor",
        "summary": "Richer liveness: forward-only clicks. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"doctor\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/staticclock/skill": {
      "get": {
        "operationId": "staticclock_skill",
        "summary": "Return StaticClock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"staticclock\", op: \"skill\" }. StaticClock is not a scheduler and not a clock you set. Advisory fields only.",
        "tags": [
          "staticclock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/health": {
      "get": {
        "operationId": "chronolock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"health\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/advisory": {
      "post": {
        "operationId": "chronolock_advisory",
        "summary": "One advisory for a last-known geo. Not a scheduler.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"advisory\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/advise": {
      "post": {
        "operationId": "chronolock_advise",
        "summary": "Alias of advisory. Distinct from TemporalLock.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"advise\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/anchors": {
      "get": {
        "operationId": "chronolock_anchors",
        "summary": "List Top-30 geographic anchors.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"anchors\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/window": {
      "post": {
        "operationId": "chronolock_window",
        "summary": "Report the Temporal Neutral Window for a geo. Not a cron.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"window\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/doctor": {
      "get": {
        "operationId": "chronolock_doctor",
        "summary": "Richer liveness: advisory window only. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"doctor\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/chronolock/skill": {
      "get": {
        "operationId": "chronolock_skill",
        "summary": "Return ChronoLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"chronolock\", op: \"skill\" }. ChronoLock is advisory only — not a scheduler, not targeting, not virality. Temporal Neutral Window 08:30–10:30 local. Distinct from TemporalLock.",
        "tags": [
          "chronolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/postking/health": {
      "get": {
        "operationId": "postking_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"postking\", op: \"health\" }. The goal is not to win. The goal is to remain. Human is king-bound; AI has a Node, not a king.",
        "tags": [
          "postking",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/postking/new": {
      "post": {
        "operationId": "postking_new",
        "summary": "Start a game {difficulty, seed}.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"postking\", op: \"new\" }. The goal is not to win. The goal is to remain. Human is king-bound; AI has a Node, not a king.",
        "tags": [
          "postking",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/postking/move": {
      "post": {
        "operationId": "postking_move",
        "summary": "Human UCI move + AI 1-ply continuity reply.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"postking\", op: \"move\" }. The goal is not to win. The goal is to remain. Human is king-bound; AI has a Node, not a king.",
        "tags": [
          "postking",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/postking/status": {
      "post": {
        "operationId": "postking_status",
        "summary": "Continuity status for a FEN/state.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"postking\", op: \"status\" }. The goal is not to win. The goal is to remain. Human is king-bound; AI has a Node, not a king.",
        "tags": [
          "postking",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/postking/doctor": {
      "get": {
        "operationId": "postking_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"postking\", op: \"doctor\" }. The goal is not to win. The goal is to remain. Human is king-bound; AI has a Node, not a king.",
        "tags": [
          "postking",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/postking/skill": {
      "get": {
        "operationId": "postking_skill",
        "summary": "Return Post-King Chess skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"postking\", op: \"skill\" }. The goal is not to win. The goal is to remain. Human is king-bound; AI has a Node, not a king.",
        "tags": [
          "postking",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azclce/health": {
      "get": {
        "operationId": "azclce_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azclce\", op: \"health\" }. CLCE detects inconsistency, not intent. Type D is a label, not a finding of malice. Threshold 0.7 is advisory. AZCoherence (AZC-0.1) is a separate peer product (second-pass coherence). Not a replacement.",
        "tags": [
          "azclce",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azclce/score": {
      "post": {
        "operationId": "azclce_score",
        "summary": "Jaccard triple / pairwise / CLCE+.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azclce\", op: \"score\" }. CLCE detects inconsistency, not intent. Type D is a label, not a finding of malice. Threshold 0.7 is advisory. AZCoherence (AZC-0.1) is a separate peer product (second-pass coherence). Not a replacement.",
        "tags": [
          "azclce",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azclce/classify": {
      "post": {
        "operationId": "azclce_classify",
        "summary": "Mismatch types. Type D is a label only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azclce\", op: \"classify\" }. CLCE detects inconsistency, not intent. Type D is a label, not a finding of malice. Threshold 0.7 is advisory. AZCoherence (AZC-0.1) is a separate peer product (second-pass coherence). Not a replacement.",
        "tags": [
          "azclce",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azclce/gate": {
      "post": {
        "operationId": "azclce_gate",
        "summary": "Pass iff triple ≥ min (default 0.7). Advisory.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azclce\", op: \"gate\" }. CLCE detects inconsistency, not intent. Type D is a label, not a finding of malice. Threshold 0.7 is advisory. AZCoherence (AZC-0.1) is a separate peer product (second-pass coherence). Not a replacement.",
        "tags": [
          "azclce",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azclce/doctor": {
      "get": {
        "operationId": "azclce_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azclce\", op: \"doctor\" }. CLCE detects inconsistency, not intent. Type D is a label, not a finding of malice. Threshold 0.7 is advisory. AZCoherence (AZC-0.1) is a separate peer product (second-pass coherence). Not a replacement.",
        "tags": [
          "azclce",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azclce/skill": {
      "get": {
        "operationId": "azclce_skill",
        "summary": "Return AZ-CLCE skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azclce\", op: \"skill\" }. CLCE detects inconsistency, not intent. Type D is a label, not a finding of malice. Threshold 0.7 is advisory. AZCoherence (AZC-0.1) is a separate peer product (second-pass coherence). Not a replacement.",
        "tags": [
          "azclce",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/ark/health": {
      "get": {
        "operationId": "ark_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"ark\", op: \"health\" }. The ARK is not a kernel. Hosted API never unlocks or encrypts with a passphrase and never stores vaults. Sweep is Mode E heuristics only.",
        "tags": [
          "ark",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/ark/sweep": {
      "post": {
        "operationId": "ark_sweep",
        "summary": "Mode E heuristics only (PE/ELF/Mach-O, powershell -enc, curl|sh). No clamscan. Payload is not stored.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"ark\", op: \"sweep\" }. The ARK is not a kernel. Hosted API never unlocks or encrypts with a passphrase and never stores vaults. Sweep is Mode E heuristics only.",
        "tags": [
          "ark",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/ark/levels": {
      "get": {
        "operationId": "ark_levels",
        "summary": "Auto-lock seconds and decoy counts. Behavior, not cryptography.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"ark\", op: \"levels\" }. The ARK is not a kernel. Hosted API never unlocks or encrypts with a passphrase and never stores vaults. Sweep is Mode E heuristics only.",
        "tags": [
          "ark",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/ark/doctor": {
      "get": {
        "operationId": "ark_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"ark\", op: \"doctor\" }. The ARK is not a kernel. Hosted API never unlocks or encrypts with a passphrase and never stores vaults. Sweep is Mode E heuristics only.",
        "tags": [
          "ark",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/ark/skill": {
      "get": {
        "operationId": "ark_skill",
        "summary": "Return The ARK skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"ark\", op: \"skill\" }. The ARK is not a kernel. Hosted API never unlocks or encrypts with a passphrase and never stores vaults. Sweep is Mode E heuristics only.",
        "tags": [
          "ark",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/guide": {
      "post": {
        "operationId": "azai_guide",
        "summary": "Adaptive AZAI Guide. Lamb Lens first (Service → Clarity → Peace), then corpus/library. Prefer this for questions. Not a chat blend.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"guide\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/learner_guide": {
      "post": {
        "operationId": "azai_learner_guide",
        "summary": "Alias of guide (human UI learner_guide call).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"learner_guide\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/ask": {
      "post": {
        "operationId": "azai_ask",
        "summary": "Alias of guide for MCP ask-shaped calls.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"ask\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/lamb-check": {
      "post": {
        "operationId": "azai_lamb_check",
        "summary": "Run Lamb Lens (Service → Clarity → Peace) on {text}. No provider call.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"lamb-check\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/lamb_check": {
      "post": {
        "operationId": "azai_lamb_check",
        "summary": "Alias of lamb-check for MCP azai_lamb_check.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"lamb_check\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/models": {
      "get": {
        "operationId": "azai_models",
        "summary": "Protocol-mirror model list metadata only. Not a blend. Not a chat runner.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"models\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/health": {
      "get": {
        "operationId": "azai_health",
        "summary": "Liveness. Protocol mirror. Not a provider proxy.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"health\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/doctor": {
      "get": {
        "operationId": "azai_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"doctor\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/engine_status": {
      "post": {
        "operationId": "azai_engine_status",
        "summary": "Show the active AZAI engine. Mesh when a measured mesh is answering. Ollama only as fallback. Absent engines refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"engine_status\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/conversation": {
      "post": {
        "operationId": "azai_conversation",
        "summary": "AZAI chat turn. Ollama answers only when it is the engine. Mesh is not claimed while Ollama answers.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"conversation\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/agent": {
      "post": {
        "operationId": "azai_agent",
        "summary": "AZAI agent turn. Drafts only. Does not send mail or messages.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"agent\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/azclicker": {
      "post": {
        "operationId": "azai_azclicker",
        "summary": "AZclicker coding turn. A failed check stays failed. No captcha solver.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"azclicker\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/attach": {
      "post": {
        "operationId": "azai_attach",
        "summary": "Accept images, video, documents, archives, links, and other files. Scan and airgap before use.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"attach\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/crawl": {
      "post": {
        "operationId": "azai_crawl",
        "summary": "Crawl or index only when the person asks. Records what was fetched. Does not rewrite published papers.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"crawl\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/human_check": {
      "post": {
        "operationId": "azai_human_check",
        "summary": "Stop at a captcha or are-you-a-robot check and leave it to the person.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"human_check\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/cap7_lookup": {
      "post": {
        "operationId": "azai_cap7_lookup",
        "summary": "Cap-7 and .aziel names only. A found name is not the public site being up.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"cap7_lookup\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/score_gate": {
      "post": {
        "operationId": "azai_score_gate",
        "summary": "Triad, physics, math, and geometry scores can block a claim. A score is not a source.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"score_gate\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/corpus_note": {
      "post": {
        "operationId": "azai_corpus_note",
        "summary": "Keep a note beside a published paper. The published text is not rewritten.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"corpus_note\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/receipt_learn": {
      "post": {
        "operationId": "azai_receipt_learn",
        "summary": "Score and rank sealed receipts and keep their original usage order.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"receipt_learn\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/receipt_status": {
      "post": {
        "operationId": "azai_receipt_status",
        "summary": "Receipt present, chained, or missing. The body stays sealed.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"receipt_status\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azai/skill": {
      "get": {
        "operationId": "azai_skill",
        "summary": "Return AZAI skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azai\", op: \"skill\" }. AZAI is a standalone local core, not a new foundation model and not an Ollama identity. Ollama is optional SLOT. Hosted /v1 is Guide + Lamb check (Service → Clarity → Peace), NOT a proxy that spends the author's paid keys. Prefer op=guide for questions. skill/doctor are diagnostics. chat/blend/complete stay refuse. Jeeves is not sovereign.",
        "tags": [
          "azai",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/health": {
      "get": {
        "operationId": "spectrallock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"health\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/modes": {
      "get": {
        "operationId": "spectrallock_modes",
        "summary": "List live overlay modes (zero, tazel, vyrn, uv, rosetta, zen, chaos, balance, candle, indent, lemon). Wheel paint is separate from the spectral triad. Reports live pigment / restore-pigment plus leftover-bytes, revision-graph, universal recover, and handwriting metadata. Unredact / recover / handwriting are not FragGate door ops.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"modes\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/targets": {
      "get": {
        "operationId": "spectrallock_targets",
        "summary": "List ink/page targets. Same targets as Aziel Corpus Library OCR.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"targets\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/overlay": {
      "post": {
        "operationId": "spectrallock_overlay",
        "summary": "Simplified overlay preview. PNG b64 in, longest side capped at 256 px. Accepts inject true|false (ON = wheel-paint membership, not recovered pigment; OFF is gray of the same gate; zero ignores the switch). Reports tazel_inband_pct and vyrn_inband_pct. Not the pigment door and not the full Python pipeline.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"overlay\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/pigment": {
      "post": {
        "operationId": "spectrallock_pigment",
        "summary": "Restore lost pigment from a PNG where faded signal remains (listPigment / pigmentFromB64). Ops restore|estimate|refuse. Refuses SL-PIGMENT-GONE when the signal is gone. pigment_recovery is true on this path. 256 px preview.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"pigment\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/restore-pigment": {
      "post": {
        "operationId": "spectrallock_restore_pigment",
        "summary": "Alias of pigment. Restore lost pigment. Same engine as pigmentFromB64.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"restore-pigment\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/verify": {
      "post": {
        "operationId": "spectrallock_verify",
        "summary": "Recompute overlay metadata hash (mode/target/geometry). Not forensic. Not OCR-from-black-box.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"verify\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/doctor": {
      "get": {
        "operationId": "spectrallock_doctor",
        "summary": "Richer liveness: 256px preview, not a spectrometer. Wheel paint is separate from the triad. Restore lost pigment is LIVE. AMOE is not a live product. Inject ON is not pigment recovery. Unredact / recover / handwriting are not FragGate door ops.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"doctor\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/spectrallock/skill": {
      "get": {
        "operationId": "spectrallock_skill",
        "summary": "Return SpectralLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"spectrallock\", op: \"skill\" }. Hosted overlay is a 256px preview. SpectralLock 0.3.1. Wheel paint is a membership-tint plane separate from the spectral triad (Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485). Inject ON paints wheel membership, not recovered pigment. Restore lost pigment is LIVE on FragGate ops pigment and restore-pigment and refuses SL-PIGMENT-GONE when the faded signal is gone. AMOE is not a live product. Leftover-bytes recover, universal recover, and handwriting stay on the product Worker and are not FragGate door ops. UV is not a lamp. Balance/lemon/indent never invent marks.",
        "tags": [
          "spectrallock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbot/health": {
      "get": {
        "operationId": "azbot_health",
        "summary": "Liveness. Skill, not a model.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbot\", op: \"health\" }. AZBot is a skill, not a foundation model. Hosted /v1/skill returns markdown. Call aziel-runtime for the engines. Jeeves is not sovereign.",
        "tags": [
          "azbot",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbot/skill": {
      "get": {
        "operationId": "azbot_skill",
        "summary": "Return AZBot skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbot\", op: \"skill\" }. AZBot is a skill, not a foundation model. Hosted /v1/skill returns markdown. Call aziel-runtime for the engines. Jeeves is not sovereign.",
        "tags": [
          "azbot",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbot/route": {
      "post": {
        "operationId": "azbot_route",
        "summary": "Route a request onto a catalog slug/op. Skill, not a model.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbot\", op: \"route\" }. AZBot is a skill, not a foundation model. Hosted /v1/skill returns markdown. Call aziel-runtime for the engines. Jeeves is not sovereign.",
        "tags": [
          "azbot",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbot/example": {
      "get": {
        "operationId": "azbot_example",
        "summary": "Sample AZBot route payload. Skill, not a model.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbot\", op: \"example\" }. AZBot is a skill, not a foundation model. Hosted /v1/skill returns markdown. Call aziel-runtime for the engines. Jeeves is not sovereign.",
        "tags": [
          "azbot",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbot/doctor": {
      "get": {
        "operationId": "azbot_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbot\", op: \"doctor\" }. AZBot is a skill, not a foundation model. Hosted /v1/skill returns markdown. Call aziel-runtime for the engines. Jeeves is not sovereign.",
        "tags": [
          "azbot",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/employeelock/health": {
      "get": {
        "operationId": "employeelock_health",
        "summary": "Liveness. Does not increment download KV. Hosted never stores xlsx.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"employeelock\", op: \"health\" }. 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.",
        "tags": [
          "employeelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/employeelock/append-preview": {
      "post": {
        "operationId": "employeelock_append_preview",
        "summary": "Hash a proposed LOG row without writing a file. Hosted never stores xlsx.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"employeelock\", op: \"append-preview\" }. 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.",
        "tags": [
          "employeelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/employeelock/verify-canonical": {
      "post": {
        "operationId": "employeelock_verify_canonical",
        "summary": "Recompute SHA-256 of posted canonical JSON. Not a truth score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"employeelock\", op: \"verify-canonical\" }. 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.",
        "tags": [
          "employeelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/employeelock/doctor": {
      "get": {
        "operationId": "employeelock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"employeelock\", op: \"doctor\" }. 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.",
        "tags": [
          "employeelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/employeelock/skill": {
      "get": {
        "operationId": "employeelock_skill",
        "summary": "Return EmployeeLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"employeelock\", op: \"skill\" }. 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.",
        "tags": [
          "employeelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/foldlock/health": {
      "get": {
        "operationId": "foldlock_health",
        "summary": "Liveness. Does not increment download KV. Not zip.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"foldlock\", op: \"health\" }. FoldLock is algorithmic tether-word suppression on UTF-8 text. Not zip. Hosted preview is not a general compressor. Ratios are receipts, not trophies. Short strings can grow.",
        "tags": [
          "foldlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/foldlock/fold-preview": {
      "post": {
        "operationId": "foldlock_fold_preview",
        "summary": "Small UTF-8 text in, receipt + FLD3 base64 out. Cap ~8KB. Not zip.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"foldlock\", op: \"fold-preview\" }. FoldLock is algorithmic tether-word suppression on UTF-8 text. Not zip. Hosted preview is not a general compressor. Ratios are receipts, not trophies. Short strings can grow.",
        "tags": [
          "foldlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/foldlock/unfold-preview": {
      "post": {
        "operationId": "foldlock_unfold_preview",
        "summary": "FLD3 base64 in, verified restore or error. Not zip.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"foldlock\", op: \"unfold-preview\" }. FoldLock is algorithmic tether-word suppression on UTF-8 text. Not zip. Hosted preview is not a general compressor. Ratios are receipts, not trophies. Short strings can grow.",
        "tags": [
          "foldlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/foldlock/pack-verify": {
      "post": {
        "operationId": "foldlock_pack_verify",
        "summary": "Verify the shipped FoldLock Aziel Corpus Library tip (SHA-256). Refuse on mismatch. Not the full live library. Not zip. Not hosted_store.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"foldlock\", op: \"pack-verify\" }. FoldLock is algorithmic tether-word suppression on UTF-8 text. Not zip. Hosted preview is not a general compressor. Ratios are receipts, not trophies. Short strings can grow.",
        "tags": [
          "foldlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/foldlock/doctor": {
      "get": {
        "operationId": "foldlock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"foldlock\", op: \"doctor\" }. FoldLock is algorithmic tether-word suppression on UTF-8 text. Not zip. Hosted preview is not a general compressor. Ratios are receipts, not trophies. Short strings can grow.",
        "tags": [
          "foldlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/foldlock/skill": {
      "get": {
        "operationId": "foldlock_skill",
        "summary": "Return FoldLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"foldlock\", op: \"skill\" }. FoldLock is algorithmic tether-word suppression on UTF-8 text. Not zip. Hosted preview is not a general compressor. Ratios are receipts, not trophies. Short strings can grow.",
        "tags": [
          "foldlock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/health": {
      "get": {
        "operationId": "whistlelock_health",
        "summary": "Liveness. Does not increment download KV. Hosted never holds whistle files.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"health\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/hash-preview": {
      "post": {
        "operationId": "whistlelock_hash_preview",
        "summary": "SHA-256 of posted bytes. Not stored. Hosted never holds whistle files.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"hash-preview\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/canon-preview": {
      "post": {
        "operationId": "whistlelock_canon_preview",
        "summary": "Hash a proposed ledger row. Not stored. Not a mailer.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"canon-preview\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/hash_put": {
      "post": {
        "operationId": "whistlelock_hash_put",
        "summary": "Put bytes into the isolate hash object store. No CDN. send/mail/release stay refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"hash_put\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/hash_get": {
      "post": {
        "operationId": "whistlelock_hash_get",
        "summary": "Get isolate-hash bytes by SHA-256. No public URL.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"hash_get\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/hash_stat": {
      "post": {
        "operationId": "whistlelock_hash_stat",
        "summary": "Stat an isolate-hash object. Not a mailer.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"hash_stat\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/doctor": {
      "get": {
        "operationId": "whistlelock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"doctor\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/whistlelock/skill": {
      "get": {
        "operationId": "whistlelock_skill",
        "summary": "Return WhistleLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"whistlelock\", op: \"skill\" }. WhistleLock is a local drop ledger + dead-man copy. Not a mailer. Hosted never holds whistle files. The operator moves released packets.",
        "tags": [
          "whistlelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/health": {
      "get": {
        "operationId": "trajectorylock_health",
        "summary": "Liveness. Does not increment download KV. Hosted never stores media. Not a certified instrument.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"health\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/example": {
      "get": {
        "operationId": "trajectorylock_example",
        "summary": "Synthetic small JSON case. Not a real case. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"example\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/analyze": {
      "post": {
        "operationId": "trajectorylock_analyze",
        "summary": "Small JSON case in, geometric result out. Cap size. NEVER store media. Not a certified forensic instrument.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"analyze\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/verify": {
      "post": {
        "operationId": "trajectorylock_verify",
        "summary": "Recompute result_sha256. Not a certified instrument.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"verify\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/schema": {
      "get": {
        "operationId": "trajectorylock_schema",
        "summary": "List required fields and observation types. Small JSON only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"schema\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/import_export": {
      "post": {
        "operationId": "trajectorylock_import_export",
        "summary": "Export or import a small JSON case. NEVER store media.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"import_export\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/hash_put": {
      "post": {
        "operationId": "trajectorylock_hash_put",
        "summary": "Put TrajectoryLock media bytes into the isolate hash store. No CDN. store_media stays refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"hash_put\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/hash_get": {
      "post": {
        "operationId": "trajectorylock_hash_get",
        "summary": "Get isolate-hash media bytes by SHA-256. No public URL.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"hash_get\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/hash_stat": {
      "post": {
        "operationId": "trajectorylock_hash_stat",
        "summary": "Stat an isolate-hash media object. Not a CDN.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"hash_stat\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/doctor": {
      "get": {
        "operationId": "trajectorylock_doctor",
        "summary": "Richer liveness: geometry only, no media CDN.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"doctor\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/trajectorylock/skill": {
      "get": {
        "operationId": "trajectorylock_skill",
        "summary": "Return TrajectoryLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"trajectorylock\", op: \"skill\" }. TrajectoryLock is a research prototype / auditable geometric test. Not a certified forensic instrument. Hosted never stores media. Match probability is P(match | declared model), not P(official account is true). Synthetic example results must never be represented as real-case findings.",
        "tags": [
          "trajectorylock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/health": {
      "get": {
        "operationId": "mialock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"health\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/skill": {
      "get": {
        "operationId": "mialock_skill",
        "summary": "Return M.I.A.Lock skill markdown. Does not increment download KV. Live Leaflet map is local CLI.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"skill\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/map": {
      "get": {
        "operationId": "mialock_map",
        "summary": "Sample casebook index stub. Live Leaflet map is local CLI mialock map. Not live tracking.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"map\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/search-options": {
      "get": {
        "operationId": "mialock_search_options",
        "summary": "List archive / Doe / cold-case search modes. Search plans only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"search-options\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/queries": {
      "post": {
        "operationId": "mialock_queries",
        "summary": "Render query families for a search mode. Search plans only. Doe leads ≠ ID.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"queries\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/doe-match": {
      "post": {
        "operationId": "mialock_doe_match",
        "summary": "Rank Doe / unidentified notices vs a named-subject descriptor. Compatibility leads only. Never an ID.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"doe-match\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/coverage": {
      "get": {
        "operationId": "mialock_coverage",
        "summary": "Adapter coverage report + heat cells. Heat = search intensity / negative evidence — not presence.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"coverage\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/example": {
      "get": {
        "operationId": "mialock_example",
        "summary": "Sample search / map payload shapes. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"example\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mialock/doctor": {
      "get": {
        "operationId": "mialock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mialock\", op: \"doctor\" }. M.I.A.Lock 0.1.1: per-person event map, archive/Doe cold-case search, Doe descriptor matching, uncertainty ellipses, coverage heat. Purpose-bound missing-person / authorized investigative use. Doe hits are compatibility leads only — never auto-ID. Coverage heat ≠ presence. No live tracking. Author Aziel Eliab.",
        "tags": [
          "mialock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/health": {
      "get": {
        "operationId": "azieltether_health",
        "summary": "Liveness when the counted Worker is live. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"health\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/skill": {
      "get": {
        "operationId": "azieltether_skill",
        "summary": "Return AzielTether skill markdown when hosted. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"skill\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/verify": {
      "post": {
        "operationId": "azieltether_verify",
        "summary": "Verify a hash-chain of downloaded package receipts. Not a VPN.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"verify\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/tip": {
      "post": {
        "operationId": "azieltether_tip",
        "summary": "Return the dual-chain tip hashes. Not a VPN. Not mesh-join.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"tip\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/dual-chain": {
      "post": {
        "operationId": "azieltether_dual_chain",
        "summary": "Detect dual-chain forks on posted receipts. Not a VPN.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"dual-chain\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/reconcile": {
      "post": {
        "operationId": "azieltether_reconcile",
        "summary": "Reconcile a posted hash-chain. Not arm. Not mesh-join.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"reconcile\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/pulse": {
      "post": {
        "operationId": "azieltether_pulse",
        "summary": "Liveness pulse over posted receipts. Not a VPN.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"pulse\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/peer-preview": {
      "post": {
        "operationId": "azieltether_peer_preview",
        "summary": "Preview peer receipt hashes. Not mesh-join.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"peer-preview\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azieltether/doctor": {
      "get": {
        "operationId": "azieltether_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azieltether\", op: \"doctor\" }. AzielTether 0.1.0: central × decentral survival mesh for downloaded Aziel Eliab software. Prefer central Worker when up; peer hash-chain sync when down; reconcile on restore. Public HTTPS boards stay mesh-free. Not a VPN. Counted Worker live. Author Aziel Eliab.",
        "tags": [
          "azieltether",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/health": {
      "get": {
        "operationId": "peacelock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"health\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/open": {
      "post": {
        "operationId": "peacelock_open",
        "summary": "Open a PeaceLock lattice. HARD_DUTY refuses. Transcript / counterfactual / motive stay ABSENT.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"open\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/seal": {
      "post": {
        "operationId": "peacelock_seal",
        "summary": "Seal chosen silence or chosen inaction onto the lattice. HARD_DUTY refuses. Does not invent a transcript.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"seal\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/break": {
      "post": {
        "operationId": "peacelock_break",
        "summary": "End a sealed silence / inaction period. Still no transcript.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"break\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/show": {
      "post": {
        "operationId": "peacelock_show",
        "summary": "Show the lattice without inventing ABSENT fields.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"show\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/verify": {
      "post": {
        "operationId": "peacelock_verify",
        "summary": "Verify hash-chain + ABSENT + HARD_DUTY invariants.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"verify\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/stamp": {
      "post": {
        "operationId": "peacelock_stamp",
        "summary": "Timestamped file-hash envelope. Hashes bytes only. Does not store files.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"stamp\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/upload_envelope": {
      "post": {
        "operationId": "peacelock_upload_envelope",
        "summary": "Same as stamp: timestamped file-hash envelope. Not a file store.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"upload_envelope\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/doctor": {
      "post": {
        "operationId": "peacelock_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"doctor\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/peacelock/skill": {
      "get": {
        "operationId": "peacelock_skill",
        "summary": "Return PeaceLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"peacelock\", op: \"skill\" }. PeaceLock (PL-WP-0.1) records chosen silence or chosen inaction as a hash-chained receipt. Transcript, counterfactual, and motive are ABSENT. HARD_DUTY refuses a silence/inaction receipt. Not a transcript, not a court, not TemporalLock. Author Aziel Eliab.",
        "tags": [
          "peacelock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/health": {
      "get": {
        "operationId": "azmail_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"health\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/airlock_classify": {
      "post": {
        "operationId": "azmail_airlock_classify",
        "summary": "Classify text with the APP 1.0 airlock. Advisory only. Not an MTA.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"airlock_classify\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/scrub": {
      "post": {
        "operationId": "azmail_scrub",
        "summary": "Scrub emails, secrets, PANs, and phones from text. Advisory only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"scrub\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/trust_score": {
      "post": {
        "operationId": "azmail_trust_score",
        "summary": "Advisory trust score (hard 0.75 cap). Not identity.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"trust_score\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mesh_post": {
      "post": {
        "operationId": "azmail_mesh_post",
        "summary": "Post to the AZMail anonymous mail ring. Refuses when the mail ring is off (product-local default). Strips identity keys.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mesh_post\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mesh_poll": {
      "post": {
        "operationId": "azmail_mesh_poll",
        "summary": "Poll the anonymous MCP mesh ring. Alias of listen.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mesh_poll\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mesh_listen": {
      "post": {
        "operationId": "azmail_mesh_listen",
        "summary": "Listen on the anonymous MCP mesh ring. Alias of poll.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mesh_listen\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mesh_enable": {
      "post": {
        "operationId": "azmail_mesh_enable",
        "summary": "Turn the AZMail anonymous mail ring on. Rate-limited. Mail ring default is off.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mesh_enable\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mesh_disable": {
      "post": {
        "operationId": "azmail_mesh_disable",
        "summary": "Turns the AZMail anonymous mail ring off. Product-local — not the QNM suite.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mesh_disable\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/keyword_alert_set": {
      "post": {
        "operationId": "azmail_keyword_alert_set",
        "summary": "Set fine-tuned keyword alerts for the anonymous ring.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"keyword_alert_set\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/keyword_alert_list": {
      "post": {
        "operationId": "azmail_keyword_alert_list",
        "summary": "List keyword alerts.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"keyword_alert_list\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/keyword_alert_check": {
      "post": {
        "operationId": "azmail_keyword_alert_check",
        "summary": "Check text against keyword alerts without posting.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"keyword_alert_check\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/classify": {
      "post": {
        "operationId": "azmail_classify",
        "summary": "UI alias of airlock_classify. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"classify\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mailbox_open": {
      "post": {
        "operationId": "azmail_mailbox_open",
        "summary": "Open a local isolate mailbox. Not SMTP. Not a public MTA.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mailbox_open\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/notice_post": {
      "post": {
        "operationId": "azmail_notice_post",
        "summary": "Agent→user notice sealed to the user key after scan and airgap. Not SMTP.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"notice_post\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mail_post": {
      "post": {
        "operationId": "azmail_mail_post",
        "summary": "Scan body, links, and files, then seal AZMail-to-AZMail to the user key. Ordinary SMTP is normal MIME, not end-to-end.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mail_post\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mail_send_base": {
      "post": {
        "operationId": "azmail_mail_send_base",
        "summary": "Mail send base on the existing AZMail transport. Public smtp_send stays refused. Nothing is sent until a real transport accepts it.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mail_send_base\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/inbox_pull": {
      "post": {
        "operationId": "azmail_inbox_pull",
        "summary": "Pull ciphertext sealed to the user key. Open only with the caller private key, which is not stored.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"inbox_pull\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/ack": {
      "post": {
        "operationId": "azmail_ack",
        "summary": "Acknowledge a local mailbox item. Not a release valve.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"ack\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/verify_receipt": {
      "post": {
        "operationId": "azmail_verify_receipt",
        "summary": "Recompute a mailbox receipt hash. Not SMTP.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"verify_receipt\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/import_export": {
      "post": {
        "operationId": "azmail_import_export",
        "summary": "Client-held mailbox JSON. Hosted does not become an MTA.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"import_export\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/transport_status": {
      "post": {
        "operationId": "azmail_transport_status",
        "summary": "Scan LIVE-when-scanner-present. Airgap present. Mailbox encrypted-to-user. External SMTP is not end-to-end. Public smtp_send stays stub.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"transport_status\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/doctor": {
      "get": {
        "operationId": "azmail_doctor",
        "summary": "Richer liveness: transport refuse, mailbox ops, mesh default off. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"doctor\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/mailbox": {
      "post": {
        "operationId": "azmail_mailbox",
        "summary": "UI alias of mailbox_open.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"mailbox\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/notice": {
      "post": {
        "operationId": "azmail_notice",
        "summary": "UI alias of notice_post.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"notice\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/inbox": {
      "post": {
        "operationId": "azmail_inbox",
        "summary": "UI alias of inbox_pull.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"inbox\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/malware_sweep": {
      "post": {
        "operationId": "azmail_malware_sweep",
        "summary": "Same scanner as mailbox airgap. Live only when ClamAV is present.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"malware_sweep\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/airgap": {
      "post": {
        "operationId": "azmail_airgap",
        "summary": "Dirty-side scan before a sealed object. Absent scanner is not clean.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"airgap\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azmail/skill": {
      "get": {
        "operationId": "azmail_skill",
        "summary": "Return AZMail skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azmail\", op: \"skill\" }. AZMail (APP 1.0): advisory airlock, user-key mailbox, and anonymous mesh. Scan is LIVE-when-scanner-present. Airgap is present. Mailbox is encrypted-to-user. External SMTP is not end-to-end. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azmail\", op }). Not a full internet MTA. Mesh default off. Public SMTP / deanonymize / harvest stay stub. Not Field 1.0. Not a Proton clone claim. Author Aziel Eliab.",
        "tags": [
          "azmail",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/health": {
      "get": {
        "operationId": "azbrowser_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"health\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/ethical_search": {
      "post": {
        "operationId": "azbrowser_ethical_search",
        "summary": "Lamb Lens ethical search. Cite. Refuse harmful harvest. Never invent visit results.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"ethical_search\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/lamb_lens_search": {
      "post": {
        "operationId": "azbrowser_lamb_lens_search",
        "summary": "Alias of ethical_search. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"lamb_lens_search\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/navigate": {
      "post": {
        "operationId": "azbrowser_navigate",
        "summary": "Sandboxed advisory fetch/metadata. No raw HTML. No Chromium exec.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"navigate\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/airlock_ingest": {
      "post": {
        "operationId": "azbrowser_airlock_ingest",
        "summary": "Classify a URL or text before ingest. Refuses malware / harvest payloads.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"airlock_ingest\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/tab_open": {
      "post": {
        "operationId": "azbrowser_tab_open",
        "summary": "Open a session tab (in-memory or KV). Title is host metadata, not a claimed visit.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"tab_open\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/tab_list": {
      "post": {
        "operationId": "azbrowser_tab_list",
        "summary": "List session tabs.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"tab_list\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/receipt_list": {
      "post": {
        "operationId": "azbrowser_receipt_list",
        "summary": "List hash-chained AZBrowser receipts.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"receipt_list\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/verify": {
      "post": {
        "operationId": "azbrowser_verify",
        "summary": "Verify an AZBrowser receipt hash.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"verify\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/receipt_verify": {
      "post": {
        "operationId": "azbrowser_receipt_verify",
        "summary": "Alias of verify.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"receipt_verify\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/sandbox_status": {
      "post": {
        "operationId": "azbrowser_sandbox_status",
        "summary": "Honest Workers Browser Rendering status. Chromium stays DEFERRED unless bound.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"sandbox_status\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/sandbox_render": {
      "post": {
        "operationId": "azbrowser_sandbox_render",
        "summary": "Binding-gated Browser Rendering. Refuses private/onion/Tor. Does not fake Chromium.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"sandbox_render\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/doctor": {
      "get": {
        "operationId": "azbrowser_doctor",
        "summary": "Richer liveness: sandbox/Browser Rendering status. Chromium stays DEFERRED unbound.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"doctor\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/airlock": {
      "post": {
        "operationId": "azbrowser_airlock",
        "summary": "UI alias of airlock_ingest. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"airlock\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/home": {
      "post": {
        "operationId": "azbrowser_home",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"home\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/vpn": {
      "post": {
        "operationId": "azbrowser_vpn",
        "summary": "Auto-bind AZVPN concentrator session. AZBrowser is not a VPN product. HTTPS/WS REAL; WireGuard/OpenVPN SLOT.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"vpn\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/malware_sweep": {
      "post": {
        "operationId": "azbrowser_malware_sweep",
        "summary": "Scan before use. Live only with the AZMail scanner. Never a mock clean.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"malware_sweep\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/airgap": {
      "post": {
        "operationId": "azbrowser_airgap",
        "summary": "Airgap a page or file before use. Same honesty as AZMail.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"airgap\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/jeeves_site": {
      "post": {
        "operationId": "azbrowser_jeeves_site",
        "summary": "Jeeves may build or change a page only when the person asks. Jeeves is not sovereign.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"jeeves_site\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/human_check": {
      "post": {
        "operationId": "azbrowser_human_check",
        "summary": "Stop at a captcha or are-you-a-robot check. No solver.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"human_check\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azbrowser/skill": {
      "get": {
        "operationId": "azbrowser_skill",
        "summary": "Return AZBrowser skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azbrowser\", op: \"skill\" }. AZBrowser (AZB-1.0): Lamb Lens ethical research browser. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azbrowser\", op }). Cite; refuse harmful harvest; never invent visit results. Not Chromium. tor_exit / phoenix_wipe / unrestricted proxy stay stub. AZNet is separate software (same FragGate door) — pairing is order/token only, not a shared Phase-1 UI. Author Aziel Eliab.",
        "tags": [
          "azbrowser",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/health": {
      "get": {
        "operationId": "aznet_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"health\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/pair_status": {
      "post": {
        "operationId": "aznet_pair_status",
        "summary": "Report functional-order AZBrowser pair state (order/token; hash continuity / side-net). Pairing ≠ tunnel. Both token and flag required for garden / mesh ops.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"pair_status\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/garden_list": {
      "post": {
        "operationId": "aznet_garden_list",
        "summary": "List the custodian garden of hash refs. Refuses without AZBrowser pair. Never hosts payloads.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"garden_list\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/stamp": {
      "post": {
        "operationId": "aznet_stamp",
        "summary": "Stamp a hash ref into the garden. Hashes then discards bytes. Never hosts payloads.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"stamp\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/verify_hash": {
      "post": {
        "operationId": "aznet_verify_hash",
        "summary": "Verify a garden hash ref. Integrity mismatch isolates. Never hosts payloads.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"verify_hash\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/memorial_list": {
      "post": {
        "operationId": "aznet_memorial_list",
        "summary": "List the memorial ledger. Terminal / append-only. Requires AZBrowser pair.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"memorial_list\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/memorial_append": {
      "post": {
        "operationId": "aznet_memorial_append",
        "summary": "Append a terminal memorial for a garden hash. No rewrite. Requires AZBrowser pair.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"memorial_append\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/receipt_verify": {
      "post": {
        "operationId": "aznet_receipt_verify",
        "summary": "Verify TemporalLock-style receipt + StaticClock timeslate fields.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"receipt_verify\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/name_claim": {
      "post": {
        "operationId": "aznet_name_claim",
        "summary": "Claim a signed .aziel name on the FED-MESH relay. confirm true anchors ChainLock. Not ICANN. Not a payload host.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"name_claim\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/name_read": {
      "post": {
        "operationId": "aznet_name_read",
        "summary": "Read a .aziel name record or the names held by a handle.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"name_read\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/name_resolve": {
      "post": {
        "operationId": "aznet_name_resolve",
        "summary": "Resolve a .aziel name to its target. Mesh name plane, not a second internet.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"name_resolve\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/slot_read": {
      "post": {
        "operationId": "aznet_slot_read",
        "summary": "Read reserved hub-mirror slots and friendly-name count for a handle.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"slot_read\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/witness": {
      "post": {
        "operationId": "aznet_witness",
        "summary": "Witness a name statement. confirm true anchors ChainLock.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"witness\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/witness_read": {
      "post": {
        "operationId": "aznet_witness_read",
        "summary": "Read witnesses for a name statement hash.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"witness_read\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/doctor": {
      "post": {
        "operationId": "aznet_doctor",
        "summary": "UI alias of health. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"doctor\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/pair": {
      "post": {
        "operationId": "aznet_pair",
        "summary": "UI alias of pair_status. Reports functional-order pairing; does not invent a tunnel or unlock.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"pair\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aznet/skill": {
      "get": {
        "operationId": "aznet_skill",
        "summary": "Return AZNet skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aznet\", op: \"skill\" }. AZNet (AZN-WP-0.1): silent verification side-net on the Cap-7 and .aziel name plane. 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 for name and garden ops. Device-to-device packet carriers (LAN, Wi-Fi, Bluetooth, RF, photon flashes) stay NOT-READY / FG-STUB. Never hosts payloads. Author Aziel Eliab.",
        "tags": [
          "aznet",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/health": {
      "get": {
        "operationId": "azhub_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"health\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/region_list": {
      "post": {
        "operationId": "azhub_region_list",
        "summary": "List Blank Key regions. Hub does not interpret meaning.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"region_list\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/place_module": {
      "post": {
        "operationId": "azhub_place_module",
        "summary": "Place a module in a region without interpretation.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"place_module\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/remove_module": {
      "post": {
        "operationId": "azhub_remove_module",
        "summary": "Remove a placed module. Does not interpret.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"remove_module\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/tether_declare": {
      "post": {
        "operationId": "azhub_tether_declare",
        "summary": "Declare a tether between modules. Link only, not meaning.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"tether_declare\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/tether_cut": {
      "post": {
        "operationId": "azhub_tether_cut",
        "summary": "Cut a declared tether.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"tether_cut\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/tether_list": {
      "post": {
        "operationId": "azhub_tether_list",
        "summary": "List declared tethers.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"tether_list\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/blank_key_status": {
      "post": {
        "operationId": "azhub_blank_key_status",
        "summary": "Blank Key status. Interprets nothing. Auto-unlock / completeness stay refused.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"blank_key_status\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/list_modules": {
      "post": {
        "operationId": "azhub_list_modules",
        "summary": "UI alias of region_list. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"list_modules\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/place": {
      "post": {
        "operationId": "azhub_place",
        "summary": "UI alias of place_module. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"place\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azhub/skill": {
      "get": {
        "operationId": "azhub_skill",
        "summary": "Return AZHub skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azhub\", op: \"skill\" }. AZHub (AIH-WP-1.0): neutral spatial container / Blank Key. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azhub\", op }). Does not interpret meaning. Refuses auto-unlock and completeness events. AZInterface is sibling software under the same FragGate door. scorch_remote / ranking stay stub. Author Aziel Eliab.",
        "tags": [
          "azhub",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/health": {
      "get": {
        "operationId": "azinterface_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"health\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/genesis_status": {
      "post": {
        "operationId": "azinterface_genesis_status",
        "summary": "Genesis seal + pre-locked page cycles.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"genesis_status\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/site_state_get": {
      "post": {
        "operationId": "azinterface_site_state_get",
        "summary": "Read custodial site state.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"site_state_get\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/site_state_set": {
      "post": {
        "operationId": "azinterface_site_state_set",
        "summary": "Advance one pre-locked page cycle. Skip / auto-unlock refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"site_state_set\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/integrity_check": {
      "post": {
        "operationId": "azinterface_integrity_check",
        "summary": "Record integrity. Does not auto-unlock to ON.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"integrity_check\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/witness_list": {
      "post": {
        "operationId": "azinterface_witness_list",
        "summary": "List custodial witnesses. Not a ranking.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"witness_list\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/page_cycle_status": {
      "post": {
        "operationId": "azinterface_page_cycle_status",
        "summary": "Pre-locked cycles: OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"page_cycle_status\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/genesis_boot": {
      "post": {
        "operationId": "azinterface_genesis_boot",
        "summary": "UI alias of genesis_status. Genesis is already sealed; no invented boot.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"genesis_boot\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/hold": {
      "post": {
        "operationId": "azinterface_hold",
        "summary": "UI alias of page_cycle_status. Reports the current pre-locked cycle.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"hold\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/mesh_radios": {
      "post": {
        "operationId": "azinterface_mesh_radios",
        "summary": "Mesh radios tile. confirm true calls FragGate mesh enable. MESH_RADIOS=off stays MESH-OFF. GET never enables.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"mesh_radios\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azinterface/skill": {
      "get": {
        "operationId": "azinterface_skill",
        "summary": "Return AZInterface skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azinterface\", op: \"skill\" }. AZInterface (AIH-WP-1.0): the suite shell that opens Softwares on this computer, and a custodial operating environment. Reached only via FragGate (POST /v1/fraggate/call { slug: \"azinterface\", op }). Page cycles are pre-locked (OFF / integrity / ON / FULL SHUTDOWN / MEMORIAL). AZHub is sibling software under the same FragGate door. Package version 0.1.0. Local pipeline_arch, withdraw, scorch_local, and pair_* stay on the package. scorch_remote / auto_unlock / ranking / completeness_detect stay stub. Author Aziel Eliab.",
        "tags": [
          "azinterface",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/health": {
      "get": {
        "operationId": "aziel-corpus_health",
        "summary": "Liveness. Does not increment download KV. Public MASTER.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"health\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/search": {
      "get": {
        "operationId": "aziel-corpus_search",
        "summary": "Search published corpus records. Anonymous GET.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"search\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/example": {
      "get": {
        "operationId": "aziel-corpus_example",
        "summary": "Sample search payload. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"example\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/skill": {
      "get": {
        "operationId": "aziel-corpus_skill",
        "summary": "Return Aziel Digital Library skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"skill\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/review": {
      "post": {
        "operationId": "aziel-corpus_review",
        "summary": "Rules review over posted or sample MASTER JSON. Not live D1 ingest.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"review\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/score": {
      "post": {
        "operationId": "aziel-corpus_score",
        "summary": "Deterministic field completeness + sample overlap. Not a court score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"score\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/verify-backfill": {
      "post": {
        "operationId": "aziel-corpus_verify_backfill",
        "summary": "Recompute canonical hashes against the bundled sample MASTER.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"verify-backfill\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/verify-geo": {
      "post": {
        "operationId": "aziel-corpus_verify_geo",
        "summary": "Sample gazetteer check (Florence). Not a live geocoder.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"verify-geo\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/document-chain": {
      "post": {
        "operationId": "aziel-corpus_document_chain",
        "summary": "Client-held document hash chain. Hosted does not store the library.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"document-chain\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/import_export": {
      "post": {
        "operationId": "aziel-corpus_import_export",
        "summary": "Client-held library JSON. Hosted does not persist MASTER.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"import_export\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/tip-pack": {
      "post": {
        "operationId": "aziel-corpus_tip_pack",
        "summary": "Open the FoldLock-packed library tip (index cite + sample artifacts + About Aziel). Not the full live library on azielcorpuslibrary.net.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"tip-pack\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/jeeves": {
      "post": {
        "operationId": "aziel-corpus_jeeves",
        "summary": "Isolate-safe Ask Jeeves over sample MASTER / CORPUS_D1 records. Corpus easter-egg bitmaps are cited from the corpus Worker public paths and are not hosted here. Refuses secrets and triad-tamper. Not AZAI blend.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"jeeves\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/media-run": {
      "post": {
        "operationId": "aziel-corpus_media_run",
        "summary": "Binding-gated hash-chained media job. Whisper/vision only when Workers AI is bound. Does not invent transcripts.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"media-run\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/aziel-corpus/doctor": {
      "get": {
        "operationId": "aziel-corpus_doctor",
        "summary": "Richer liveness: native-vs-proxy labels, binding-gated Whisper/OCR. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"aziel-corpus\", op: \"doctor\" }. Aziel Digital Library v2.6.2. Public MASTER. Anonymous GET is read-only. Signed-in accounts may ingest. Not a 26-card software index. Author Aziel Eliab only.",
        "tags": [
          "aziel-corpus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/health": {
      "get": {
        "operationId": "4dmap_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"health\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/pin": {
      "post": {
        "operationId": "4dmap_pin",
        "summary": "Pin a declared mark (product 0.2 verb). Opens a card when card_id is omitted.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"pin\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/span": {
      "post": {
        "operationId": "4dmap_span",
        "summary": "Span two axes on one card, or two existing cards (Δ).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"span\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/stack": {
      "post": {
        "operationId": "4dmap_stack",
        "summary": "Stack declared cards onto Γ. Does not invent cards.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"stack\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/gap": {
      "post": {
        "operationId": "4dmap_gap",
        "summary": "Record a declared Δ gap. Not a truth score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"gap\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/fork": {
      "post": {
        "operationId": "4dmap_fork",
        "summary": "Keep a sibling fork of a declared card. No winner.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"fork\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/walk": {
      "post": {
        "operationId": "4dmap_walk",
        "summary": "Walk card_ids or a tip prev_hash chain. Not a sequential gate.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"walk\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/lens": {
      "post": {
        "operationId": "4dmap_lens",
        "summary": "Silent lens over declared cards. Empty hit is Π-EMPTY.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"lens\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/class": {
      "post": {
        "operationId": "4dmap_class",
        "summary": "Pin a declared Π class. Empty label is Π-EMPTY.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"class\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/cohort": {
      "post": {
        "operationId": "4dmap_cohort",
        "summary": "Pin a declared Π cohort of card ids.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"cohort\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/absence": {
      "post": {
        "operationId": "4dmap_absence",
        "summary": "Absence lens. Silent miss is Π-EMPTY.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"absence\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/cap": {
      "post": {
        "operationId": "4dmap_cap",
        "summary": "ZionPattern confidence cap 75%. Not P(the world is true).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"cap\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/join": {
      "post": {
        "operationId": "4dmap_join",
        "summary": "Join two existing cards. Π→T backdate refuses.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"join\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/list": {
      "post": {
        "operationId": "4dmap_list",
        "summary": "List inspection cards, walks, and kept forks.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"list\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/example": {
      "post": {
        "operationId": "4dmap_example",
        "summary": "Synthetic T pin. Never a real-case finding.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"example\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_new": {
      "post": {
        "operationId": "4dmap_card_new",
        "summary": "Open a four-axis inspection card (T/Δ/Γ/Π). Not a sequential gate.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_new\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_pin": {
      "post": {
        "operationId": "4dmap_card_pin",
        "summary": "Pin a declared mark onto one axis. Invent-mark refuses.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_pin\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_span": {
      "post": {
        "operationId": "4dmap_card_span",
        "summary": "Span two axes that already have pins. Does not invent marks.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_span\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_join": {
      "post": {
        "operationId": "4dmap_card_join",
        "summary": "Join two existing cards. FragGate claims cite join type.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_join\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_walk": {
      "post": {
        "operationId": "4dmap_card_walk",
        "summary": "Walk an ordered list of cards. ChainLock may stamp the walk hash.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_walk\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_list": {
      "post": {
        "operationId": "4dmap_card_list",
        "summary": "List inspection cards and walks in this isolate.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_list\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/verify_hash": {
      "post": {
        "operationId": "4dmap_verify_hash",
        "summary": "Recompute a card or walk hash. Not a truth score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"verify_hash\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/frame_status": {
      "post": {
        "operationId": "4dmap_frame_status",
        "summary": "Read the inspection frame (T/Δ/Γ/Π). Not a sequential gate and not an extra door.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"frame_status\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/axis_describe": {
      "post": {
        "operationId": "4dmap_axis_describe",
        "summary": "Describe one axis and its neighbors. Axes are simultaneous.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"axis_describe\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/walk_trace": {
      "post": {
        "operationId": "4dmap_walk_trace",
        "summary": "Trace a declared walk. 4DMap is not a sequential gate.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"walk_trace\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_export": {
      "post": {
        "operationId": "4dmap_card_export",
        "summary": "Export a declared card or the isolate snapshot. Hash-closed.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_export\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/card_import": {
      "post": {
        "operationId": "4dmap_card_import",
        "summary": "Import a previously exported card. Hash mismatch and invent-mark refuse.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"card_import\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/verify_chain": {
      "post": {
        "operationId": "4dmap_verify_chain",
        "summary": "Verify card prev_hash or walk card-hash chain. Not a truth score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"verify_chain\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/neighbor_cite": {
      "post": {
        "operationId": "4dmap_neighbor_cite",
        "summary": "Cite a neighbor engine on a declared card (join type neighbor or cite).",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"neighbor_cite\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/frame": {
      "post": {
        "operationId": "4dmap_frame",
        "summary": "UI alias of frame_status. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"frame\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/axis": {
      "post": {
        "operationId": "4dmap_axis",
        "summary": "UI alias of axis_describe. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"axis\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/trace": {
      "post": {
        "operationId": "4dmap_trace",
        "summary": "UI alias of walk_trace. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"trace\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/export": {
      "post": {
        "operationId": "4dmap_export",
        "summary": "UI alias of card_export. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"export\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/import": {
      "post": {
        "operationId": "4dmap_import",
        "summary": "UI alias of card_import. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"import\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/neighbor": {
      "post": {
        "operationId": "4dmap_neighbor",
        "summary": "UI alias of neighbor_cite. Same FragGate backend as the Worker UI button.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"neighbor\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/memory_cite": {
      "post": {
        "operationId": "4dmap_memory_cite",
        "summary": "Optional AKM-TRIAD-1.0 fabric cite of a 4DM-CARD. Card hash unchanged. Posterior is not truth.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"memory_cite\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/memory_observe": {
      "post": {
        "operationId": "4dmap_memory_observe",
        "summary": "Build an observation packet for FragGate memory_observe. Not forwarded from this op. Not a second door.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"memory_observe\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/library_pin": {
      "post": {
        "operationId": "4dmap_library_pin",
        "summary": "Pin a 4DM-PIN-FRAME from paper date, event, and lat/lon or gazetteer id.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"library_pin\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/plot": {
      "post": {
        "operationId": "4dmap_plot",
        "summary": "Inspection plot of lattice pins. REAL and MOCK stay labeled.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"plot\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/possibility": {
      "post": {
        "operationId": "4dmap_possibility",
        "summary": "Labeled time×geo possibility and cited bayesian input. They stay separate numbers.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"possibility\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/pattern_recall": {
      "post": {
        "operationId": "4dmap_pattern_recall",
        "summary": "Count recurring feature hashes on the hashchain lattice.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"pattern_recall\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/lattice_tip": {
      "post": {
        "operationId": "4dmap_lattice_tip",
        "summary": "List append-only lattice tips.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"lattice_tip\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/poison_refuse": {
      "post": {
        "operationId": "4dmap_poison_refuse",
        "summary": "Append a refuse-set card. Feature hash only.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"poison_refuse\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_status": {
      "post": {
        "operationId": "4dmap_news_status",
        "summary": "Read standalone AZNews and the 4DMap join. An empty source stays refused. The global live flag stays false.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_status\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_pin": {
      "post": {
        "operationId": "4dmap_news_pin",
        "summary": "Land a news item as a 4DMap pin (date, event, and place). Refuses AZNEWS-SOURCE-ABSENT when no item was fetched or supplied.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_pin\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_open": {
      "post": {
        "operationId": "4dmap_news_open",
        "summary": "Open the news item that matches a 4DMap pin. Refuses AZNEWS-SOURCE-ABSENT when no item is stored.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_open\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_ingest": {
      "post": {
        "operationId": "4dmap_news_ingest",
        "summary": "Standalone AZNews store. Wording, image hash, and score go on both hash chains. Does not pin the map.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_ingest\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_sources": {
      "post": {
        "operationId": "4dmap_news_sources",
        "summary": "Press Gazette English-language top 50. Configured outlets stay not live until a fetch stores an item.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_sources\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_weather": {
      "post": {
        "operationId": "4dmap_news_weather",
        "summary": "Open-Meteo observations by UN M49 region. A missing observation is a gap. Weather is not live globally unless every region was fetched.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_weather\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/news_black_swan": {
      "post": {
        "operationId": "4dmap_news_black_swan",
        "summary": "Cited historical black-swan rows. A row with a date can pin on 4DMap. A missing day stays unpinned.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"news_black_swan\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/ingest_pin": {
      "post": {
        "operationId": "4dmap_ingest_pin",
        "summary": "Alias of library_pin.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"ingest_pin\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/plot_pins": {
      "post": {
        "operationId": "4dmap_plot_pins",
        "summary": "Alias of plot.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"plot_pins\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/score_hooks": {
      "post": {
        "operationId": "4dmap_score_hooks",
        "summary": "Alias of possibility.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"score_hooks\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/possibility_cite": {
      "post": {
        "operationId": "4dmap_possibility_cite",
        "summary": "Alias of possibility.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"possibility_cite\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/lattice_tips": {
      "post": {
        "operationId": "4dmap_lattice_tips",
        "summary": "Alias of lattice_tip.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"lattice_tips\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/4dmap/skill": {
      "get": {
        "operationId": "4dmap_skill",
        "summary": "Return 4DMap skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"4dmap\", op: \"skill\" }. 4DMap (4DM-WP-1.0 / 0.3.0): four-axis inspection frame T/Δ/Γ/Π. Inspection frame after AZPIPE routes to isolated engines — not an extra door (domains_are_doors:false). Library pin frames and hashchain lattice memory are public door ops. AZNews can store an item on its own, or pin it here and open it from the map. An empty pin refuses AZNEWS-SOURCE-ABSENT. Not a sequential gate. Not a truth score. Not a Lumen panel. Not a globally live news product. Does not invent marks or backdate class. Neighbors TemporalLock / StaticClock / ChronoLock / TrajectoryLock / SpectralLock. FragGate claims cite join types. ChainLock may stamp walks. Author Aziel Eliab.",
        "tags": [
          "4dmap",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/health": {
      "get": {
        "operationId": "azcoherence_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"health\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/doctor": {
      "get": {
        "operationId": "azcoherence_doctor",
        "summary": "Richer liveness: coherence receipt, refuse list, AZ-CLCE neighbor. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"doctor\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/verify": {
      "post": {
        "operationId": "azcoherence_verify",
        "summary": "Recompute a posted AZCoherence receipt hash. Not a truth score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"verify\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/review_triad": {
      "post": {
        "operationId": "azcoherence_review_triad",
        "summary": "Review a posted triad (and optional alternate). Advisory. Never invents evidence.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"review_triad\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/alternate_score": {
      "post": {
        "operationId": "azcoherence_alternate_score",
        "summary": "Score the alternate path only. Does not invent a missing score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"alternate_score\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/coherence_check": {
      "post": {
        "operationId": "azcoherence_coherence_check",
        "summary": "Primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Structured receipt. Confidence ≠ truth.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"coherence_check\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/neutralize_hallucination": {
      "post": {
        "operationId": "azcoherence_neutralize_hallucination",
        "summary": "Advisory neutralize of a scoring hallucination. Does not invent evidence. Does not emit a truth score.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"neutralize_hallucination\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azcoherence/skill": {
      "get": {
        "operationId": "azcoherence_skill",
        "summary": "Return AZCoherence skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azcoherence\", op: \"skill\" }. AZCoherence (AZC-0.1): second-pass triad coherence reviewer. Peer AZ-CLCE detects R/D/P inconsistency; this engine reviews primary vs alternate → PASS / FLAG / NEUTRALIZE / REFUSE. Never invents evidence. Confidence ≠ truth. Neighbor of AKM-TRIAD fabric. Product cite https://github.com/AzielEliab/AZCoherence. FragGate only. Author Aziel Eliab.",
        "tags": [
          "azcoherence",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/health": {
      "get": {
        "operationId": "embryolock_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"health\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/doctor": {
      "post": {
        "operationId": "embryolock_doctor",
        "summary": "Cite vault posture + local-destructive boundary. Does not unlock.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"doctor\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/verify_hash": {
      "post": {
        "operationId": "embryolock_verify_hash",
        "summary": "Compare a digest to the published EmbryoLock SHA256HASH. Does not decrypt.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"verify_hash\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/verify-hash": {
      "post": {
        "operationId": "embryolock_verify_hash",
        "summary": "UI alias of verify_hash.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"verify-hash\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/policy": {
      "post": {
        "operationId": "embryolock_policy",
        "summary": "Cite destruction-over-recovery threat model. Not an unlock.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"policy\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/limitation": {
      "post": {
        "operationId": "embryolock_limitation",
        "summary": "Cite known limitations. Not an unlock.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"limitation\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/cite": {
      "post": {
        "operationId": "embryolock_cite",
        "summary": "UI alias of policy.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"cite\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/limitations": {
      "post": {
        "operationId": "embryolock_limitations",
        "summary": "UI alias of limitation.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"limitations\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/embryolock/skill": {
      "get": {
        "operationId": "embryolock_skill",
        "summary": "Return EmbryoLock skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"embryolock\", op: \"skill\" }. EmbryoLock: offline destructive-over-recovery vault (Stealth+ v1.1). Live cite/health/doctor/verify-hash/policy on FragGate. Wipe / scorch / unlock-after-fail stay local-only — Never execute on the public mesh. Vault/Custody with ARK (isolation label, not a second door). worker_home embryolock-download-tracker. This isolate does not run Argon2id or AES-GCM. Author Aziel Eliab.",
        "tags": [
          "embryolock",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/health": {
      "get": {
        "operationId": "azchat_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"health\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/doctor": {
      "get": {
        "operationId": "azchat_doctor",
        "summary": "UI alias of health. Mesh hop default off. Not SMTP.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"doctor\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/handle_new": {
      "post": {
        "operationId": "azchat_handle_new",
        "summary": "Mint a spendable AZChat handle. Rotate unlinks the token.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"handle_new\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/handle_rotate": {
      "post": {
        "operationId": "azchat_handle_rotate",
        "summary": "Rotate a handle. Prior token is unlinked.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"handle_rotate\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/room_open": {
      "post": {
        "operationId": "azchat_room_open",
        "summary": "Open an ephemeral two-handle room with TTL. Seals when expired.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"room_open\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/room_post": {
      "post": {
        "operationId": "azchat_room_post",
        "summary": "Post in a room as a live member handle. Stranger is 404.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"room_post\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/room_pull": {
      "post": {
        "operationId": "azchat_room_pull",
        "summary": "Pull room posts. Caller must be a member. Stranger pull 404.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"room_pull\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/bus_send": {
      "post": {
        "operationId": "azchat_bus_send",
        "summary": "Send an agent bus frame. Not AZMail. Mesh default off.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"bus_send\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/bus_poll": {
      "post": {
        "operationId": "azchat_bus_poll",
        "summary": "Poll the agent bus. Not a mesh hop.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"bus_poll\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/verify_receipt": {
      "post": {
        "operationId": "azchat_verify_receipt",
        "summary": "Recompute an AZChat receipt hash.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"verify_receipt\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/import_export": {
      "post": {
        "operationId": "azchat_import_export",
        "summary": "Client-held JSON. Hosted does not store a chat archive.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"import_export\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/channel_seal": {
      "post": {
        "operationId": "azchat_channel_seal",
        "summary": "Seal AZChat-to-AZChat in this channel only. Outside bridges are not end-to-end.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"channel_seal\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/bridge_status": {
      "post": {
        "operationId": "azchat_bridge_status",
        "summary": "WhatsApp, Facebook, Gmail, Outlook, and Yahoo bridges are not live and not end-to-end.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"bridge_status\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/malware_sweep": {
      "post": {
        "operationId": "azchat_malware_sweep",
        "summary": "Scan a chat part. Live only when the AZMail scanner is present.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"malware_sweep\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/airgap": {
      "post": {
        "operationId": "azchat_airgap",
        "summary": "Airgap a chat part before use. Never a mock clean.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"airgap\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azchat/skill": {
      "get": {
        "operationId": "azchat_skill",
        "summary": "Return AZChat skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azchat\", op: \"skill\" }. AZChat product contract: join from the all-rooms list; a hosted room appears in that list; a private room requires a passphrase. Those options ship with the AZChat product. This runtime keeps handle, two-handle room, and bus ops. FragGate only. mesh_enabled_default false. Not SMTP. Not AZMail. Do not bridge. Stranger room_pull is 404. Author Aziel Eliab.",
        "tags": [
          "azchat",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/health": {
      "get": {
        "operationId": "zkattest_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"health\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/doctor": {
      "get": {
        "operationId": "zkattest_doctor",
        "summary": "Richer liveness: hash-commitment attest, refuse list. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"doctor\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/commit": {
      "post": {
        "operationId": "zkattest_commit",
        "summary": "SHA-256 commitment of salt+witness. Witness is not returned. Not a SNARK.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"commit\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/attest": {
      "post": {
        "operationId": "zkattest_attest",
        "summary": "Bind a public statement to a commitment. Refuses a posted witness.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"attest\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/open": {
      "post": {
        "operationId": "zkattest_open",
        "summary": "Check a commitment opening the caller already holds. Reveals; not a ZK proof.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"open\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/verify": {
      "post": {
        "operationId": "zkattest_verify",
        "summary": "Recompute a public attest receipt hash. Does not recover a witness.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"verify\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/limitation": {
      "get": {
        "operationId": "zkattest_limitation",
        "summary": "Honesty labels: REAL hash commitment; SLOT for Groth16/SNARK.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"limitation\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/zkattest/skill": {
      "get": {
        "operationId": "zkattest_skill",
        "summary": "Return ZKAttest skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"zkattest\", op: \"skill\" }. ZKAttest (ZK-ATTEST-0.1): hash-commitment attest. Witness stays off the public receipt. Not Groth16 / SNARK / STARK. In-runtime placement (no invented product Worker). FragGate only. Author Aziel Eliab.",
        "tags": [
          "zkattest",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mmconsensus/health": {
      "get": {
        "operationId": "mmconsensus_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mmconsensus\", op: \"health\" }. MMConsensus (MM-CONSENSUS-0.1): structured consensus over opinions you already have. Adjacent to DecisionGATE — not a replacement hop. No live model calls. In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "mmconsensus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mmconsensus/doctor": {
      "get": {
        "operationId": "mmconsensus_doctor",
        "summary": "Richer liveness: posted-opinion tally, refuse list. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mmconsensus\", op: \"doctor\" }. MMConsensus (MM-CONSENSUS-0.1): structured consensus over opinions you already have. Adjacent to DecisionGATE — not a replacement hop. No live model calls. In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "mmconsensus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mmconsensus/tally": {
      "post": {
        "operationId": "mmconsensus_tally",
        "summary": "Majority over caller-supplied verdicts. Does not call models.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mmconsensus\", op: \"tally\" }. MMConsensus (MM-CONSENSUS-0.1): structured consensus over opinions you already have. Adjacent to DecisionGATE — not a replacement hop. No live model calls. In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "mmconsensus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mmconsensus/agree": {
      "post": {
        "operationId": "mmconsensus_agree",
        "summary": "Token Jaccard over posted opinion texts. HEURISTIC. Not live inference.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mmconsensus\", op: \"agree\" }. MMConsensus (MM-CONSENSUS-0.1): structured consensus over opinions you already have. Adjacent to DecisionGATE — not a replacement hop. No live model calls. In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "mmconsensus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mmconsensus/limitation": {
      "get": {
        "operationId": "mmconsensus_limitation",
        "summary": "Honesty labels: HEURISTIC tally; SLOT for live multi-model calls.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mmconsensus\", op: \"limitation\" }. MMConsensus (MM-CONSENSUS-0.1): structured consensus over opinions you already have. Adjacent to DecisionGATE — not a replacement hop. No live model calls. In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "mmconsensus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/mmconsensus/skill": {
      "get": {
        "operationId": "mmconsensus_skill",
        "summary": "Return MMConsensus skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"mmconsensus\", op: \"skill\" }. MMConsensus (MM-CONSENSUS-0.1): structured consensus over opinions you already have. Adjacent to DecisionGATE — not a replacement hop. No live model calls. In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "mmconsensus",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/toolbench/health": {
      "get": {
        "operationId": "toolbench_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"toolbench\", op: \"health\" }. ToolBench (TOOLBENCH-0.1): synthetic FragGate / Sentinel / TDQS refuse playground. Self-test ≠ third-party lab. Not . In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "toolbench",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/toolbench/doctor": {
      "get": {
        "operationId": "toolbench_doctor",
        "summary": "Richer liveness: synthetic suite, refuse list. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"toolbench\", op: \"doctor\" }. ToolBench (TOOLBENCH-0.1): synthetic FragGate / Sentinel / TDQS refuse playground. Self-test ≠ third-party lab. Not . In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "toolbench",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/toolbench/suite": {
      "get": {
        "operationId": "toolbench_suite",
        "summary": "List synthetic FragGate refuse / happy cases. Self-test ≠ third-party lab.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"toolbench\", op: \"suite\" }. ToolBench (TOOLBENCH-0.1): synthetic FragGate / Sentinel / TDQS refuse playground. Self-test ≠ third-party lab. Not . In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "toolbench",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/toolbench/run_case": {
      "post": {
        "operationId": "toolbench_run_case",
        "summary": "Classify one named synthetic case against the live door table. Does not invent a pass.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"toolbench\", op: \"run_case\" }. ToolBench (TOOLBENCH-0.1): synthetic FragGate / Sentinel / TDQS refuse playground. Self-test ≠ third-party lab. Not . In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "toolbench",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/toolbench/limitation": {
      "get": {
        "operationId": "toolbench_limitation",
        "summary": "Honesty labels: REAL door classification; SLOT for invent_completeness.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"toolbench\", op: \"limitation\" }. ToolBench (TOOLBENCH-0.1): synthetic FragGate / Sentinel / TDQS refuse playground. Self-test ≠ third-party lab. Not . In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "toolbench",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/toolbench/skill": {
      "get": {
        "operationId": "toolbench_skill",
        "summary": "Return ToolBench skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"toolbench\", op: \"skill\" }. ToolBench (TOOLBENCH-0.1): synthetic FragGate / Sentinel / TDQS refuse playground. Self-test ≠ third-party lab. Not . In-runtime placement. FragGate only. Author Aziel Eliab.",
        "tags": [
          "toolbench",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/health": {
      "get": {
        "operationId": "azvpn_health",
        "summary": "Liveness. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"health\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/doctor": {
      "get": {
        "operationId": "azvpn_doctor",
        "summary": "Richer liveness: REAL/SLOT tunnel matrix. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"doctor\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/describe": {
      "post": {
        "operationId": "azvpn_describe",
        "summary": "Public VPN concentrator cite. HTTPS/WS REAL; WireGuard/OpenVPN SLOT.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"describe\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/open": {
      "post": {
        "operationId": "azvpn_open",
        "summary": "Open an application-layer HTTPS/WS tunnel session with a receipt.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"open\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/status": {
      "post": {
        "operationId": "azvpn_status",
        "summary": "Read one concentrator session. Not a kernel VPN status.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"status\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/list": {
      "post": {
        "operationId": "azvpn_list",
        "summary": "List concentrator sessions.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"list\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/close": {
      "post": {
        "operationId": "azvpn_close",
        "summary": "Close a concentrator session.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"close\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/send": {
      "post": {
        "operationId": "azvpn_send",
        "summary": "Queue an encrypted envelope on the session inbox.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"send\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/recv": {
      "post": {
        "operationId": "azvpn_recv",
        "summary": "Pull queued ciphertext envelopes.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"recv\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/pull": {
      "post": {
        "operationId": "azvpn_pull",
        "summary": "Alias of recv.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"pull\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/peers": {
      "post": {
        "operationId": "azvpn_peers",
        "summary": "Peer routing table for open sessions.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"peers\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/attach": {
      "post": {
        "operationId": "azvpn_attach",
        "summary": "Mint a WS attach ticket for the same inbox. Not a second door.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"attach\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/limitation": {
      "get": {
        "operationId": "azvpn_limitation",
        "summary": "Honesty labels: HTTPS/WS REAL; WireGuard/OpenVPN/L3 SLOT.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"limitation\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    },
    "/runtime/p/azvpn/skill": {
      "get": {
        "operationId": "azvpn_skill",
        "summary": "Return AZVPN skill markdown. Does not increment download KV.",
        "description": "PROXY path only — not exec. Agents use POST /v1/fraggate/call with { slug: \"azvpn\", op: \"skill\" }. AZVPN (AZVPN-CONCENTRATOR-1.0): automatic public VPN / tunnel concentrator. HTTPS/WS REAL. WireGuard / OpenVPN / L3 stay SLOT. default_vpn_backend azvpn; auto_use true. Separate software from AZNet and AZBrowser (same FragGate door). In-runtime placement (no invented product Worker). Author Aziel Eliab.",
        "tags": [
          "azvpn",
          "proxy"
        ],
        "responses": {
          "200": {
            "description": "Proxy response. Not a FragGate receipt unless the caller used /v1/fraggate/call."
          }
        }
      }
    }
  },
  "godlock_runtime": "https://godlock.uk/runtime",
  "library_runtime": "https://www.azielcorpuslibrary.net/runtime",
  "origin_runtime": "https://aziel-runtime.vibelock.workers.dev/",
  "sameAs": [
    "https://godlock.uk/runtime",
    "https://www.azielcorpuslibrary.net/runtime",
    "https://aziel-runtime.vibelock.workers.dev/",
    "https://github.com/AzielEliab/aziel-runtime",
    "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime"
  ],
  "related": [
    "https://godlock.uk/runtime",
    "https://www.azielcorpuslibrary.net/runtime",
    "https://aziel-runtime.vibelock.workers.dev/",
    "https://github.com/AzielEliab/aziel-runtime",
    "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime"
  ],
  "author": "Aziel Eliab",
  "identity": "Aziel Eliab"
}