This repository has been archived on 2026-09-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
BPOS-TMP-REPO/docs/PROGRESS.md
T
JCAI Main AgentandClaude Opus 5 a919d2e961 M5(1/3): process 的 domain —— 闭合校验、四策略解析、状态聚合
- checkClosure:七类违规(边未映射 / 必填未齐 / 类型冲突 / 孤立节点 /
  网关不平衡 / 汇合来源不明 / 容忍分支被必填依赖)+ 活动未安装 + 岗位不存在;
  不闭合不得发布 —— 画布即时校验与后端裁决同源
- resolveOwner:四策略封闭(指定人 / 岗位唯一人 / 轮值 / 来源跟随);
  岗上多人退轮值,并列按 staffId 稳定排序 —— 解析必须确定性
- aggregateWorkflowState:聚合投影,流程层不另设状态机;计量对象是节点实例,
  XOR 未选分支不入集合,改道/容忍/升审批已消化即不入异常
- nextInstanceNumber:流级重做重开新实例,不复活旧任务

325 个测试通过,门禁五道全绿

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
2026-07-27 01:55:47 +08:00

5.9 KiB
Raw Blame History

实施进度(主 Agent 维护)

里程碑序见 编码规范 §15。每个里程碑先立骨架(index / contract / port / CONTRACT.md + 空测试) 再填实现;门禁从 M0 起全绿,红了先修门禁再前进。

状态总览

里程碑 内容 状态
M0 工作区骨架 + 五道门禁 + 环境自举 ✅ 完成
M1 @contracts 首版、event、ledger、org、llm ✅ 完成
M2 memory、toolbox、channel、message ✅ 完成
M3 interaction、human-tool、release、activity-registry、@sfeel ✅ 完成
M4 skill-engine、loop-engine、flow-engine、task ✅ 完成(模块与 domain;app 装配随 M5)
M5 process、trigger、@activity-sdk + 首个样例活动 🟡 process 的 domain 已落
M6 前端:工作台五要素 → 治理台九功能;minute、report ⬜ 未开始

当前:325 个测试通过(含 1 组对真实 PG 的集成测试),门禁五道全绿。

常用命令

pnpm gates          # gen:tiers → typecheck → lint → depcruise → api:check → test(五道门禁)
pnpm db:up          # docker compose 起 PG16(四 schema 由 db/init 建)
pnpm db:generate    # drizzle-kit 生成 sys schema 迁移
pnpm db:migrate     # 应用迁移
pnpm db:seed        # 播种五岗位五员工(登录者 = 冯兵)
pnpm dev:api        # tsup watch + node dist/main.js(:8787)
pnpm dev:web        # vite(:5173,/api 反代到 8787)

契约变更后:pnpm api:check --update && git add api-report(§12.4)。

已完成的落点

M0 — pnpm workspaces / tsconfig 双工程 / eslint flat / dependency-cruiser (基线八条 + JCAI 增补,tier-order 由 tools/module-tiers.json 生成)/ 契约快照只留契约面 / docker-compose PG16 + 四 schema。

M1 — @contracts 九文件首版;四个 L1 模块各带 index / contract / port / CONTRACT.md / domain 零 mock 测试;app 层 Hono 服务、鉴权中间件、DI 装配、drizzle 迁移、AES-256-GCM 凭证密封。 已验证:种子播种、岗位授权(BD 被拒 / PM 放行)、LLM 四元绑定密钥不外泄、 ledger 对真实 PG 的 schema 自生长与写三分。

M2 — 四个 L2 模块:memory(任务记忆四性质 / 活动记忆四层 / 任务日志两级投影 / 度量)、 toolbox(注册两审 / 效应等级 / 白名单 / ToolInvoker 第二条缝)、 channel(入站归一 → 系统写 → 数据事件;出站与关联记录)、message(通知 / 跨任务征答 / 死信 / 无主兜底)。 app 侧接上派发器(advisory lock 串行 + 消费幂等)与 /api/ingest 模拟通道。 已验证:一封无主 RFQ 邮件入站 → 归属解析 no-match → 事件落库 → 兜底落到 OP 岗位李元初的消息要素。

