新增: 推进链阶段3收口(advance_task/run_workflow工具+status状态机收口)
This commit is contained in:
@@ -331,11 +331,15 @@ pub fn allowed_columns_for(table: &str) -> Option<&'static [&'static str]> {
|
||||
"tasks" => &[
|
||||
// id/created_at 不列入:主键与创建时间不可通过通用 update_field 改写
|
||||
// (防篡改主键/伪造创建时间/跨项目移动)。
|
||||
// status 不列入(D-260616-04 status 收口):所有 status 改动走
|
||||
// advance_status_atomic(CAS SQL `WHERE id AND status=expected`,唯一 status 写入路径),
|
||||
// 不经通用 update_field。防 update_task IPC / AI 工具旁路改 status 绕过状态机
|
||||
// (can_transition 校验)与 review_rounds 累加。后人勿把 status 补回白名单。
|
||||
// review_rounds 不列入:它仅 advance_status_atomic 退回转换
|
||||
// (in_review→in_progress / testing→in_review)时原子 +1(收口:仅该专用路径可改,
|
||||
// update_task/update_field 白名单均不含)。后人勿把 review_rounds 补进白名单,
|
||||
// 否则破坏「review_rounds 唯一写入路径」收口、引入旁路写导致计数错乱。
|
||||
"project_id", "title", "description", "status", "priority", "branch_name",
|
||||
"project_id", "title", "description", "priority", "branch_name",
|
||||
"assignee", "workflow_def_id", "base_branch", "updated_at",
|
||||
// TODO(B-260616-16): project_id 跨表存在性校验待 commands/task.rs 层补。
|
||||
// 通用 CRUD 层(db repo)只懂表/列语义,不持有跨表业务约束(查 projects 表存在性)。
|
||||
|
||||
Reference in New Issue
Block a user