工作成果里摆着别单的资料:「这一单产出的」认本单碰过的行

放行存档(archiveAssetFiles)与在办列单(assetFilesOf)取行都用 taskView(where:{}) ——
那是「正式版全表 + 本单草稿」的合并视图,而资料常落在主数据上,整表里躺着别单放行过的行。
抽 assetRowsOf 两处同用,touched 为必填入参;e2e 补份数断言。
顺手清两笔:wake.test.ts 的 as unknown as(lint 红)、wake 契约的 api-report 快照(api:check 红)。
This commit is contained in:
xcs
2026-08-25 15:38:10 +08:00
parent 094386f02c
commit d788140548
9 changed files with 260 additions and 57 deletions
+7
View File
@@ -85,6 +85,13 @@ export type TaskService = {
/** 控制三语义:暂停 / 叫停 / 终止 */
control(taskId: TaskId, semantic: ControlSemantic, by: StaffId, reason?: string): Promise<ControlOutcome>;
resume(taskId: TaskId, by: StaffId): Promise<Task>;
/**
* **人答复落库那一刻就把「在办事」写进投影**(2026-08-25):不等派发器投递、推进器
* 抢到租约再翻 —— 那几秒里对话区(卡状态已落)与工作区(读 runtime)说两句相反的话。
* 只在挂起等人 / 等外部时翻;已终结、暂停(suspended)、已在跑的原样不动。
* 返回翻没翻 —— 调用方据此决定要不要广播。
*/
wake(taskId: TaskId): Promise<boolean>;
/** 改派:在途任务的负责人变更,**留痕并通知双方** */
reassign(taskId: TaskId, to: StaffId, by: StaffId): Promise<Task>;
/** 终态裁定 —— 完成由框架裁定,终态由系统命名 */