[E04-S02] Content repository/application commands #69

Open
opened 2026-08-27 00:00:36 +00:00 by kpcto · 0 comments
Owner

Parent epic: [E04] Blog content (#32)

Intent

Implement the content repository and application commands for draft, publish, and query operations.

Acceptance criteria

  • createDraft, updateDraft, publish, and unpublish commands are implemented.
  • getById, getPublishedBySlug, and listPublished queries are implemented.
  • Slug uniqueness is enforced at both DB and application layers.
  • Public queries never return a draft or deleted entry.
  • Publish state transitions are validated before they are applied.
  • Timestamps are stored as UTC/TIMESTAMPTZ.

Explicitly out of scope

  • Immutable revision history (E04-S03).

Test plan

  • Command tests cover each operation and the slug, state, and timestamp rules.

Rollback note

  • Commands are transactional; failures leave no partial state behind.

Owning stream

platform

Risk quadrant

agent-full

> Parent epic: [E04] Blog content (#32) ## Intent Implement the content repository and application commands for draft, publish, and query operations. ## Acceptance criteria - createDraft, updateDraft, publish, and unpublish commands are implemented. - getById, getPublishedBySlug, and listPublished queries are implemented. - Slug uniqueness is enforced at both DB and application layers. - Public queries never return a draft or deleted entry. - Publish state transitions are validated before they are applied. - Timestamps are stored as UTC/TIMESTAMPTZ. ## Explicitly out of scope - Immutable revision history (E04-S03). ## Test plan - Command tests cover each operation and the slug, state, and timestamp rules. ## Rollback note - Commands are transactional; failures leave no partial state behind. ### Owning stream platform ### Risk quadrant agent-full
kpcto added this to the Sprint 1 milestone 2026-08-27 00:00:36 +00:00
kpcto added the
status
proposed
kind
story
labels 2026-08-27 00:00:36 +00:00
Sign in to join this conversation.