- 迁移:调用结算与配置验证(V0056)、来源当前授权(V0057)、成品补充验证回执(V0058)、检索索引代次(V0059)、 评测单元复用来源(V0060);新表按既有约定加只追加守卫与角色授权。 - 流程模板与载入口径同步(内联保护字段改为登记类型约束);旧库迁移工具链按新表结构对齐。 - 配置:提供方模板与运行配置同步角色策略版本;角色策略白名单新增 qwen3.8-flash(见收尾报告待裁决项: 该模型精确身份与独立性尚未核验,且策略版本号未随白名单升版)。
56 lines
3.6 KiB
SQL
56 lines
3.6 KiB
SQL
-- 结算不产生执行事件;账目变化由独立版本及只追加命令回执表达。
|
|
ALTER TABLE public.muse_task ADD COLUMN accounting_revision bigint NOT NULL DEFAULT 0;
|
|
ALTER TABLE evaluation.muse_task ADD COLUMN accounting_revision bigint NOT NULL DEFAULT 0;
|
|
CREATE TABLE public.muse_call_settlement (
|
|
task_id uuid NOT NULL REFERENCES public.muse_task(task_id),
|
|
command_id text NOT NULL CHECK (btrim(command_id) <> ''),
|
|
receipt_id uuid NOT NULL UNIQUE,
|
|
request_hash text NOT NULL CHECK (request_hash ~ '^[0-9a-f]{64}$'),
|
|
receipt jsonb NOT NULL,
|
|
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
|
|
PRIMARY KEY(task_id,command_id)
|
|
);
|
|
CREATE TABLE evaluation.muse_call_settlement (LIKE public.muse_call_settlement INCLUDING ALL);
|
|
ALTER TABLE evaluation.muse_call_settlement ADD FOREIGN KEY(task_id) REFERENCES evaluation.muse_task(task_id);
|
|
CREATE TRIGGER muse_call_settlement_immutable BEFORE UPDATE OR DELETE ON public.muse_call_settlement
|
|
FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history();
|
|
CREATE TRIGGER muse_call_settlement_immutable BEFORE UPDATE OR DELETE ON evaluation.muse_call_settlement
|
|
FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history();
|
|
GRANT SELECT,INSERT ON public.muse_call_settlement TO muse_app;
|
|
GRANT SELECT,INSERT ON evaluation.muse_call_settlement TO muse_eval;
|
|
REVOKE ALL ON public.muse_call_settlement FROM muse_eval;
|
|
-- 验证专用绑定不能被业务配置读取入口消费,不需要草案先启用。
|
|
CREATE TABLE public.muse_config_probe_binding (
|
|
task_id uuid PRIMARY KEY REFERENCES public.muse_task(task_id),
|
|
config_id text NOT NULL,
|
|
version text NOT NULL,
|
|
content_hash text NOT NULL CHECK (content_hash ~ '^[0-9a-f]{64}$'),
|
|
content jsonb NOT NULL,
|
|
created_at timestamptz NOT NULL DEFAULT clock_timestamp()
|
|
);
|
|
CREATE TABLE evaluation.muse_config_probe_binding (LIKE public.muse_config_probe_binding INCLUDING ALL);
|
|
ALTER TABLE evaluation.muse_config_probe_binding ADD FOREIGN KEY(task_id) REFERENCES evaluation.muse_task(task_id);
|
|
CREATE TRIGGER muse_config_probe_immutable BEFORE UPDATE OR DELETE ON public.muse_config_probe_binding
|
|
FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history();
|
|
CREATE TRIGGER muse_config_probe_immutable BEFORE UPDATE OR DELETE ON evaluation.muse_config_probe_binding
|
|
FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history();
|
|
GRANT SELECT,INSERT ON public.muse_config_probe_binding TO muse_app;
|
|
GRANT SELECT,INSERT ON evaluation.muse_config_probe_binding TO muse_eval;
|
|
REVOKE ALL ON public.muse_config_probe_binding FROM muse_eval;
|
|
CREATE TABLE public.muse_call_reconciliation (
|
|
task_id uuid NOT NULL REFERENCES public.muse_task(task_id),
|
|
command_id text NOT NULL CHECK (btrim(command_id) <> ''),
|
|
request_hash text NOT NULL CHECK (request_hash ~ '^[0-9a-f]{64}$'),
|
|
receipt jsonb NOT NULL,
|
|
PRIMARY KEY(task_id,command_id)
|
|
);
|
|
CREATE TABLE evaluation.muse_call_reconciliation (LIKE public.muse_call_reconciliation INCLUDING ALL);
|
|
ALTER TABLE evaluation.muse_call_reconciliation ADD FOREIGN KEY(task_id) REFERENCES evaluation.muse_task(task_id);
|
|
CREATE TRIGGER muse_call_reconciliation_immutable BEFORE UPDATE OR DELETE ON public.muse_call_reconciliation
|
|
FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history();
|
|
CREATE TRIGGER muse_call_reconciliation_immutable BEFORE UPDATE OR DELETE ON evaluation.muse_call_reconciliation
|
|
FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history();
|
|
GRANT SELECT,INSERT ON public.muse_call_reconciliation TO muse_app;
|
|
GRANT SELECT,INSERT ON evaluation.muse_call_reconciliation TO muse_eval;
|
|
REVOKE ALL ON public.muse_call_reconciliation FROM muse_eval;
|