Commit a054761
committed
docs(skills,docs): 三处 hook 文档不再教「批量写的行级谓词在 ctx.input.ast」(#5670)
引擎从未在写路径的 `HookContext` 上放过 AST。`packages/objectql/src/engine.ts`
的 5 个 `HookContext` 生产点里,`input: { ast }` 只出现在两条读路径(喂
`driver.find` / `findOne`);写路径构造的是 `{ id, data, options }` 与
`{ id, options }`,批量写的行级谓词走引擎内部的 `OperationContext.ast`(#2982),
从不进 `hookContext.input`。#5273 已把 spec 侧那份契约表改成引擎真正构造的形状
(PR #5668),真值由新增的 `packages/objectql/src/hook-input-shape-contract.test.ts`
钉死 —— 其中 `beforeUpdate` / `beforeDelete` 在 `multi: true` 上都断言
`'ast' in input === false`,并以 `beforeFind` 作阳性对照证明引擎并非到处不发 `ast`。
同一句从未兑现的陈述还活在三个面上,本单按已落地措辞逐处对齐:
- `skills/objectstack-data/rules/hooks.md`
- `skills/objectstack-data/references/data-hooks.md`
- `content/docs/api/data-flow.mdx`
三处改法一致:删掉「the row-scoping predicate is in `ctx.input.ast`」半句,替换为
两句实情 —— 批量写不向 hook 暴露谓词(谓词在引擎内部 `OperationContext.ast`,
composed 的 RLS / sharing 过滤器由此绑定 driver 调用本身,handler 无法放宽;要
限定批量就在调用方用 `options.where`),以及 #5038 之后 `after*` 按匹配行派发、
每行单记录形状、`input.id` 在那里绑定。主句(批量写触发同名事件、没有 `*Many`
事件)本身成立,原样保留。
前两个文件属已发布 skill 目录,沿其既有惯例带 issue 编号;`data-flow.mdx` 全文
零 issue 引用,故那处不引编号。三处都不写仓内 `packages/**` 测试路径 —— 这三份
文件现有引用里没有一条指向仓内源码路径,而 skill 经 `npx skills add` 装到第三方
项目后那种路径也不存在。
⛔ `content/docs/releases/v16.mdx:185` 带同句但未动:发布态记录按 CLAUDE.md 不在
代码 PR 里改。`packages/spec/**` 未动(#5668 已修)。
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE1 parent 5c94f83 commit a054761
3 files changed
Lines changed: 19 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | | - | |
| 313 | + | |
314 | 314 | | |
315 | 315 | | |
316 | 316 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
66 | 71 | | |
67 | 72 | | |
68 | 73 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
116 | | - | |
117 | | - | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
118 | 123 | | |
119 | 124 | | |
120 | 125 | | |
| |||
0 commit comments