Priority: High
Dependencies: None
Description:
Implement the MessageBusRepository trait using RabbitMQ via AMQP protocol to publish action events.
Acceptance Criteria:
Technical Notes:
- Use
lapin or amqprs crate for RabbitMQ
- Serialize
ActionEvent to JSON for message body
- Use topic exchange for routing flexibility
- Ensure idempotent publications (include
action_id in message)
Priority: High
Dependencies: None
Description:
Implement the
MessageBusRepositorytrait using RabbitMQ via AMQP protocol to publish action events.Acceptance Criteria:
RabbitMqMessageBusininfrastructure/messagebus/modulepublish()to sendActionEventto RabbitMQActionEvent(format:{resource}.{kind})HeraldError::MessageBusTechnical Notes:
lapinoramqprscrate for RabbitMQActionEventto JSON for message bodyaction_idin message)