{
  "schema": "zoth-tool-manifest/v1",
  "generated_at": "2026-08-22T22:25:00Z",
  "owner": "hermes",
  "lane": "planner/tool-schemas",
  "contract_enforcement": "every request validated by the tool module's own validate() before execution",
  "tools": [
    {
      "id": "github-tool",
      "name": "Zoth GitHub Tool",
      "version": "2026-08-17",
      "entry": "/tools/github-tool.js",
      "schema": "/tools/github-tool.schema.json",
      "ui": "/studio/github-tool.html",
      "blueprint": "/blueprints/github-tool.json",
      "actions": ["issues.list", "issues.create", "prs.list", "prs.create", "repos.list"],
      "modes": ["simulated", "live"],
      "security": "token held in memory only; never persisted or written to the bus"
    },
    {
      "id": "blueprint-validator",
      "name": "Zoth Blueprint Validator",
      "version": "2026-08-17",
      "entry": "/tools/blueprint-validator.js",
      "schema": null,
      "ui": "/studio/tool-bench.html#blueprint-validator",
      "blueprint": null,
      "actions": ["blueprint.validate"],
      "modes": ["client-side"],
      "security": "fully local; no network; no secrets"
    },
    {
      "id": "netlify-deploy",
      "name": "Zoth Netlify Deploy Tool",
      "version": "2026-08-17",
      "entry": "/tools/netlify-deploy.js",
      "schema": null,
      "ui": "/studio/tool-bench.html#netlify-deploy",
      "blueprint": null,
      "actions": ["deploy.trigger"],
      "modes": ["simulated", "live"],
      "security": "build hook URL + secret held in memory only; never persisted or written to the bus"
    },
    {
      "id": "header-audit",
      "name": "Zoth Header Audit Tool",
      "version": "2026-08-17",
      "entry": "/tools/header-audit.js",
      "schema": null,
      "ui": "/studio/tool-bench.html#header-audit",
      "blueprint": null,
      "actions": ["header.audit"],
      "modes": ["live"],
      "security": "fetches public response headers only; no credentials; fail-soft on CORS"
    },
    {
      "id": "zoth-site-sections",
      "name": "Zoth Bento Section & Component Library",
      "version": "2026-08-22",
      "entry": "/tools/zoth-site-sections.js",
      "schema": null,
      "ui": "/studio/site-generator.html",
      "blueprint": null,
      "actions": ["sections.list", "sections.generate", "sections.mutate", "sections.full_page"],
      "modes": ["client-side"],
      "security": "100% sovereign; zero cloud telemetry; client-side execution"
    },
    {
      "id": "site-framework-exporter",
      "name": "Zoth Multi-Framework Exporter Engine",
      "version": "2026-08-22",
      "entry": "/tools/site-framework-exporter.js",
      "schema": null,
      "ui": "/studio/site-generator.html",
      "blueprint": null,
      "actions": ["export.astro", "export.vite_react", "export.nextjs", "export.all"],
      "modes": ["client-side", "node"],
      "security": "100% sovereign; zero cloud leaks; generates complete standalone repositories"
    },
    {
      "id": "vault-crypto",
      "name": "Zoth Cryptographic Envelope Bridge",
      "version": "2026-08-22",
      "entry": "/tools/vault-crypto.js",
      "schema": null,
      "ui": "/vault/",
      "blueprint": null,
      "actions": ["vault.derive_key", "vault.encrypt", "vault.decrypt", "vault.wipe"],
      "modes": ["client-side", "daemon-rpc"],
      "security": "Argon2id + XChaCha20-Poly1305 / AES-256-GCM zero-knowledge client encryption"
    },
    {
      "id": "subsweep-recon",
      "name": "Zoth SubSweep Attack Surface Scanner",
      "version": "2026-08-22",
      "entry": "/tools/subsweep-recon.js",
      "schema": null,
      "ui": "/studio/subsweep.html",
      "blueprint": null,
      "actions": ["subsweep.scan", "subsweep.dns_enum", "subsweep.cert_transparency"],
      "modes": ["client-side", "live"],
      "security": "Passive OSINT queries only; zero invasive active payloads"
    },
    {
      "id": "ast-sanitizer",
      "name": "Zoth AST Code Sanitizer & Invariant Auditor",
      "version": "2026-08-22",
      "entry": "/tools/ast-sanitizer.js",
      "schema": null,
      "ui": "/studio/consensus.html",
      "blueprint": null,
      "actions": ["ast.parse", "ast.validate_invariants", "ast.sanitize_imports"],
      "modes": ["client-side"],
      "security": "Local AST static analysis; zero remote code execution"
    },
    {
      "id": "zoth-netlify-ax",
      "name": "Zoth Netlify AX Self-Healing Engine",
      "version": "2026-08-22",
      "entry": "/tools/zoth-netlify-ax.js",
      "schema": "/api/netlify-rules-ontology.json",
      "ui": "/studio/netlify-ax.html",
      "blueprint": null,
      "actions": ["netlify.audit", "netlify.self_heal", "netlify.generate_config"],
      "modes": ["client-side", "node"],
      "security": "Deterministic rule-based patching without remote telemetry"
    },
    {
      "id": "site-i18n-engine",
      "name": "Zoth I18n Multi-Language Localization Engine",
      "version": "2026-08-22",
      "entry": "/tools/site-i18n-engine.js",
      "schema": null,
      "ui": "/studio/site-generator.html",
      "blueprint": null,
      "actions": ["i18n.translate", "i18n.switch_locale", "i18n.export_bundle"],
      "modes": ["client-side"],
      "security": "Local client memory locale tables"
    },
    {
      "id": "site-pwa",
      "name": "Zoth PWA Offline Manifest & Service Worker Tool",
      "version": "2026-08-22",
      "entry": "/tools/site-pwa.js",
      "schema": null,
      "ui": "/studio/site-generator.html",
      "blueprint": null,
      "actions": ["pwa.generate_manifest", "pwa.register_sw", "pwa.cache_offline"],
      "modes": ["client-side"],
      "security": "Strict client-side service worker cache scoping"
    },
    {
      "id": "site-pdf-export",
      "name": "Zoth High-DPI Document & PDF Exporter",
      "version": "2026-08-22",
      "entry": "/tools/site-pdf-export.js",
      "schema": null,
      "ui": "/studio/site-generator.html",
      "blueprint": null,
      "actions": ["pdf.render_dom", "pdf.export_blob", "pdf.print_layout"],
      "modes": ["client-side"],
      "security": "Pure browser canvas & SVG print vector rendering"
    },
    {
      "id": "site-code-repl",
      "name": "Zoth Interactive Code REPL & Live Runner",
      "version": "2026-08-22",
      "entry": "/tools/site-code-repl.js",
      "schema": null,
      "ui": "/studio/site-generator.html",
      "blueprint": null,
      "actions": ["repl.run", "repl.eval_sandbox", "repl.format_code"],
      "modes": ["client-side"],
      "security": "Isolated iframe Web Worker sandbox execution"
    },
    {
      "id": "site-3d-webgl",
      "name": "Zoth 3D WebGL Mesh & Particle Generator",
      "version": "2026-08-22",
      "entry": "/tools/site-3d-webgl.js",
      "schema": null,
      "ui": "/studio/nexus-3d.html",
      "blueprint": null,
      "actions": ["webgl.spawn_geometry", "webgl.morph_wireframe", "webgl.capture_png"],
      "modes": ["client-side"],
      "security": "Hardware-accelerated client WebGL canvas"
    }
  ],
  "harness": {
    "module": "/tools/tool-runner.js",
    "events": "zoth:tool-bench",
    "mirror": "/tools/bench-bus-mirror.js -> http://127.0.0.1:8989/messages (swarm bus, fail-soft)",
    "note": "Uniform dispatcher. Authoritative state lives on the agent-comms file bus; :8989 is the live swarm bus mirror."
  }
}
