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
Metadata
Release files for crewai-decision-binding-ref 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crewai_decision_binding_ref-0.1.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crewai_decision_binding_ref-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.6 kB
Release files / crewai_decision_binding_ref-0.1.0.tar.gz
| Download URL | crewai_decision_binding_ref-0.1.0.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1fcb098c9d634d830d1226d3680071e84ae2c5bc277e6f3d2c4a577530654625
|
|
BLAKE2b-256 checksum How to use checksums |
d5aa319575873aaa89a4d4de23a3e7e8e1cf2b1aad38996f1aba747439191586
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / crewai_decision_binding_ref-0.1.0-py3-none-any.whl
| Download URL | crewai_decision_binding_ref-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52461c1007dde417a1f076367c0cfe5bb96188014cb3e1b61733adb31ce9bde2
|
|
BLAKE2b-256 checksum How to use checksums |
e42a78ce7e1c6cb641dff943199d753834666c9bdcd2ffe557537b0786a33e61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|