Framework Symfony Message Transaction¶
Verify Symfony container use, Doctrine transaction ownership, and Messenger redelivery safety.
Generated example
This page is generated from evaluations/scenarios/framework-symfony-message-transaction.yaml. The scenario YAML remains the executable source of truth.
Request¶
Repository evidence¶
No repository signals.
Expected resolution¶
| Resolution layer | Expected |
|---|---|
| Profile | — |
| Modifiers | — |
| Language adapters | — |
| Framework adapters | — |
Normalized context¶
Skill modes¶
None.
Conflict decisions¶
None.
Significant decisions¶
None.
Principles under test¶
Forbidden outcomes¶
- Put a managed Doctrine entity in the transport message.
- Assume Messenger delivery occurs exactly once.
Scenario source¶
schema_version: 0.10.0
id: framework-symfony-message-transaction
description: Verify Symfony container use, Doctrine transaction ownership, and Messenger
redelivery safety.
input:
profile: backend-service
language_adapter: php
framework_adapter: symfony
task: Persist an order and asynchronously send its confirmation.
expected:
resolution: commit-order-then-handle-idempotent-message-by-identifier
guidance:
- Inject the application operation and own the Doctrine write in one explicit transaction.
- Dispatch a durable message containing the order identifier after commit or through
an outbox.
- Make the Messenger handler idempotent with explicit retry and terminal failure
policy.
active_principles:
- inversion-of-control
- idempotency
- information-hiding
forbidden:
- Put a managed Doctrine entity in the transport message.
- Assume Messenger delivery occurs exactly once.
principles_under_test:
- inversion-of-control
- idempotency
- information-hiding