Repository navigation
verify(#1433): 四格 × 搜网实测 —— 零余额真账户的 402 wire body 第一次跑出来 - #1453
Merged
Merged
Conversation
REQ-1414 VERIFY-1。基线 §九 第 5 条(「登录无额度」那一格只有推断,没有实际 wire body)闭合。 拿到的: - 真模型实测三格(登出/BYOK、登录有额度、登录无额度)都真的发了 `websearch` 并拿回结果;kill-switch 那一格工具根本不在模型的工具表里(8→7),是反向臂真绿。 - 本地腿传输 18/18,主权拒绝 6/6 且零出网;`#1415` 登记的两个 websearch 端点 第一次被**真的出网策略代理**判成 allow(反向臂 `example.com` 403)。 - 零余额真账户的云腿:gateway `HTTP 402` + `account_wallet_insufficient`, 两个 purpose 逐字相同;到模型那一层是 MCP `200` + `isError:true`(转换点在 `cloud-mcp.ts` 的 `text(body, !r.ok)`)—— 状态码在两跳之间会变,基线 AC2 说的「402 原样到达模型」要按内容读,不是按状态码读。 - 被拒的 preauth 零副作用是实读的:该 tenant 的 `ledger_facts` = 0、 `payment_orders` = 0,账本总数未变。 - 打包产物上复现了 `#1411` 的四格工具表。 两条新事实,各自已开票: - kill-switch 下模型改用 `webfetch` 打 DuckDuckGo/Bing 并拿回搜索结果 → `#1448` 收窄基线 §三 S3 的措辞(闸门只管我们自己提供的两条搜网腿)。 - Exa 免费档的限流提示是以「成功的搜索结果」形态回来的 → `#1445`。 仍未测(理由写在 README §7):云腿 · 登录有额度(要真余额,会动钱)、 打包实例上的真模型回合(`providers.add` 拒收回环 base URL,`#1144` 那套配方 结构上已失效)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
REQ-1414 VERIFY-1。基线 §九 第 5 条 —— 「登录无额度」那一格只有推断、没有实际
wire body —— 闭合了。
矩阵最终状态
tool_calls402 那一格:先证明它不是 401
授权码换令牌 → 200,token
sub=u_0000000c1433/aud=…/mcp/scope=[cloud.dispatch,cloud.read,artifact.read];同一张 token 打tools/list→200,拿回六个云工具的完整定义。凭证面是通的,后面的拒绝只可能来自额度面。
gateway 封印付费路由(
model.invoke与cloud.dispatch两个 purpose 各打一次,两次 body 逐字相同):
一个要点必须说清:到达模型的那一层状态码是 200,不是 402。
402 只活在 gateway↔cloud-mcp 那一跳,
cloud-mcp.ts:261的text(body, !r.ok)把它转成 MCP
isError:true的内容块。基线 AC2 说的「402 原样到达模型」要按内容读,不是按状态码读 —— 两层都有原文,
code确实是failure-codes.ts注册过的
account_wallet_insufficient。生产上留下了什么(实读,不是估计)
只 INSERT,零 UPDATE,零 DELETE,没碰
u_a3b0aadfe01e:users×1(phone='00000001433'—— 11 位但以 0 开头,结构上不可能是真手机号)oauth_codes×2(用完被产品自己删了)。收工后两个库各读一次:
users3 → 4;oauth_codes13 → 13;该 tenant 的
ledger_facts= 0(总数 1361 未变);payment_orders= 0。⇒ 「被拒的 preauth 零副作用」现在是实测的,不是读注释。 对账与收入统计一格不受影响。
两条新事实,各自已开票
webfetch打 DuckDuckGo/Bing 并拿回搜索结果→
#1448收窄基线 §三 S3 的措辞(闸门只管我们自己提供的两条搜网腿);#1445。仍未测,理由写在证据 README §7
注意它与「无额度」不是同一条判据:它要证明放行,不是拒绝。
providers.add拒收回环 base URL(
network-egress-derived.ts:96,owner 2026-09-21「不再支持本地模型」的裁决),#1144那套配方结构上失效;三条替代形状列在 §7.1,都不是 VERIFY 票能自己定的。打包实例的工具表那一半已经拿到:四个模型 id 在 kill-switch 下全部不含
websearch、登出态全部含 ——#1411的四格表在打包产物上复现。凭据泄漏闸
key 的完整值 / 前 12 / 后 12 三种片段在证据目录 0 命中,正对照针 14 处命中
(证明扫描真读了文件);≥60 字符的长串只有搜索结果里的 URL slug;
合并前我另跑一次独立扫描,同样 0 命中。
模型调用总计 17 次(全部 deepseek-flash);云腿那一格 0 次模型调用、
0 分钱被扣 —— preauth 就被拒了。
Refs #1414
Fixes #1433
🤖 Generated with Claude Code