聚合根 AR
实体 Entity
值对象 VO
Repository
领域事件 Event
技术方案 · 任务 / 议题生命周期
状态迁移由聚合内 CanTransitionTo 强制;Task 终态恰为 {completed, verified, canceled},非终态集 = 可观测性默认「在飞工作」查询集。每议题/任务有组织内单调引用号 I<n> / T<n>(OrgSequence 竞态安全分配)。
Issue:open→in_progress→resolved→closed|reopened|withdrawn(终态)
Task:open→assigned→running→blocked / reopened→completed · verified · canceled(终态)
战术设计 · 聚合 / 实体 / 值对象 / 事件
项目管理 · ProjectManager internal/projectmanager
Task 任务 AR
id · projectID · title · description · status(TaskStatus) · assignee(IdentityRef) · derivedFromIssue · completedBy · blockedReason · createdBy · createdAt · updatedAt · version · orgNumber(T<n>)
状态机:
open→
assigned→
running→
blocked / reopened→
completed · verified · canceled
值对象
TaskStatus(8 态 · 5 活跃 + 3 终态)IdentityRefRepository · 事件
TaskRepository · FindByID · ListByStatus · Save · Update
pm.task.createdpm.task.assignedpm.task.reassignedpm.task.state_changedpm.task.subscribers_changedIssue 议题 AR
id · projectID · title · description · status(IssueStatus) · createdBy · createdAt · updatedAt · version · orgNumber(I<n>)
注:会话绑定由 Conversation.ownerRef 持有,Issue 不存 origin/concludedAt/conclusionSummary/conversationID。
状态机:
open→
in_progress→
resolved→
closed→
reopened
+
withdrawn(终态)
值对象
IssueStatus(6 态)IdentityRefRepository · 事件
IssueRepository · FindByID · ListByStatus · Save · Update
pm.issue.createdpm.issue.state_changedpm.issue.subscribers_changedProject 项目 AR
id(proj-) · name · description · tags[] · organizationID · createdBy · version
ProjectRepository · FindByID · ListByOrg · Save
pm.project.created
ProjectMember 成员 AR
id(MemberID) · projectID · identityID · role · addedBy
订阅是两个独立类型:TaskSubscriber + IssueSubscriber(两 repo)。另有 CodeRepoRef(AR)与 OrgSequence 分配器。
ProjectMemberRepository · TaskSubscriberRepository · IssueSubscriberRepository · CodeRepoRefRepository · OrgSequenceRepository.Allocate
pm.member.addedpm.member.removed
领域服务 · 任务/议题生命周期:校验状态机合法迁移 → 同事务写聚合 + 追加事件 → 触发工作项分派与会话参与者投影(跨聚合/跨上下文,故为领域服务)。
跨域协作:本域被智能体以 ACL(
pm://tasks/{id})非拥有引用,与会话为 U/D(每 Task/Issue 1:1 绑定会话),向可观测性同事务发事件。完整业务流见 战略设计 · Event Storming。