Archived
M3(2/5): human-tool 与 release —— 卡协议与放行门
human-tool(L3): - 三规矩机检:调用必附上下文(裸调用拒发)/ 回传即留痕 / 完成只出自放行通过 - 工单两模式 + 对话卡族的形态校验与回传校验;驳回必附意见;补全卡「没法填」旁路; 决策卡自定义收尾项必附理由;已答不得再答(只增不改) - 到达面两路(负责人 → 任务对话流;他人 → 系统消息);驳回重答 = 新卡实例、原卡闭合 - 调人预算由基座在环外强制;落地失败卡 = 执行工单的 preset release(L4): - 落地预检五项(入参 schema / 工具可用与授权 / 连接可达 / 目标预校验 / 数据冲突) - 预检全过才发验收工单,卡面即已验证的动作清单;不过即打回环内,不发卡 - 放行写合并 + 幂等落地(任务 × 意向);落地收敛才发射输出口; 受阻走落地失败卡且 emittedPorts 恒空;已成动作留存不回滚 215 个测试通过,门禁五道全绿 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
co-authored by
Claude Opus 5
parent
146e9bbfad
commit
561a2474ae
@@ -0,0 +1,40 @@
|
||||
CREATE TABLE "sys"."chat_card" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"task_id" text NOT NULL,
|
||||
"recipient_id" text NOT NULL,
|
||||
"kind" text NOT NULL,
|
||||
"payload" jsonb NOT NULL,
|
||||
"at" timestamp with time zone NOT NULL,
|
||||
"superseded_by" text,
|
||||
"rejected_reason" text
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "sys"."work_order" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"task_id" text NOT NULL,
|
||||
"recipient_id" text NOT NULL,
|
||||
"mode" text NOT NULL,
|
||||
"title" text NOT NULL,
|
||||
"payload" jsonb NOT NULL,
|
||||
"at" timestamp with time zone NOT NULL,
|
||||
"done" jsonb
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "sys"."action_intent" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"task_id" text NOT NULL,
|
||||
"tool" text NOT NULL,
|
||||
"input" jsonb NOT NULL,
|
||||
"idempotency_key" text NOT NULL,
|
||||
"state" text DEFAULT 'drafted' NOT NULL,
|
||||
"label" text NOT NULL,
|
||||
"detail" text,
|
||||
"error" text,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX "chat_card_task_idx" ON "sys"."chat_card" USING btree ("task_id","at");--> statement-breakpoint
|
||||
CREATE INDEX "chat_card_recipient_idx" ON "sys"."chat_card" USING btree ("recipient_id");--> statement-breakpoint
|
||||
CREATE INDEX "work_order_task_idx" ON "sys"."work_order" USING btree ("task_id","at");--> statement-breakpoint
|
||||
CREATE INDEX "work_order_recipient_idx" ON "sys"."work_order" USING btree ("recipient_id");--> statement-breakpoint
|
||||
CREATE INDEX "action_intent_task_idx" ON "sys"."action_intent" USING btree ("task_id","state");
|
||||
Reference in New Issue
Block a user