Skip to content

chore(qa,objectql): 摘除 dogfood 无消费的 driver-memory devDep + 清扫 1 处 stub 注释散文 (#5829) - #5836

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-5829-dogfood-devdep-prose-sweep
Aug 6, 2026
Merged

chore(qa,objectql): 摘除 dogfood 无消费的 driver-memory devDep + 清扫 1 处 stub 注释散文 (#5829)#5836
os-zhuang merged 1 commit into
mainfrom
claude/issue-5829-dogfood-devdep-prose-sweep

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Fixes #5829

Part of #5704 收口阶段(批次 2/3 已合并,PR #5797 / #5806),本单是留档的两件尾项。

任务 1:摘除 packages/qa/dogfood 的 driver-memory devDep ✅

摘前按要求全包复核零真实消费(以 origin/main 为准):

$ git grep -in "memory" origin/main -- packages/qa/dogfood
README.md:13:  seams (analytics strategy routing, in-memory count, REST execution-context).
README.md:18:  This package boots real example apps in-process (in-memory SQLite), wired
package.json:37:  "@objectstack/driver-memory": "workspace:*"
test/read-coercion-conformance.test.ts:9:  // The `driver-memory` arm was removed in #5704 (batch 0) ...
...(其余全部是 in-memory / :memory: / applyInMemoryAggregation 之类与 driver-memory 无关的字样)

import ... from '@objectstack/driver-memory';唯一提及是 #5715 移除 memory 臂时留下的说明性注释(散文不算消费)。摘除该行后 pnpm install,lockfile 只掉了这一条 importer 链接:

-      '@objectstack/driver-memory':
-        specifier: workspace:*
-        version: link:../../drivers/driver-memory

任务 2:附录散文清扫 —— 实测后只改了 1 处,另 1 处原样保留

git grep -n "driver-memory" origin/main -- packages/objectql/src/protocol-batch-atomic.test.ts packages/objectql/src/protocol-data.test.ts 命中的两处,逐处读上下文后判定:

改写 —— protocol-batch-atomic.test.ts:23:该注释头的是 makeSnapshotDriver() 这个本地手写 stub,原文「the same shape driver-memory uses」正是 #5704 Phase 1 survey 里让 grep -i memory 虚高的措辞(packages/objectql 根本不依赖 driver-memory)。按 PR #5797 同款原则改写为指涉 stub 自身,保留其实质信息(这是真会回滚的快照式事务语义,不是玩具):

- * A driver with real transaction semantics: ... — the
- * same shape `driver-memory` uses, small enough to assert against.
+ * A stub driver with real transaction semantics: ... —
+ * a genuine rollback, small enough to assert against.

保留 —— protocol-data.test.ts:759:按 PM 派发情报「先读上下文再判,若描述的是真实驱动族语义就原样保留,不要为改而改」复核后,判定属于 #5797 已开的例外类。该句是 #4134 小节 banner 的收尾:

// path rejects the SAME unknown name loudly (`INVALID_FIELD`). Mirror of
// #3948's rule for driver-memory: an unapplied filter must not look like a
// satisfied one.

没有描述任何 stub —— 该小节的 harness 是纯 vi.fn() engine,连 driver 都没有;这句是引用真实 @objectstack/driver-memory 包里真实存在、且今天仍在被强制执行的不变量作为先例。证据(均在 origin/main):

改写它会把一条准确的跨包交叉引用改成假信息,故原样保留。因此 diff 是 3 个文件而非 issue 预估的 4 个(package.json + lockfile + 1 个测试文件),这是复核后的实测结果。

边界遵守

验证(全部前台阻塞执行,真实输出)

pnpm --filter @objectstack/objectql test   -> Test Files 125 passed (125) | Tests 2065 passed (2065)
pnpm --filter @objectstack/objectql typecheck -> tsc --noEmit,无输出即通过
pnpm --filter @objectstack/dogfood  test   -> Test Files 85 passed | 1 skipped (86) | Tests 513 passed | 3 skipped (516)
pnpm --filter @objectstack/dogfood  typecheck -> tsc --noEmit,无输出即通过
node scripts/check-nul-bytes.mjs           -> OK (scanned 5695 tracked text files)
node scripts/check-override-consistency.mjs-> OK
node scripts/check-type-check-coverage.mjs -> OK (63/78)
node scripts/check-published-files.mjs     -> OK (70 publishable packages)

依赖闭包在新 worktree 内先 pnpm --filter '...^...' build 建过再跑测试;重活全程走共享 flock /tmp/os-heavy-verify.lock 串行 + --max-old-space-size=4096

Changeset

测试/依赖清理,不面向用户 → 无 changeset,skip-changeset(label 由 PM 代打)。


🤖 Generated with Claude Code

https://claude.ai/code/session_01WyvqvKMG6asi9aXjKE6xtx


Generated by Claude Code

…de-reference driver-memory in one stub comment (#5829)

#5704 收口尾单(批次 2/3 已合入 PR #5797/#5806),两件留档尾项:

1. `packages/qa/dogfood` 的 `@objectstack/driver-memory` devDep:#5715(批次 0)
   把 read-coercion 一致性测试的 memory 臂移除后,全包已零真实 import
   (`git grep -in memory -- packages/qa/dogfood` 只剩 README 的
   "in-memory SQLite" 散文与 read-coercion-conformance.test.ts:9 记录移除原因的
   注释)。摘除声明 + lockfile 随动(仅该一条 importer 链接)。

2. `protocol-batch-atomic.test.ts` 的 `makeSnapshotDriver()` 头注释把这个本地
   手写 stub 说成「the same shape driver-memory uses」——packages/objectql 根本
   不依赖 driver-memory,这类措辞正是 #5704 Phase 1 survey 里让 `grep -i memory`
   虚高的来源。按 #5797 同款原则改写为指涉 stub 自身。

`protocol-data.test.ts:759` 经复核**原样保留**:那一句
「Mirror of #3948's rule for driver-memory: an unapplied filter must not look
like a satisfied one」指的是真实 driver-memory 包里真实存在的不变量
(`filter-refusal.ts`、`memory-driver.ts:753/792/817`、
`memory-filter-ast-vocabulary.test.ts`),属于 #5797 已开的例外类
(描述真实驱动族行为的散文一律保留),不是把 stub 说成 driver-memory。

零行为变更。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WyvqvKMG6asi9aXjKE6xtx
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 6, 2026 7:31am

Request Review

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/dogfood.

2 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/permissions/authorization.mdx (via packages/qa/dogfood)
  • content/docs/permissions/delegated-administration.mdx (via packages/qa/dogfood)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@github-actions github-actions Bot added dependencies Pull requests that update a dependency file tests labels Aug 6, 2026
@os-zhuang os-zhuang added skip-changeset PR has no user-facing published change; bypasses the changeset gate and removed dependencies Pull requests that update a dependency file size/xs tests labels Aug 6, 2026 — with Claude
@os-zhuang
os-zhuang marked this pull request as ready for review August 6, 2026 07:53
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 6, 2026
Merged via the queue into main with commit d93080d Aug 6, 2026
37 of 38 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-5829-dogfood-devdep-prose-sweep branch August 6, 2026 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[#5704 收口] 摘除 qa/dogfood 的 driver-memory devDep + 清扫两处「same shape driver-memory uses」附录散文

2 participants