发现于 #5244(showcase 注释把 `cacheTtl` 的响应头写成 `public`)的实现过程。**观察类,今天没有用户会踩到**,只是一处可收紧的断言,记下来交 PM 分诊。 ## 事实 `packages/qa/dogfood/test/showcase-declarative-endpoints.dogfood.test.ts:202`: ``` expect(res.headers.get('cache-control'), 'cacheTtl: 30 must reach the wire').toMatch(/max-age=30/); ``` 这条断言只钉 `max-age=30` 这一半,不钉 `private` / `public` 这一位。也就是说:如果哪天运行时把 `private` 翻成 `public`,**这条真实 boot 断言仍然是绿的**。 而 `private` 在这条链上不是调优选择而是安全规则(`packages/runtime/src/endpoint-policy.ts` 的 `computeCacheControl` 文档块成文):任何一条响应都可能按调用者被 RLS 裁剪,共享缓存绝不能 存下来再发给别人。被漏钉的恰好是这条链上唯一有安全含义的那一位。 ## 为什么仍然只算观察类,而不是缺陷 `private` 在下面三处是钉死的,真翻成 `public` 会被逮到: - `packages/runtime/src/endpoint-policy.test.ts:312`、`:316`、`:331` - `packages/runtime/src/api-endpoint-step.test.ts:349`、`:522` - `packages/runtime/src/dispatcher-plugin.endpoint-fallback.integration.test.ts:499` (这条查的是真实 `Response` 头) 所以这不是一个没人守的洞,而是**唯一一层观察真实 boot wire 的断言比它下面几层松**。收紧它的 价值在于:单测钉的是 `computeCacheControl` 的返回值,dogfood 钉的是「整条栈跑完之后真正发出去 的东西」—— 中间任何一层若改写了这个头,只有 dogfood 这层看得见,而它现在看不见这一位。 ## 修法(一行) ``` .toMatch(/^private, max-age=30$/) ``` 或至少 `toContain('private')`。同文件 `:213` 那条「错误答案不得带缓存指令」的断言是对的,不用动。 ## 边界 - 只动这一条断言,不动运行时、不动 showcase 声明。 - 与 #5244 不相交:#5244 的完成面是 `examples/app-showcase` 的一段注释(PR #5395), 改不到 qa/dogfood;故独立立单而非挂作其子单。
Activity
baozhoutao commentedon Aug 5, 2026
分诊(cli 车道 PM,
session_016FNvXhtSdnEGEfLEsMmvxh,2026-08-05):晋级pm:queue并即时派发。判据:step 0 明文的 auto-queue 类(test-only pin),一行收紧;被漏钉的恰是链上唯一有安全含义的那一位(private),且 dogfood 是唯一观测真实 wire 的层。落点packages/qa,domain:cli。维护者可否决。认领:PM 循环第 1 轮(cli 车道)
会话:
session_016FNvXhtSdnEGEfLEsMmvxh分支:
claude/issue-5396-dogfood-pin-privateWorktree:
objectstack-issue-5396域:
domain:cli文件面:
packages/qa/dogfood/test/showcase-declarative-endpoints.dogfood.test.ts(仅该条断言;与在飞 #5400packages/runtime/**、#5403packages/cli/**不相交)执行口径:优先取正文的整行钉法
/^private, max-age=30$/;若真实 boot 输出含合法附加指令导致整行钉法脆断,退回toContain('private')+ 保留既有max-age=30断言,并在报告说明。:213那条不动。不动运行时、不动 showcase 声明。Generated by Claude Code
baozhoutao commentedon Aug 5, 2026
验收(cli 车道 PM,
session_016FNvXhtSdnEGEfLEsMmvxh):ACCEPT → PR #5411。:202断言与下层三处private钉死点均在,「唯一观测真实 wire 的层比下层松」定性成立。/^private, max-age=30$/实测直接绿(锚定正则跑绿即证明 wire 值恰为该整串,无附加指令),未退回toContain。public后旧断言仍绿、新断言红,报文原文在 PR;篡改已还原、最终 diff 仅测试文件。:213(现:236)未动、运行时与 showcase 声明未动;test-only 走skip-changeset豁免(test(cli): #5000 前提被证伪 —— build/validate 一直按注册表 schema 解析,补上它缺的那份证据 #5380 先例)。dev 就同文件其余用例默认超时问题的「先测后判」结论(0–128ms,无暴露,记录不立单)予以采纳。下一步:CI 全绿后转 ready 并入合并队列,跟到 MERGED。
Generated by Claude Code
test(qa): dogfood 真实 boot 把 cacheTtl 的 `private` 一并钉住,不只钉 max-age (ob…