M3 — @sfeel 全套(lexer / parser / evaluate / static-check); human-tool 三规矩机检 + 工单两模式 + 对话卡族 + 到达面两路 + 驳回重答; release 落地预检五项 + 幂等落地 + 落地收敛才发射输出口; interaction 控制权按态转交 + 视图净化门 + SSE 推送; activity-registry 安装两审 + 悬空监听拒绝 + 零环境能力扫描 + 资产与包分离版本化 + 进化管线状态机。

M4 — skill-engine(载方法不载权力 / 结晶片段经 ToolInvoker 留痕 / 装配入信封); flow-engine(四种步型 / 条件跳步 / 声明给定的失败路径 / 异步步即监听 / 步序位置持久); loop-engine(自研 CMMN 子集解析器,表外构件直接报错;两副标准生命周期与迁移拓扑; Enabled ≠ Active;前提求值与语义性前提交裁量;DMN 确定性求值与命中行留痕;DRD 缺口演绎; 双向驱动与交集导航,断点即人环;三型行动); task(终态五名裁定 / Harness 预算与停滞熔断 / 控制三语义 / 改派 / 断点续跑三份持久状态 / 封卷触发蒸馏)。

M5(进行中) — process 的 domain:边映射闭合校验(七类违规)、负责人四策略确定性解析、 工作流状态聚合投影、失败走向消化判定、节点实例重开。

下一步(按序)

  1. M5 · process 余下:port.ts + usecase(流程包存取与发布、工作流实例起单与流转)、 internal/adapter/workflow-compiler.ts(Mastra createWorkflow/createStep,编码规范 §6.1: XOR → .branch(),AND → .parallel(),审批点与活动节点 suspend(),终态事件到达 resume())。
  2. M5 · trigger:三类触发器(周期两型 / 事件 / 登记)、判定与经调用接口起单; 接上 container.ts 里的 TriggerMatcher 占位;pg-boss 承接周期规则与监听时限扫描。
  3. M5 · @activity-sdk:基座六件接口 + defineActivity() + 本地开发宿主 + 回放夹具 + tsup 编译预设(§8.2 / ADR-004);随后在 activities/ 下按《MVP示例工作流》做首个活动 (建议先 A1 受理归一 = flow,再 A3 渠道寻源 = loop)。
  4. M4 收尾:把 loop / flow / skill / task 接入 container.ts —— 需要 loop-engine/internal/adapter/agent-runner.ts 的 Mastra Agent(§6.1)。
  5. M6 · 前端:按 README《前端 UI · 原型 1:1 平移》逐屏平移 ~/coding/JCAI_PRD/workbench(约 8k 行)与 ~/coding/JCAI_PRD/governance(约 5k 行); CSS 与 DOM 原样搬,组件按 §9 重排,mock 数据换真实 API;minute、report 两模块随之。
  6. 验收:README《MVP 完成判据》十条场景端到端跑通。

待接的占位(详见 docs/debt.md)

  • container.ts 两个占位端口:InFlightWorkProbe(M4)、TriggerMatcher(M5)
  • 派发器的消费者表为空(M4 任务 / M5 触发器)
  • pg-boss 已装未用(M5 定时作业)
  • M4 四模块尚未接入 container.ts(需要 Mastra Agent adapter 与流程层起单,随 M5)

已建 ADR

编码规范 §14 已占 001–006,新 ADR 自 007 续(README 写「从 005 续」是笔误):

  • ADR-007 工具链与门禁的落地形态
  • ADR-008 投递队列:sys.event_delivery 是队列本体,pg-boss 只管定时
  • ADR-009 凭证加密:AES-256-GCM + JCAI_SECRET_KEY