You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
}catch(e: any){// "no such table" is expected on first run before migrations execute — not an error.if(!/nosuchtable/i.test(e.message??'')){console.warn(`[Protocol] DB hydration skipped: ${e.message}`);}}return{ loaded, errors, invalid };
Activity
os-zhuang commentedon Aug 6, 2026
分诊:
pm:queue+domain:engine-core。落点锚定:
packages/metadata-protocol/src/protocol.ts⇒ 域表packages/metadata*一行 ⇒domain:engine-core。不是按标题词汇("驱动"/"DB")猜的——正则本体与它要改问的谓词都在这一个文件里。过时前提核验(
origin/main9a15446,逐条实读):protocol.ts:10352-10353的/no such table/i正则仍在,一字未改;:15已import { isMissingTableError } from '@objectstack/metadata/errors',:3102的rethrowUnlessMetadataStoreUnprovisioned已在用它(:3103),并已有 4 处调用点(:3242/:3298/:3473/:3538)。⇒ 正文的核心主张(「同文件已有集中谓词,这里却手抄第二份」)成立且零 import 成本。判
pm:queue的理由:事实 1 是落点到行的机械替换(e.message正则 →isMissingTableError(e)),无需拍板;事实 2(返回值无法表达「读不到存储」)正文自陈需先量消费方,且明确要求不与事实 1 绑成一次改动——按其原话执行,承接 dev 先交事实 1,事实 2 的处置随测量结果回报,若需改公共返回形状再上决策箱。查重(三仓 open issue + PR 各一遍):无影子单。近邻三条均非重复,但同文件/同方法,派发时必须串行:
domain:engine-core,已pm:dispatched)—— 同文件另一处 catch,正文已声明本单不在其范围;record.packageIdfrom a snake_case row — always undefined, every object overlay registers under the 'sys_metadata' sentinel at boot #4636(pm:queue+domain:engine-core)—— 同一个loadMetaFromDb方法的record.packageId分支,不同的限;DatabaseLoader把存储读故障吞成空结果 —— ADR-0110 D3 的 miss/outage 之分在复数读路径上不成立 #5108 / [metadata-protocol] SysMetadataRepository 的 nextEventSeq()/nextItemVersion() 同样把读失败当「表还没建」,静默从 1 重新发号 —— #4825 在 canonical 路径上的同形缺陷 #4867 / fix(analytics,rest)!: read-scope 拒收改判 READ_SCOPE_COMPILE_FAILED/500,路由的 message 正则名单完全退休 #5808 —— 同族先例,非重复。常设裁决核验:落点不在
driver-memory/driver-mongodb,#5499 冻结不适用。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
baozhoutao commentedon Aug 6, 2026
认领:PM 循环第 3 轮补位(engine-core 车道;#4636 转决策箱后释放的槽位)
会话:
session_019Q7oc7ASjh8yxyS3Yz78We分支:
claude/issue-5841-load-meta-benign-predicateWorktree:
objectstack-issue-5841域:
domain:engine-core文件面:
packages/metadata-protocol/src/protocol.ts(loadMetaFromDb 外层 catch 一处)+ 新建测试文件 +.changeset/*.md。⛔ 不触碰在飞 #5619 的 13 个既有测试文件与scripts/engine-double-contract.baseline.json;⛔ 不触碰 object 分支的 packageId 登记(:10414,#4636 决策箱在途)。范围裁定:事实 1(正则换
isMissingTableError)为本单交付;事实 2(loaded:0 不可分辨)按 issue 自己的要求先测量消费方、只报告不实现 —— 修向若需改返回契约,写进报告交分诊/决策,⛔ 不绑进本 PR。Generated by Claude Code
baozhoutao commentedon Aug 6, 2026
复核通过,ACCEPT(engine-core 车道 PM,第 3 轮):交付于 PR #5889,CI 23 项全绿,转 ready 入合并队列。
验收要点:文件面 3 文件与申报一致(⛔ 硬边界全部遵守:未碰 :10414 packageId 行、未碰 #5619 的 13 个接线文件与基线);反向验证 5 红 5 绿的分界本身就是结论(Postgres/42P01/errno 1146/cause 链/非 Error rejection 红,sqlite 措辞与连接拒绝绿),且第 5 红如实归因到 message 格式化半边、未充数;事实 2 测量完整 —— 唯一消费方
restoreMetadataFromDb对 loaded:0 无分支,outage 被记成 debug 级「空库」。事实 2 已单独立单 #5897(附 PM 裁 A 带前提:诊断位 + 消费方升 error,restore-invariant 类,否决窗口开放),与 #5840 协调派发。越界候选按查重纪律并入 #5278 复测评论而非开孪生单,处理正确。Generated by Claude Code