Skip to main content

Inspects AI agent projects for ECZ-ID configuration and public evidence posture.

Project description

ECZ-ID AI Agent Inspection

ecz-id-agents statically inspects AI agent manifests for ECZ-ID configuration posture and declared relationships (tools, APIs, MCP servers, operator/principal). Part of the ECZ-ID PyPI family. It inspects, explains and routes only.

It never imports or executes agent code, never loads or runs agent tools, and never reads prompts into results — only their presence is noted, and redaction guards every export. It never issues or activates an ECZ-ID, never prices or carts, and never certifies. It is not a safety/compliance/insurance/premium decision and not a behavioural, alignment, capability or safety proof about the agent. Missing public proof is neutral. Local policy decides. Re-check before reliance.

One-command first run

$ ecz-id-agents inspect ./my-agent
ECZ-ID inspection: ./my-agent [ecz-id-agents]
A. configuration posture : PRESENT
B. public proof posture  : NOT_CHECKED  (neutral)
...
local policy decides; re-check before reliance

Supported inputs

  • A directory or manifest file. Recognised names: agent_manifest.json, agent.json, agents.json (static JSON only).
  • Observes declared agent name, model provider, tool / API / MCP / package / repository relationships and the declared operator / principal.

Runtime object inspection (adapter boundary)

For OpenAI Agents, Pydantic AI, LangGraph and CrewAI, you may pass an already-constructed object and get neutral observations back — attributes are read, never called, the framework is identified without importing it, tools are not executed, and prompts are never inlined:

from ecz_id_agents import inspect_agent_object

report = inspect_agent_object(my_agent)   # {"observations": [...], "note": "..."}

Privacy boundaries

Static JSON inspection; never imports or executes agent code. Bounded, symlink-refusing enumeration. No telemetry, no uploads. Prompts are never inlined; secrets redacted on every export. Offline mode (--offline / ECZ_ID_OFFLINE=1) skips all network.

Explicit non-claims

Not a safety / certification / compliance / insurance / premium decision. Not a behavioural, alignment, capability or safety proof. Does not issue, activate or bind an ECZ-ID. Does not upload prompts. Does not price or cart.

Python API

from ecz_id_agents import inspect

result = inspect("./my-agent")
print(result.configuration_evidence.posture.value)   # PRESENT / PARTIAL / ABSENT / INVALID

CI / test example

$ ecz-id-agents inspect . --json > ecz-id-agents.json   # exit 0 for any completed inspection
$ ecz-id-agents doctor --json

Routes

Agent Credential and Know-Your-Agent guidance is arranged via TrustOps — this package only routes you there.

Re-check

$ ecz-id-agents recheck ./my-agent --json

Machine Interface & Quiet manifest

Machine Interface · Manifest · Resolve · Operator Setup · Developer Guidance

Every install ships a public-safe ecz_quiet_machine_interface.json, and every JSON report embeds a compact machine_interface object with the canonical roots and safe actions (it exposes the interface and protects the playbook).

$ ecz-id-agents manifest --json
$ ecz-id-agents compare ./old ./new --json    # neutral drift
$ ecz-id-agents inspect . --sarif             # SARIF for code scanning
$ uvx ecz-id-agents inspect .                 # or: pipx run ecz-id-agents inspect .

Licence and trademarks

Apache-2.0 (see LICENSE, NOTICE). The code licence grants no trademark rights; “ECZ-ID” and “EcoCitizenz” are trademarks of their owner(s) — see TRADEMARKS.md. Changelog: CHANGELOG.md. Security: SECURITY.md.

CLI: ecz-id-agents  |  Import: ecz_id_agents  |  Plugin group: ecz_id.plugins

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecz_id_agents-0.1.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ecz_id_agents-0.1.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file ecz_id_agents-0.1.0.tar.gz.

File metadata

  • Download URL: ecz_id_agents-0.1.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ecz_id_agents-0.1.0.tar.gz
Algorithm Hash digest
SHA256 358850028709346bbcb0471e09c953e276ed99837769dfcf4d3261cbd00cae2d
MD5 6bf94eecf82fcb52278f83008b8f2055
BLAKE2b-256 d6be1e4d4fead0ba66a7ede6deed92365d52523d8229b773ba810661bbf689d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ecz_id_agents-0.1.0.tar.gz:

Publisher: publish-ecz-id-agents.yml on Ecocitizenz/ecz-id-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ecz_id_agents-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ecz_id_agents-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ecz_id_agents-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fdf5527be8008847f1d9fdb9a0b054638077e4edf294d1e75c1318c73182e04
MD5 db9557b40cf377e09e033f68afde039d
BLAKE2b-256 cdfcce7f7dfe47ed2cc0f0dd6c29eea42e1ff889ba7cfd4f00bc1266c615ab2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ecz_id_agents-0.1.0-py3-none-any.whl:

Publisher: publish-ecz-id-agents.yml on Ecocitizenz/ecz-id-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page