crewai-decision-binding-ref
CrewAI tool for decision_binding_ref — a content-addressed identifier for
the binding between a specific action instance and the authorization
decision that permitted it. Any verifier holding the preimage fields can
independently confirm that this exact instance was authorized, without
trusting the system that executed it.
Spec: decision-binding-ref-v1.0.md
(stable, extended 2026-08-04 with optional context_digest).
Install
pip install crewai-decision-binding-ref
Usage
from crewai_decision_binding_ref import DecisionBindingRefTool
tool = DecisionBindingRefTool()
# compute mode — no presented_ref
result = tool.run(
action_ref="sha256:...",
decision_id="approval:...",
decision_at_ms=1748736000000,
)
# {"state": "PENDING_NON_NULL", "computed_ref": "sha256:..."}
# verify mode — presented_ref given
result = tool.run(
action_ref="sha256:...",
decision_id="approval:...",
decision_at_ms=1748736000000,
presented_ref="sha256:...",
)
# {"state": "COMMITTED", "computed_ref": "sha256:..."} or {"state": "MISMATCH", ...}
The four verify() states
verify() reports one of four states, deliberately kept separate from the
trail_status ladder (COMMITTED/PENDING/FAILED) used elsewhere in
Mycelium for execution-outcome tracking
(guarantee-model.md).
That ladder answers a temporal question — did the post-execution receipt
arrive? This tool answers a cryptographic one — does this hash match? The two
axes are orthogonal; this tool's verify() never returns FAILED.
| State | Meaning |
|---|---|
COMMITTED |
Recompute succeeded and matches the presented ref. |
MISMATCH |
Recompute succeeded but does not match the presented ref. Fail-closed — same pattern as CONTEXT_SET_MISMATCH in the spec's context_digest extension. Never silent. |
PENDING_NON_NULL |
Preimage complete, ref computed, no presented ref given yet (compute-only mode). |
PENDING_NULL |
Preimage incomplete (action_ref or decision_id missing) — recompute cannot be attempted. |
Tests
Conformance tests reuse the byte-verified fixtures already published in
argentum-core, no new vectors invented:
- Fixtures A–D from
decision-binding-ref-v1.0.md - Vectors
cd-001..cd-004fromexamples/conformance/decision-binding-context-digest-v1/
pip install -e .
pytest
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crewai_decision_binding_ref-0.1.0.tar.gz.
File metadata
- Download URL: crewai_decision_binding_ref-0.1.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fcb098c9d634d830d1226d3680071e84ae2c5bc277e6f3d2c4a577530654625
|
|
| MD5 |
ed6345fc5ec1ba889824af82c409d324
|
|
| BLAKE2b-256 |
d5aa319575873aaa89a4d4de23a3e7e8e1cf2b1aad38996f1aba747439191586
|
File details
Details for the file crewai_decision_binding_ref-0.1.0-py3-none-any.whl.
File metadata
- Download URL: crewai_decision_binding_ref-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52461c1007dde417a1f076367c0cfe5bb96188014cb3e1b61733adb31ce9bde2
|
|
| MD5 |
b085e0e413a7db7cec1638f206d47ccf
|
|
| BLAKE2b-256 |
e42a78ce7e1c6cb641dff943199d753834666c9bdcd2ffe557537b0786a33e61
|