atlas-pca-haystack
Haystack guard for Proof-Carrying Authority (PCA): make every Haystack tool call proof-carrying and
policy-gated. A tool only runs when the agent carries a valid, in-plan, resource-correct proof for exactly
that action. The adapter delegates all verification to atlas-pca
and reimplements no cryptography.
Status: 0.4.1, unaudited.
What is tested
The default test suite runs without the framework, against the shared conformance proofs. A second suite, make test-real (needs the framework installed), runs against the real framework and is pinned to Haystack 2.31.0 (ToolInvoker, Agent) and 3.3.0 (Agent; 3.x has no ToolInvoker). It covers real Tool objects through a real ToolInvoker (2.x) and Agent (2.x and 3.x), including guard_tool_invoker in a real Pipeline, thread-pool dispatch, and async tools. Each denial test checks that the tool body never ran, and checks the refusal reason wherever the framework surfaces it.
Not covered: other framework versions (only the pinned one is exercised), live model providers (the models are scripted and offline), and any property of the underlying atlas-pca verifier beyond what it already documents. This package has not been independently audited.
Install
pip install atlas-pca-haystack
This installs atlas-pca>=0.4.1,<0.5 as a dependency.
Use
Entry points: pca_tool / guard_tool_invoker / guard_tools.
from atlas_pca_haystack import pca_tool
See the module docstrings in atlas_pca_haystack for the full API, and the PCA specification for the model.
The verifier applies the full check order, including grant_ref_bound (the signed grant_ref must equal
the root capability id), as of atlas-pca 0.2.0.
Links
- Source: https://github.com/Atlas-Authorization/pca-python
- Specification and docs: https://github.com/Atlas-Authorization/pca
License: MIT
Metadata
Release files for atlas-pca-haystack 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| atlas_pca_haystack-0.4.1.tar.gz | 12.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| atlas_pca_haystack-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.3 kB
Release files / atlas_pca_haystack-0.4.1.tar.gz
| Download URL | atlas_pca_haystack-0.4.1.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4aa9c484a21e7d79316d3e464f59f28b7e4e16fd95b04669ed43b0999de7a27f
|
|
BLAKE2b-256 checksum How to use checksums |
a7c21710abb6c44a0a87b37d2c27e45507ae17e974cfcef6eacd634206dada59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / atlas_pca_haystack-0.4.1-py3-none-any.whl
| Download URL | atlas_pca_haystack-0.4.1-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36cffebc06b1b75dce4ec6af4ec4ee57d495721c4bae1372bdd8ffb6d8d67147
|
|
BLAKE2b-256 checksum How to use checksums |
1b43615720c2198aff3caf7e507fa8559e2afdc64c7fe9121b913cc62e846171
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|