Files
JX-BPOS/docs/debt.md
T
JCAI Main AgentandClaude Opus 5 78dc03bb58 app 装配收尾:18 个模块接上,MVP 判据 1-2 端到端跑通
装配(app 是唯一组装层):
- wiring/engines.ts:skill/flow/loop/task/process/trigger 六个模块经端口接起来;
  两个范式引擎按统一 ParadigmEngine 契约暴露给 task —— 对上层不可区分
- agent-runner.ts:loop 的 Agent 回路经 ModelGateway(两缝之一,回放审看得见);
  出参过 schema 框住三型行动,不合规退化为「等人」而不是乱动世界
- container:interaction / human-tool / activity-registry / release 全部接上;
  event 的 TriggerMatcher 与 org 的 InFlightWorkProbe 以延迟绑定解环,端口不变
- workers/consumers.ts:派发器的两个消费者(任务监听推进旧单 / 触发器开新单,独立判定)
- tools/first-party.ts:查历史价(录制回放替身)+ 三分类打标(纯工具,DMN 确定性求值)
- seed-quote.ts:治理台四件事一次做完 —— 绑 LLM / 注册工具两审 / 经安装通道装活动包 /
  发布流程包(闭合校验通过)+ 配触发器与邮件通道

已验证(真机):
1. 治理台配置全过;活动包静态审 0 条提示、流程包闭合校验通过
2. 一封 RFQ 邮件入站 → 归属解析 → 触发器命中 1 → 起一条工作流 →
   A1 任务按岗位唯一人解析落到 BD 冯兵,runtime=running

修复:zod 判别式重复值(周期触发两型展开为 periodic-calendar / periodic-data,
triggerKindOf 对回三类分类学);活动构建脚本移出 activities(它要用 fs,
而活动包零环境能力 —— depcruise 拦下后按边界搬家)

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

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

2.4 KiB
Raw Blame History

技术债登记簿

编码规范 §17:历史违规集中登记于此——旧路径 warn、新代码 error,清零后升级。 例外必须注明原因与预期清理时间;散落的 eslint-disable 不算例外,算违规。

# 债 原因 预期清理 状态
M0-1 pnpm db:seed 只打印种子计划,未真正写库 种子数据(五岗位 / 五员工)已在 apps/api/src/app/seed.ts 冻结为常量并定义 OrgSeeder 端口;写入实现依赖 org 模块的 Drizzle schema,属 M1 M1 已清理(M1)
M0-2 packages/{sfeel,activity-sdk,ui-kit} 仅有版本常量 M0 只立骨架,内容按里程碑序填(§15);@contracts 已于 M1 落首版 M3–M5 进行中
M1-1 container.ts 里两个占位端口:InFlightWorkProbe(空集)、TriggerMatcher(恒不命中) 二者的真身在 task(L6,M4)与 trigger(L7,M5);MessageFallback 已于 M2 接真身 M4 / M5 进行中
M1-2 条件求值 passthroughEvaluator 恒真 @sfeel 属 M3;M1 的监听只用类型 + 关联键过滤,不用内容条件 M3 进行中
M1-3 投递记录写入即止,尚无派发 worker 派发器已于 M2 落地(advisory lock 串行 + 消费幂等);消费者(任务 / 触发器)随 M4 / M5 注册 M2 已清理
M2-1 派发器的消费者表为空 —— 投递只标记已送达 任务消费者属 task(M4),触发器消费者属 trigger(M5);投递链路本身已可测 M4 / M5 进行中
M5-3 活动 .JS 产物是源码文本,未经 tsup 单文件 ESM 真编译 静态审扫描的正是产物文本(import 与全局引用),当前形态已可审;真编译在装载器落地时接入 M6 前 进行中
M5-2 loop 的 Agent 回路直接经 ModelGateway,未用 Mastra Agent 编码规范 §6.1 规定用 Mastra Agent;AgentPort 端口不变,换实现时 usecase 不动;当前实现仍过两缝(录制回放可见) M6 前 进行中
M5-1 process 未用 Mastra workflow 编译器,流转由自持确定性状态机 + sys.node_instance 承担 编码规范 §6.1 规定流程包编译为 Mastra 图;二者语义等价(挂起/恢复由节点实例表承担),先落可测的自持实现,Mastra 编译器作为可替换 adapter 后补 —— usecase 不动 M5 收尾 进行中
M2-2 pg-boss 已装未用 定时作业(监听时限扫描、周期触发器)随 M5 落地;当下派发器用 setInterval M5 进行中