Skip to main content

Shared Pydantic models and JSON Schema for the Qortara Governance wire protocol.

Project description

qortara-protocol

Shared Pydantic models and JSON Schema for the Qortara Governance wire protocol.

This package defines the request/response contract between a Qortara Governance client SDK and its sidecar, plus the evidence and attestation structures emitted by the system. It is the single source of truth for downstream SDKs (qortara-governance-langchain and future framework adapters) and for any compatible sidecar implementation.

What's in here

Model Role
ActionRequest The action a client wishes to perform, serialized for policy evaluation
ActionDecision The sidecar's response — allow / deny / require_approval / exempt
EvidenceRecord The durable record of what happened, emitted after execution
PortableTrustAttestation Ed25519-signed credential describing the subject's trust posture
SidecarHealth Sidecar introspection, for liveness probes and diagnostics
PolicyCacheState Pinned-policy-pack state, for audit and cache coherence

JSON Schema files for each model are distributed in the schema/ directory alongside the Python source. Use the schemas if you are implementing a non-Python client or need language-agnostic validation.

Install

pip install qortara-protocol

Requires Python 3.10+, Pydantic 2.13+, cryptography 46+.

Usage

from qortara_protocol import ActionRequest, ActionDecision

req = ActionRequest(
    subject_id="agent-42",
    action_kind="tool.invoke",
    resource={"type": "Tool", "name": "send_email", "args": {...}},
)
# Serialize and send to the sidecar; deserialize the response:
decision = ActionDecision.model_validate_json(sidecar_response_body)

Stability

Alpha. The protocol is versioned via schema filenames (*-v0.1.json). Breaking changes will bump the schema version and this package's minor version together.

License

Apache-2.0. See LICENSE.

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

qortara_protocol-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

qortara_protocol-0.1.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for qortara_protocol-0.1.0.tar.gz
Algorithm Hash digest
SHA256 89bbd18d038d0a451eb644a377c01c30f8a822471d50022b37226add734be599
MD5 0ed46b88794787bec0fa699de486ac3a
BLAKE2b-256 b4b6bb41854a365eb7f41b1c8c654fbd6341687e99b266c4cd6f7f9f7e421829

See more details on using hashes here.

Provenance

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

Publisher: qortara-governance-langchain-release.yml on MythologIQ-Labs-LLC/Qortara

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

File details

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

File metadata

File hashes

Hashes for qortara_protocol-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6fb77e80bf3d2998aee5c4958aafb1fb50d45457ae8a08e905156ddb91dc00a
MD5 a5f5ec9a0b2e4594218262b7308a5120
BLAKE2b-256 b3ff5c007ad7cc264f23663ff86b79e12c87163a2805ed2c8b6316dec81c2a56

See more details on using hashes here.

Provenance

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

Publisher: qortara-governance-langchain-release.yml on MythologIQ-Labs-LLC/Qortara

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