| content |
{"Commits":[{"Sha1":"0bacabbbf {"Commits":[{"Sha1":"0bacabbbf2ed7e903ea7c77bad7cb973220417f9","Message":"docs(acceptance): record MCP verification and shared-dev OS entry\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:37:05-07:00"},{"Sha1":"545112d3ab25eef1235f4ba7e96425f77521cf9a","Message":"chore(governance): register MCP consumer contract exports\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:33:38-07:00"},{"Sha1":"cb8177419cb374287ef67bf5a65cdfa2fe5d3a5f","Message":"feat(mcp): add governed read-only control-plane client and evidence view\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:23:59-07:00"},{"Sha1":"edec489b68a5957de8136f926c39f509e6b2147c","Message":"feat(realtime): 产品事件补齐请求上下文——不改产品,来源留在 OS 侧\n\nB3″ 如实登记过一条:产品事件走 @repo/product-runtime 的裸 SQL INSERT,Prisma 扩展覆盖不到,\n所以它们没有 context。本批补齐,但**原计划的做法行不通,改了路子**:\n\n原计划「给 ProductSqlRuntimeOptions 加上下文入参」——查下来 createProductSqlRuntime 的调用方是\n**产品自己的组合根**(products/\u003cid\u003e/src/os-composition.mjs),而 products/\u003cid\u003e/ 按双形态原则\n只是派生制品、真源在独立仓。改它的签名就是制造与独立仓的漂移,必须走 GAP-10 对账。\n本仓不越过那道协议去改派生制品。\n\n改为 OS 侧进程级 provider:`setProductOutboxContextProvider`,两后端在装配期各注册一次自己的\n`outboxContext`(读 AsyncLocalStorage),**产品代码一个字不用改**。\n\n**这条依赖一个必须验证而不是假设的前提**:后端按包名 import 与产品按绝对路径 require,\n拿到的是不是同一个模块实例?不是的话,provider 注册在一边、读在另一边,上下文会静默为 null\n——正是那种「看起来接上了、其实全是空」的假绿。实测验证:pnpm 软链 + Node realpath 解析\n使两者命中同一 CJS 缓存项,`byPath.setProductOutboxContextProvider === byName.…` 为 true。\n为此两后端新增 @repo/product-runtime workspace 依赖(它是本仓 6 个稳定内核包之一,\n不是对产品的依赖,方向没问题)。\n\n失败语义:provider 抛错时返回空上下文而不是让事务失败——**上下文缺席远好于业务写链被拖垮**。\n未注册(worker / 独立 dispatcher)时两列为 NULL,缺席是诚实的,不合成。\n\n守护:product-runtime 单测 7 → 10(注册即带 / 未注册即 NULL / provider 抛错不拖垮写链);\ncheck:dual-backend 增 5 条 targeted 断言 + 1 个受控断线负探针(负探针 5 → 6)。\nproduct-runtime 升 1.2.0(expand-only),kernel.packages / kernel.downstream 两把锁重签,\n下游 fixture 源码未改即通过。\n\n过程中撞到一次邻近窗口:注册行插在 assertTenantAuthStartup 与框架初始化之间,撑破了 C51 的\n160 字节断言。**这次没有放宽窗口**——C51 那句「必须在框架初始化之前 fail closed」是有语义的,\n改为把注册挪到框架创建之后(它本来也不需要那么早)。\n\n证据:typecheck 14/14;pnpm check 28/28;product-runtime 10/10。\nown-test-cases 789 → 792 已按实测更新;tests-passing 仍写 786(当前 runtime 报告口径),\n等本批 runtime 实测后再改——不预写未经实测的数字。锚点按 C241 指向父提交 14983b5。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T22:02:01-07:00"}],"HeadCommit":{"Sha1":"0bacabbbf2ed7e903ea7c77bad7cb973220417f9","Message":"docs(acceptance): record MCP verification and shared-dev OS entry\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:37:05-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/14983b57ae2ab9c0e424700ca11c3f4677984400...0bacabbbf2ed7e903ea7c77bad7cb973220417f9","Len":4}... |