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.2.tar.gz (13.0 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.2-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qortara_protocol-0.1.2.tar.gz
  • Upload date:
  • Size: 13.0 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.2.tar.gz
Algorithm Hash digest
SHA256 e0d23b4dce7adab482f5f6d5bf2e27c42701b0a2582740c0b66d657c0f3988ae
MD5 96d79ceeb2504e815372529d48374177
BLAKE2b-256 661c4fcfb52d91d84571df7141717202c2d84b0c2af73e10e334227249e5d2f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for qortara_protocol-0.1.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for qortara_protocol-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 05dfd867ec650deca0d0a703d0d0f61b985c3fdf0f67532e003453d33708a1a7
MD5 a5c778bee5018b7988f1091f62c8ffbb
BLAKE2b-256 2e46a066d0f03f87a79944bd7cbabffe5bdebbda78e3c66006f91517a277aeae

See more details on using hashes here.

Provenance

The following attestation bundles were made for qortara_protocol-0.1.2-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