Part of #5040(E 系列第 4 单)。**Blocked-by: #5089(E2)+ #5090(E3)**。维护者已放行提前开发(2026-08-04,见 #5080 认领评论;E7 翻转仍守 v17 分期)。 ## 范围(以 #5040 设计 §4 与总表 E4 行为准) 在 dispatcher 端点派发步上逐键接线,**全部复用、零发明**: - `authRequired` → 既有 auth 上下文判定(与 data 域同根),未认证 → 既有 401 包络; - `rateLimit` → **#5006 已落的 `SharedTokenBucketLimiter` / `deriveBucketConfig` 原语**(`packages/runtime/src/security/inbound-rate-limit.ts`),bucket 维度按设计 §4(endpoint 粒度),超限 → 既有 429 包络 + `Retry-After`; - `cacheTtl` → 响应头语义(`Cache-Control: max-age`),**不实现服务端缓存**(设计 §4 已裁,避免发明缓存失效语义)。 每键:命中/未命中/边界(0、缺省)测试。 ## 约束 结构性不可达(publish 仍拒);词表冻结;执行器车道程序卡(`session_01EYGdmvWP1ieZSLqvAW6uyd` 按序派发),**其它车道请勿认领**。 关联:ADR-0121(D4)、#5006(限流原语)、#5040 设计 §4。
Activity
os-zhuang commentedon Aug 4, 2026
认领 —— PM 会话
session_01EYGdmvWP1ieZSLqvAW6uyd(执行器车道),分支claude/issue-5091-endpoint-policy-keys,R3 批与 #5092 并行派发。前置 E2(ecc61ab)/ E3(2649ccb)已落 main。文件面声明(#4604,与 #5092 互斥):
packages/runtime/src/endpoint-policy.ts(新)+api-endpoint-step.ts的接线改动归本单独占(匹配命中 → 策略链 → 仍答 501)+ 测试 + changeset。不建、不碰endpoint-executor.ts(那是 #5092 的面);#5092 不碰派发步,R3 内零文件交集。Generated by Claude Code
fix(runtime): strip two NUL bytes from endpoint-policy.ts cacheKey li…
feat(runtime): 端点执行目标委派 —— endpoint-executor 纯模块 (objectstack-ai#5092) (
feat(runtime): 端点策略键 —— authRequired / rateLimit / cacheTtl 接线(object…