Files
JX-BPOS/docs/debt.md
T
JCAI Main AgentandClaude Opus 5 f0444f1417 M2: 基座能力 —— memory / toolbox / channel / message
- memory   任务记忆四性质(只追加·信封盖戳·治理先行·归侧)、活动记忆四层与条目三件套、
           任务日志两级投影(结构化零 LLM / 叙述性小结不入事实库)、度量八指标只读投影
- toolbox  注册两审(静态审 + 试运行审)、效应等级决定运行时待遇、契约演进只增不破坏、
           白名单与纯工具私有作用域、ToolInvoker(两缝之二,live/record/replay)
- channel  通道实例配置、入站归一(解析 → 系统写 → 数据事件)、出站发送与关联记录登记
- message  通知 / 跨任务征答(就地作答 · 驳回重答只增不改)/ 死信 / 无主兜底

app:message 接上 event 的 MessageFallback;派发器按目标 ID 取 advisory lock 串行消费 +
消费幂等表;/api/ingest 模拟邮件通道(mock 只在外界)

已验证:无主 RFQ 邮件入站 → 归属解析 no-match → 事件落库 → 兜底落 OP 岗位的消息要素
门禁五道全绿;150 个单元测试 + 1 个 PG 集成测试

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

1.6 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 进行中
M2-2 pg-boss 已装未用 定时作业(监听时限扫描、周期触发器)随 M5 落地;当下派发器用 setInterval M5 进行中