Metadata-Version: 2.4
Name: algovoi-keystone-amqp
Version: 0.1.2
Summary: Bind AMQP / RabbitMQ publishes to the AlgoVoi keystone -- wrap any pika channel and every publish gets a content-addressed execution_ref (keystone-only edition, Apache-2.0)
Author-email: AlgoVoi <chopmob@gmail.com>
License: Apache-2.0
Keywords: amqp,rabbitmq,pika,messaging,keystone,execution_ref,jcs,rfc8785,algovoi
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: algovoi-substrate>=0.3.0
Dynamic: license-file

# algovoi-keystone-amqp

[![Keystone Integration](https://img.shields.io/badge/Keystone-integration-7c8aa0)](https://docs.algovoi.co.uk/keystone)

Bind AMQP / RabbitMQ publishes to the AlgoVoi keystone -- every publish on a wrapped pika channel gets a content-addressed execution_ref. Open, keystone-only edition, Apache-2.0. Byte-compatible with `algovoi-execution-ref`.
Available on request -- see https://docs.algovoi.co.uk/keystone-connectors

```python
from algovoi_keystone_amqp import keystone_channel

ch = keystone_channel(channel, decision_ref="sha256:...")
ch.basic_publish(exchange="orders", routing_key="created", body=payload)
ch.execution_ref   # binds that publish (scope = exchange/routing_key) to the keystone decision
```

Wraps `basic_publish`; everything else (queue_declare, basic_consume, ...) passes through. A failed
publish is recorded `FAILED`. No pika dependency -- wraps any channel exposing `basic_publish`. Or
compute standalone with `amqp_execution_ref(...)`.

A failed operation is recorded with outcome `FAILED`; `tamper_detected(...)` recomputes any
binding offline.

## Keystone-only edition

The open edition binds and verifies each operation. The signed, hash-linked chain of operations
(PQC + CCC ingest) is the commercial tier.

## License

Apache-2.0. Copyright AlgoVoi.
