forked from ChaiHao/BPOS-MVP
M6(3/n): minute 与 report —— L8 两个模块补齐
minute(纪要):工作台五要素里唯一的主动动作。 纪要本身不产生责任,唯一通往责任的路是决议经登记触发起单 —— 登记人即来源。 正文可续、决议只增;同一决议不重复起单(起单一刻已有一条带来源的流在跑)。 report(汇报):日/周/月/年对任务日志的聚合投影,零手工汇报。 未提交的草案每次取回都重算 —— 汇报是投影不是账本,提交那刻才固定为事实快照。 度量八指标落在这里(§4 注:度量是只读投影,不设独立模块): 自主率 / 纠正率 / 有效自主率 / 打扰率 / 断点率 / DMN 覆盖率 / 单位成本 / 终态分布。 口径全部挂归侧标签与事件流,零埋点;单位成本的分母只认放行通过。 周窗口以周一为首日,按 UTC 切分(单组织单时区)。 FactSource 只读 memory 与 task,一行都不另记 —— 五要素同源。 gates: tsc / eslint / depcruise(305 模块)/ api-report / 377 测试 全绿 日报已在真实系统上由 A1 任务日志聚合出来,含治理干预两行 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
CREATE TABLE "sys"."minute_resolution" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"minute_id" text NOT NULL,
|
||||
"text" text NOT NULL,
|
||||
"owner_id" text,
|
||||
"state" text DEFAULT 'open' NOT NULL,
|
||||
"workflow_id" text,
|
||||
"registered_by_id" text,
|
||||
"registered_at" timestamp with time zone
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "sys"."minute" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"title" text NOT NULL,
|
||||
"body" text NOT NULL,
|
||||
"author_id" text NOT NULL,
|
||||
"participants" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
||||
"occurred_on" text NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "sys"."report" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"staff_id" text NOT NULL,
|
||||
"period" text NOT NULL,
|
||||
"title" text NOT NULL,
|
||||
"window_from" text NOT NULL,
|
||||
"window_to" text NOT NULL,
|
||||
"draft" jsonb NOT NULL,
|
||||
"note" text,
|
||||
"submitted_at" timestamp with time zone,
|
||||
"generated_at" timestamp with time zone DEFAULT now() NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX "minute_resolution_minute_idx" ON "sys"."minute_resolution" USING btree ("minute_id");--> statement-breakpoint
|
||||
CREATE INDEX "minute_occurred_idx" ON "sys"."minute" USING btree ("occurred_on");--> statement-breakpoint
|
||||
CREATE INDEX "report_staff_period_idx" ON "sys"."report" USING btree ("staff_id","period","window_from");
|
||||
File diff suppressed because it is too large
Load Diff
@@ -57,6 +57,13 @@
|
||||
"when": 1785089035016,
|
||||
"tag": "0007_swift_silver_samurai",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 8,
|
||||
"version": "7",
|
||||
"when": 1785094481010,
|
||||
"tag": "0008_strange_quasar",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user