Skip to content

Add tangible-ddd skill (framework's own canonical copy)#8

Merged
titus-toia merged 1 commit into
masterfrom
add/ddd-skill
Jun 20, 2026
Merged

Add tangible-ddd skill (framework's own canonical copy)#8
titus-toia merged 1 commit into
masterfrom
add/ddd-skill

Conversation

@titus-toia

Copy link
Copy Markdown
Contributor

The DDD patterns skill lived in the lms-monorepo consumer; move the source of truth into the framework repo it documents. Includes the recent guidance additions:

  • Hard Rules: a command/handler never launches a command (->send()). Feeling the urge signals a modeling gap upstream; reactions are inline work or an integration event, never a nested command. Explains the why (sync in-transaction publish makes ->send() a nested-tx + EventsUnitOfWork.reset() hazard).
  • Async domain events demoted in favour of integration events: deferring a reaction out of the originating transaction is crossing a consistency boundary, so it's an integration event. AsyncWordPressActionHandler marked rare/last-resort with a caveat.

The DDD patterns skill lived in the lms-monorepo consumer; move the source
of truth into the framework repo it documents. Includes the recent guidance
additions:

- Hard Rules: a command/handler never launches a command (->send()). Feeling
  the urge signals a modeling gap upstream; reactions are inline work or an
  integration event, never a nested command. Explains the why (sync
  in-transaction publish makes ->send() a nested-tx + EventsUnitOfWork.reset()
  hazard).
- Async domain events demoted in favour of integration events: deferring a
  reaction out of the originating transaction is crossing a consistency
  boundary, so it's an integration event. AsyncWordPressActionHandler marked
  rare/last-resort with a caveat.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants