项目组管理:版本历史落库(无界面) #50

Closed
opened 2026-11-05 07:02:37 +00:00 by cykj · 2 comments
Owner

诉求

项目组(/project/management/teams)每次新增、编辑、软删除后,将完整快照写入版本历史表,便于 N 次修改后仍可还原负责人、成员、负责地区/医院等全部信息。

范围

  • 修改端:backend only
  • 不做 Web 历史界面、不画 Figma、不暴露查询 API(本期)
  • 规格:docs/superpowers/specs/2026-11-05-project-team-history-design.md
  • 计划:docs/superpowers/plans/2026-11-05-project-team-history.md

方案

新建 biz_project_team_history,每次成功写入追加一行(version_no 递增 + snapshot_json 完整序列化)。

验收

  1. 创建与多次编辑后库中按版本可还原完整快照
  2. 软删除产生 action=delete 历史行
  3. Web 项目组管理界面无新增入口(行为不变)
  4. 相关自动化测试通过;有 docs/sql 迁移

测试责任

Agent 测试(默认)

## 诉求 项目组(`/project/management/teams`)每次新增、编辑、软删除后,将完整快照写入版本历史表,便于 N 次修改后仍可还原负责人、成员、负责地区/医院等全部信息。 ## 范围 - 修改端:`backend` only - **不做** Web 历史界面、不画 Figma、不暴露查询 API(本期) - 规格:`docs/superpowers/specs/2026-11-05-project-team-history-design.md` - 计划:`docs/superpowers/plans/2026-11-05-project-team-history.md` ## 方案 新建 `biz_project_team_history`,每次成功写入追加一行(`version_no` 递增 + `snapshot_json` 完整序列化)。 ## 验收 1. 创建与多次编辑后库中按版本可还原完整快照 2. 软删除产生 `action=delete` 历史行 3. Web 项目组管理界面无新增入口(行为不变) 4. 相关自动化测试通过;有 `docs/sql` 迁移 ## 测试责任 Agent 测试(默认)
cykj added the ai-in-progress label 2026-11-05 07:02:50 +00:00
cykj added ai-testing and removed ai-in-progress labels 2026-11-05 07:05:52 +00:00
Author
Owner

实现进度(Agent)

已在任务分支完成落库实现并通过相关自动化测试。

  • 分支:codex/issue-50-team-history-c5eb9cab9e08
  • 提交:6cba55f5c82326661621793204e026cfaa52408f
  • worktree:.local/agent/worktrees/issue-50-team-history-c5eb9cab9e08
  • 迁移:docs/sql/migrations/2026-11-05-project_team_history.sql(需在目标库手工执行)
  • 测试:pytest tests/test_project_management.py tests/test_project_assignment_integration.py tests/test_project_selection_permissions.py → 40 passed

行为

项目组 create / update / soft-delete 成功时向 biz_project_team_history 追加版本行(完整 serialize_entity JSON)。本期无 Web 界面、无查询 API。

待交付授权

工程当前未授权 push_task_branch / create_pr / merge / close_issue,任务分支尚未推送。授权后可继续推送、开 PR、合入 V2.0 并关单。

## 实现进度(Agent) 已在任务分支完成落库实现并通过相关自动化测试。 - 分支:`codex/issue-50-team-history-c5eb9cab9e08` - 提交:`6cba55f5c82326661621793204e026cfaa52408f` - worktree:`.local/agent/worktrees/issue-50-team-history-c5eb9cab9e08` - 迁移:`docs/sql/migrations/2026-11-05-project_team_history.sql`(需在目标库手工执行) - 测试:`pytest tests/test_project_management.py tests/test_project_assignment_integration.py tests/test_project_selection_permissions.py` → **40 passed** ### 行为 项目组 create / update / soft-delete 成功时向 `biz_project_team_history` 追加版本行(完整 `serialize_entity` JSON)。本期无 Web 界面、无查询 API。 ### 待交付授权 工程当前未授权 `push_task_branch` / `create_pr` / `merge` / `close_issue`,任务分支尚未推送。授权后可继续推送、开 PR、合入 `V2.0` 并关单。
cykj added ai-merging and removed ai-testing labels 2026-11-05 07:09:33 +00:00
Author
Owner

交付结果

personal-dev:delivery:cykj/zkxw#50:406ed0ee6d314bc828893527d39abf1db96a0fd2

  • 测试责任:Agent 测试
  • 验收:pytest 项目组相关 3 个文件 40 passed(含版本历史用例)
  • PR:#51 (merged)
  • 合并提交:406ed0ee6d314bc828893527d39abf1db96a0fd2 → V2.0
  • 迁移:docs/sql/migrations/2026-11-05-project_team_history.sql 需在目标库手工执行
  • 范围:仅 backend 落库;无 Web 历史界面

关闭本工单。

## 交付结果 personal-dev:delivery:cykj/zkxw#50:406ed0ee6d314bc828893527d39abf1db96a0fd2 - **测试责任**:Agent 测试 - **验收**:`pytest` 项目组相关 3 个文件 **40 passed**(含版本历史用例) - **PR**:https://gitea.aichengyan.com/cykj/zkxw/pulls/51 (merged) - **合并提交**:`406ed0ee6d314bc828893527d39abf1db96a0fd2` → `V2.0` - **迁移**:`docs/sql/migrations/2026-11-05-project_team_history.sql` 需在目标库手工执行 - **范围**:仅 backend 落库;无 Web 历史界面 关闭本工单。
cykj closed this issue 2026-11-05 07:10:12 +00:00
cykj added ai-done and removed ai-merging labels 2026-11-05 07:10:39 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cykj/zkxw#50