Skip to content

[finding][drivers] driver-turso 的 date-bucket-parity 测试里还有一处死 as never —— 在 driver.create 的 options 门上,与 #6354 不同门 #6394

Description

@os-zhuang

在实施 #6354(删掉 checkDateBucketParity / checkReadCoercion 调用点的 as never)期间实测发现,记录备查。观察类,不挂 pm:queue,请分诊轮定级。

现状

packages/drivers/driver-turso/src/date-bucket-parity.test.ts:68

await driver.create(
  'bucket_storage_probe',
  { id: 'p1', at: new Date('2026-01-10T09:00:00Z') },
  { bypassTenantAudit: true } as never,
);

这是同一个文件#6354 之外仅存的一处 as never#6354 处理的是 checkDateBucketParity(driver, …) 这个替身调用点;这一处是 driver.create(…)options 门,属于不同的门、不同的生产者,所以在 #6354 的 PR 里按 PD #10 单独记下来,没有扩大那个 PR 的 diff。

实测:这个 cast 也是死的

as never 去掉后(基线为已含 #6355origin/main,且已先 build @objectstack/driver-turso 的依赖闭包,确保读到的不是陈旧 dist/*.d.ts):

> @objectstack/driver-turso@17.0.0-rc.5 typecheck
> tsc --noEmit

EXIT=0

零输出、退出码 0。

为什么它本来就不需要

bypassTenantAudit已声明的键,不是野键 —— packages/spec/src/data/driver.zod.ts:99

bypassTenantAudit: z.boolean().optional().describe('Suppress the driver tenant-audit warning for
  a deliberately global write on a tenant-scoped object (diagnostics only — never changes what
  the write touches)')

同一族的另一处旁证:dogfood 与 turso 两个 parity 测试都往 checkDateBucketParitycreateOptions: { bypassTenantAudit: true },那边从来没有写 cast,一直编译得过。

不是缺陷

运行期行为完全正确(driver-turso 808 tests 全绿)。丢掉的同样只是编译期检查:这个 cast 把整个 options 形状抹成 never,于是 options 里拼错的键、写错类型的值都不会红。代价是休眠的 —— 今天没有人踩。

如果要做

删掉这 5 个字符,跑一遍 @objectstack/driver-turso 的 typecheck 即可。建议顺带扫一遍其余驱动测试里是否有同形的 options 门 cast(本单未做这个全仓扫描)。

相关

会话:session_01WyvqvKMG6asi9aXjKE6xtx#6354 实施期间发现,未认领)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions