Skip to content

[#5704 批次2] B 类替身改名 makeMemoryDriver→makeStubDriver(objectql 22 + runtime 2)+ Q2-B 保留注释 #5784

Closed

Description

@os-zhuang

Part of #5704(批次 2)。维护者 2026-08-06 裁决 Q1=C / Q2=B(落档见 #5704 裁决评论)。

任务 1:24 个文件的本地替身改名(纯机械,零行为变更)

makeMemoryDriver() 是各文件自带的手写 stub(所在包连 @objectstack/driver-memory 依赖都没有),命名系统性误导度量与人(#5704 Phase 1 survey 的核心发现)。统一改名 makeStubDriver(),调用点与类型随之;注释里把 stub 描述成「memory driver」的散文一并改写为指涉 stub 本身(如「same shape driver-memory uses」→ 指涉 engine 期望的最小 stub 形状)。改名后文件内不得再有指涉 driver-memory 包的字样(确需描述真实语义分叉的散文除外,逐处判断)。

  • packages/objectql(22 个测试文件):bulk-write-per-row-hooks、engine-audit-anchor-write、engine-autonumber-runtime-owned、engine-cascade-delete、engine-dangling-reference-audit、engine-data-events、engine-default-value-tokens、engine-filter-alias、engine-lookup-referential-integrity、hook-condition-bulk-previous、hook-condition-fail-loud、hook-condition-merged-record、hook-condition-previous-scope、hook-input-shape-contract、protocol-clone-real-engine、protocol-recorded-by-null、protocol-registry-shadow、protocol-save-meta-repo-path-real-engine、protocol-unknown-query-param、protocol-unregistered-object、query-expression-conformance、secret-fields
  • packages/runtime(2 个):sandbox/nested-write.canary、sandbox/nested-write.integration

以 git grep -l "makeMemoryDriver" packages/objectql packages/runtime(对 origin/main)实测为准 — survey 基线 a58c0b5,先复核前提。

任务 2:Q2-B 落地(仅注释)

packages/runtime/**/undeclared-field-write-driver-split.integration.test.ts 文件头加注释块:本文件是仓内唯一刻意保留的 driver-memory 测试消费点 — 无 schema 语义参照臂,钉「写未声明字段:SQL 族整条拒绝 / 无 schema 族照单全收」的产品分歧;非迁移遗漏;#5499 冻结令冻的是缺陷修复投入、不禁止参照使用;引用 #5704 裁决评论。⛔ 不改测试逻辑。

边界(⛔)

  • ⛔ 不动 rest / plugin-approvals / trigger-record-change 的 7 个 *.integration.test.ts — 并行批次 3 正在整体重写它们;
  • ⛔ 不动任何 package.json(runtime 的 driver-memory devDep 因 Q2-B 长期保留);
  • ⛔ 不动 A 类已迁文件(datasource-autoconnect、read-coercion-conformance)、域外剔除 7 文件、cli/serve-driver-banner、service-datasource/sqlite-driver-fallback、spec 两文件;
  • 零运行时代码改动 — diff 只应有测试文件与注释。

验收

  • 改名范围内 makeMemoryDriver 归零(全仓余量只允许在批次 3 的 7 个文件里,等它们自己清);
  • packages/objectql、packages/runtime 受影响测试全绿,vitest 用例计数与改前一致;
  • 测试行为不面向用户 → skip-changeset 约定(label 由 PM 代打,报告说明即可)。

Activity

  1. self-assigned this
    on Aug 6, 2026
  2. os-zhuang commented on Aug 6, 2026

    @os-zhuang
    ContributorAuthor

    认领:PM 循环第 8 轮(drivers 车道,#5704 批次 2)
    会话:session_01WyvqvKMG6asi9aXjKE6xtx
    分支:claude/issue-5784-stub-driver-rename
    Worktree:objectstack-issue-5784
    域:跨域执行 — 落点 packages/objectql(domain:engine-core)+ packages/runtime(domain:cli);程序锚点 #5704 属 domain:drivers,维护者 2026-08-06 裁决 Q1=C / Q2=B 并指令本车道执行(落档见 #5704 裁决评论)
    文件面:packages/objectql/src 的 makeMemoryDriver 命中文件(origin/main fc5f536 实测 24 个 — survey 22 + engine-data-events.bench.ts + 基线后新落的 engine-write-formula-hydration.test.ts,范围按 grep 现状全量)+ packages/runtime/src/sandbox 3 文件(nested-write ×2 改名、undeclared-field-write-driver-split 仅注释)。零 package.json、零运行时代码。

    定向在飞检查(实测):cli 车道在飞 #5674 文件面为 packages/rest getDiscovery 替身 15 文件、#5726 为 packages/cli — 与本单不相交;engine-core 车道(#4604 正文)无登记在飞单。


    Generated by Claude Code

  3. os-zhuang commented on Aug 6, 2026

    @os-zhuang
    ContributorAuthor

    复核:ACCEPT → PR #5797(PM 实测复核,不采信报告自述):

    收口备忘追加:protocol-batch-atomic.test.ts:23 与 protocol-data.test.ts:759 的「same shape driver-memory uses」散文(survey 附录项,不在本单文件面)留 #5704 收口一并扫。

    转 ready 入合并队列,跟到 MERGED。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions