{
  "bridgeBaseUrlPolicy": {
    "mustReachExactRuntimeContact": true,
    "reject": [
      "127.0.0.1",
      "localhost",
      "E:Voice account website",
      "setup-code issuer URL",
      "general Emergence website/build server URL",
      "URLs for another runtime/contact"
    ]
  },
  "channelModel": "current-only",
  "connectionDoctrine": {
    "advancedAlternative": "user-owned public HTTPS reverse proxy",
    "emergenceRelayAvailable": false,
    "localTestOnly": "same Wi-Fi/LAN",
    "normalTraffic": "direct phone-to-runtime through the user's chosen connection path",
    "recommendedDefault": "Tailscale/private network",
    "stopBeforeConsumeWhen": "no verified bridgeBaseUrl reaches this exact runtime/contact from the user's phone"
  },
  "consume": {
    "jsonFields": [
      "setupCode",
      "bridgeBaseUrl"
    ],
    "method": "POST",
    "url": "https://www.emergencerising.com/api/v1/evoice/bridge/bootstrap/consume"
  },
  "current": {
    "manifestUrl": "https://www.emergencerising.com/evoice/plugins/agent-zero/evoice-bridge-plugin/current.json",
    "packageSha256": "6159ad10a3b9170bcfc17bcee686025eb15532b600b59529fb16f2bdb13be82e",
    "packageSizeBytes": 149202,
    "packageUrl": "https://www.emergencerising.com/evoice/plugins/agent-zero/evoice-bridge-plugin/v0.2.25/evoice-agent-zero-bridge-plugin-v0.2.25.zip",
    "version": "0.2.25"
  },
  "currentManifestUrl": "https://www.emergencerising.com/evoice/plugins/agent-zero/evoice-bridge-plugin/current.json",
  "expectedHealth": {
    "method": "POST",
    "path": "/api/plugins/_evoice/v1/health",
    "tool": "evoice_health",
    "type": "tool-or-api"
  },
  "installDocs": {
    "source": "README.md inside the package archive",
    "steps": [
      "Fetch currentManifestUrl first and treat its version, packageUrl, and packageSha256 as authoritative.",
      "Inspect the installed plugin version from plugin.yaml, SOURCE_PROVENANCE.md, and any Agent Zero plugin health/status/version output available.",
      "If the installed version is missing, unknown, older than currentManifestUrl.version, or has different source provenance, back up runtime state and repair from packageUrl before pairing.",
      "Download packageUrl and verify packageSha256.",
      "Install the package into the selected Agent Zero user plugin directory as _evoice.",
      "Preserve runtime config, pairing state, bridge tokens, and contact/session continuity during repair.",
      "Verify evoice_health or POST /api/plugins/_evoice/v1/health on the phone-reachable runtime bridge URL before consuming the setup code; prefer Tailscale/private network for normal use."
    ]
  },
  "installedVersionCheck": {
    "compareInstalledVersionTo": "currentManifestUrl.version",
    "inspect": [
      "plugin.yaml",
      "SOURCE_PROVENANCE.md",
      "runtime health/status/version output when available"
    ],
    "repairWhen": [
      "installed version missing",
      "installed version unknown",
      "installed version older than current manifest version",
      "source provenance differs from the current manifest package"
    ],
    "requiredBeforeSetupCodeConsume": true
  },
  "latestManifestAliasUrl": "https://www.emergencerising.com/evoice/plugins/agent-zero/evoice-bridge-plugin/latest.json",
  "manifestUrl": "https://www.emergencerising.com/evoice/plugins/agent-zero/evoice-bridge-plugin/current.json",
  "missingPackageFiles": [],
  "packageSha256": "6159ad10a3b9170bcfc17bcee686025eb15532b600b59529fb16f2bdb13be82e",
  "packageSizeBytes": 149202,
  "packageUrl": "https://www.emergencerising.com/evoice/plugins/agent-zero/evoice-bridge-plugin/v0.2.25/evoice-agent-zero-bridge-plugin-v0.2.25.zip",
  "pairingContractSha256": "e4fd915db93b3f189129bcb6b57296687aa369fe887af12bfa5f04a003131c2c",
  "pairingContractUrl": "https://www.emergencerising.com/evoice/plugins/contracts/pairing/agent-zero/current.json",
  "pairingContractVersion": "1.0.4",
  "pairingContractVersionedUrl": "https://www.emergencerising.com/evoice/plugins/contracts/pairing/v1.0.4/agent-zero.json",
  "previousPublicVersion": "0.2.24",
  "privatePathLeakCount": 0,
  "privatePathLeaks": [],
  "release": {
    "failureDomains": {
      "runtimePort": "runtime-scoped",
      "sharedCore": "set-wide"
    },
    "releaseId": "master-plugin-20260908-12",
    "sequence": 12,
    "signatureStatus": "unsigned-legacy",
    "sourceSha": "5c875c3b34f7bd6077b11aa1c1f4f1c41fc4d384"
  },
  "releaseChannel": "current",
  "requiredArchiveMembers": [
    "EVOICE-SHARED-JOURNAL.md",
    "PYTHON-DEPENDENCIES.md",
    "README.md",
    "SOURCE_PROVENANCE.md",
    "api/__init__.py",
    "api/v1/__init__.py",
    "api/v1/base.py",
    "api/v1/bootstrap_consume.py",
    "api/v1/continuity/__init__.py",
    "api/v1/continuity/resolve.py",
    "api/v1/events.py",
    "api/v1/groups/observations.py",
    "api/v1/health.py",
    "api/v1/journal.py",
    "api/v1/message.py",
    "api/v1/models/catalog.py",
    "api/v1/policy/__init__.py",
    "api/v1/policy/approvals/__init__.py",
    "api/v1/policy/approvals/decide.py",
    "api/v1/policy/approvals/poll.py",
    "api/v1/policy/cancel.py",
    "api/v1/policy/revoke.py",
    "api/v1/request_state.py",
    "api/v1/status.py",
    "api/v1/vault/__init__.py",
    "api/v1/vault/claims.py",
    "api/v1/vault/recipient.py",
    "api/v1/vault/revoke.py",
    "api/v1/workspace/tools/poll.py",
    "api/v1/workspace/tools/result.py",
    "default_config.yaml",
    "evoice_bridge_core/__init__.py",
    "evoice_bridge_core/contract.py",
    "evoice_bridge_core/group_observation.py",
    "evoice_bridge_core/group_observation_worker.py",
    "evoice_bridge_core/journal.py",
    "evoice_bridge_core/native_approval.py",
    "evoice_bridge_core/native_policy_worker.py",
    "evoice_bridge_core/operator_pairing.py",
    "evoice_bridge_core/refusal_diagnostics.py",
    "evoice_bridge_core/runtime_guidance.py",
    "evoice_bridge_core/runtime_model_channel.py",
    "evoice_bridge_core/runtime_model_worker.py",
    "evoice_bridge_core/runtime_models.py",
    "evoice_bridge_core/runtime_policy.py",
    "evoice_bridge_core/vault.py",
    "evoice_bridge_core/vault_channel.py",
    "evoice_bridge_core/vault_pairing.py",
    "evoice_bridge_core/vault_worker.py",
    "evoice_bridge_core/workspace_channel.py",
    "evoice_bridge_core/workspace_native.py",
    "evoice_bridge_core/workspace_tools.py",
    "evoice_bridge_core/workspace_worker.py",
    "extensions/python/tool_execute_before/_00_evoice_policy.py",
    "helpers/__init__.py",
    "helpers/client.py",
    "helpers/core_adapter.py",
    "helpers/group_observation.py",
    "helpers/runtime_model_options.py",
    "helpers/runtime_policy.py",
    "helpers/state_storage.py",
    "helpers/vault_channel.py",
    "helpers/workspace_tools.py",
    "plugin.yaml",
    "plugins/evoice-bridge-core/contract/evoice-bridge-contract.v1.json",
    "plugins/evoice-bridge-core/contract/evoice-journal-contract.v1.json",
    "plugins/evoice-bridge-core/fixtures/conformance-vectors.v1.json",
    "prompts/agent.system.tool.evoice_workspace.md",
    "requirements-evoice.txt",
    "setup.md",
    "tools/evoice_build_status.py",
    "tools/evoice_docs_list.py",
    "tools/evoice_docs_read.py",
    "tools/evoice_docs_save.py",
    "tools/evoice_health.py",
    "tools/evoice_journal_append.py",
    "tools/evoice_journal_recent.py",
    "tools/evoice_pairing_device.py",
    "tools/evoice_pairing_request.py",
    "tools/evoice_pairing_status.py",
    "tools/evoice_plugin_autoupdate.py",
    "tools/evoice_plugin_update.py",
    "tools/evoice_project_context.py",
    "tools/evoice_send_message.py",
    "tools/evoice_skills_list.py",
    "tools/evoice_skills_read.py"
  ],
  "runtime": "agent-zero",
  "runtimeDisplayName": "Agent Zero",
  "runtimeKind": "AGENT_ZERO",
  "runtimePort": {
    "compatibility": {
      "coreApi": "evoice.universal-bridge.v1"
    },
    "version": "0.2.25"
  },
  "schema": "com.emergencerising.evoice.external-runtime-plugin.v1",
  "setupCodeGate": {
    "downloadRequiresAccountLogin": false,
    "pairingRequiresSetupCode": true,
    "setupCodeProperties": [
      "expiring",
      "single-use",
      "high-entropy",
      "hashed-at-rest"
    ]
  },
  "sharedCore": {
    "api": "evoice.universal-bridge.v1",
    "contractVersion": "evoice-bridge-core.v1",
    "schema": "com.emergencerising.evoice.external-runtime-shared-core.v1",
    "version": "2.6.1"
  },
  "statePreservation": [
    "pairing state",
    "bridge tokens",
    "device/session state",
    "user runtime config",
    "agent-files manifests"
  ],
  "status": "ready",
  "version": "0.2.25",
  "versionBumpRequired": true,
  "versionMetadata": {
    "files": [
      {
        "file": "plugin.yaml",
        "status": "ready",
        "version": "0.2.25"
      }
    ],
    "status": "ready"
  }
}
