{
  "schema_version": "1.0.0",
  "manifest_type": "ecz-agent",
  "canonical_url": "https://developers.ecocitizenz.com/.well-known/ecz-agent.json",
  "agent_name": "ECZ-ID Developer Gateway (static documentation and routing site)",
  "logical_agent_id": null,
  "manifest_url": "https://developers.ecocitizenz.com/.well-known/ecz-agent.json",
  "subject_kind": "static_documentation_site",
  "is_agent": false,
  "agent_semantics": {
    "is_autonomous_agent": false,
    "is_llm_driven": false,
    "performs_actions": false,
    "calls_tools_or_services": false,
    "holds_delegated_authority": false,
    "runtime": "static_export_no_server",
    "statement": "This origin is a Next.js static export (HTML/JSON files) with no server, no API routes, no AI SDK, no tool calling and no outbound calls. It documents and routes. There is nothing to suspend or revoke independently of the website itself."
  },
  "operator_ecz_id": "ECZ-GB-RBS1NW",
  "operator_legal_name": "ECOCITIZENZ LTD",
  "operator_company_registration_number": "17348848",
  "resolver_url": "https://resolver.ecocitizenz.org/p/ECZ-GB-RBS1NW",
  "machine_proof_url": "https://api.ecocitizenz.com/api/p/ECZ-GB-RBS1NW.json",
  "agent_credential_id": null,
  "agent_credential_status": "NOT_APPLICABLE",
  "agent_credential_note": "No Agent Credential is applicable: no independent agent exists behind this origin. Core's agent_trust.status AGENT_CREDENTIAL_MISSING / required_action issue_agent_credential_child_passport on the operator record is a generic parent-level state emitted for any operator without an AGENT_CREDENTIAL child; it is not evidence that an agent exists. An Agent Credential is issued for one logical agent that takes actions on behalf of an operator (HYP-D-088).",
  "api_passport_refs": [],
  "dataset_passport_refs": [],
  "model_passport_refs": [],
  "authority_scope": {
    "actions": [],
    "policy_refs": [],
    "targets": [
      "https://developers.ecocitizenz.com"
    ]
  },
  "self_description_surfaces": {
    "ecz_site": "https://developers.ecocitizenz.com/.well-known/ecz-site.json",
    "ecz_developer_gateway": "https://developers.ecocitizenz.com/.well-known/ecz-developer-gateway.json",
    "llms_txt": "https://developers.ecocitizenz.com/llms.txt",
    "ai_catalog": "https://developers.ecocitizenz.com/.well-known/ai-catalog.json",
    "ecz_mcp": "https://developers.ecocitizenz.com/.well-known/ecz-mcp.json",
    "note": "The one machine service operated under this operator is the ECZ-ID Trust MCP server, described in ecz-mcp.json. This document exists so that an agent-aware reader fetching /.well-known/ecz-agent.json receives a truthful answer rather than a 404."
  },
  "semantics": {
    "read_only_public_surface": true,
    "reports_state_only": true,
    "not_endorsement": true,
    "not_certification": true,
    "absence_is_not_a_negative_signal": true,
    "local_policy_decides": true,
    "recheck_before_reliance": true
  },
  "issued_at": "2026-08-26T21:07:19Z",
  "last_updated_at": "2026-08-26T23:30:00Z",
  "supersedes": "the 2026-05-01 manifest, which referenced a QA record (entity 'QA Bundle', lifecycle UNKNOWN) and child identifiers that do not exist in Core; corrected 2026-08-26 (HYP-D-087); re-specified 2026-08-26 (HYP-D-088) from an implied 'assistant' agent to an explicit non-agent self-description after the semantic review found no independent agent behind this origin",
  "manifest_hash": "sha256:17b51fd7ccc734671c29aec8ea2813d6737d85d05280b94abec8704298dd2707",
  "signing": {
    "status": "unsigned",
    "reason": "No governed manifest-signing key exists yet: resolver.ecocitizenz.org/.well-known/eczid-keys declares a development keyset with no production key. Per the Developer Gateway ecz-agent.json contract, no signature/JWS/key proof is declared unless the backend and Resolver support that signal live.",
    "integrity": "manifest_hash is the sha256 of this document serialised with sorted keys, no whitespace, UTF-8, excluding manifest_hash and signing. It is an integrity hash, not authenticity."
  },
  "schema_conformance": {
    "status": "OFF_SPEC_DECLARED",
    "statement": "This document deliberately does not validate against either published ECZ-ID shape, and says so rather than appearing conformant.",
    "gateway_contract": {
      "id": "ecz-agent-json-v1",
      "published_at": "https://developers.ecocitizenz.com/agent-trust/ecz-agent-json/",
      "satisfied": [
        "agent_name",
        "logical_agent_id",
        "manifest_url",
        "operator_ecz_id",
        "resolver_url"
      ],
      "deviation": "schema_version follows the ECZ-ID Core manifest shape ('1.0.0'), not the literal 'ecz-agent-json-v1'; logical_agent_id is null because no logical agent exists."
    },
    "core_schema": {
      "id": "ecz-agent.schema.json (ECZ-ID Agent Manifest)",
      "validates": false,
      "why_unreachable": "The Core schema is additionalProperties:false and requires agent_credential_id (strict ECZ-ID child pattern) and signature_set with at least one entry. No Agent Credential exists for this origin because no agent exists (FA-CORE-02a, NOT APPLICABLE), and no governed manifest-signing key exists (see docs/architecture/MANIFEST-SIGNING-REQUIREMENT.md). Conformance is therefore unreachable by construction, not by omission.",
      "rejected_fields": [
        "is_agent",
        "subject_kind",
        "agent_semantics",
        "self_description_surfaces",
        "schema_conformance",
        "agent_credential_status",
        "agent_credential_note",
        "semantics",
        "signing",
        "supersedes",
        "machine_proof_url",
        "operator_legal_name",
        "operator_company_registration_number"
      ],
      "missing_required": [
        "agent_type",
        "software_supply_chain_refs",
        "signature_set",
        "agent_credential_id (string)"
      ]
    },
    "consumer_note": "ECZ-ID Core's AGENT_MANIFEST proof route would reject this document (it requires a bound agent_credential_id, a parent_ecz_id, a binding_id and a challenge). No binding references this URL: the operator record shows children: [] and agent_credentials: []. Nothing in the estate consumes this file today; it exists as honest self-description for an agent-aware reader."
  }
}
