# Taskboard Store Boundary Map

`internal/store/taskboard` owns task board persistence, task detail operations, task
scope projection, and task-native review/activity facts. The package is still a
single domain store; prefer boring file-level boundaries before introducing new
subpackages.

## Detail operation files

`detail.go` should stay focused on the public task detail command surface and
transaction orchestration for detail-oriented operations. Shared validation,
normalization, JSON encoding/decoding, and channel-member reference helpers live
in `detail_shared_helpers.go` so read, mutation, subtask, and review operations do
not hide reusable policy at the bottom of the orchestration file.

When changing task detail code:

- keep SQL shape request-bounded; helper reuse must not introduce hidden broad
  member/task enumeration;
- keep read/activity, mutation/subtask, review operation, and shared helper
  responsibilities in separate files once split;
- update the construction ratchet when a helper intentionally moves to a more
  specific boundary.
