OpenRouter

OpenRouter 的模型路由与多模型接入动态。

Hacker News 熱門73

在 HN 发布:Consus(YC F24)——面向处理敏感数据企业的 LLM 网关

Hacker News 的各位好!我是 Consus 的创始人 Eric。我们将所有 AI 请求路由至符合 ITAR 限制和受控非机密信息(CUI)要求的基础设施。Consus 本身符合 ITAR 限制要求,我们最近还完成了针对 410 项 FedRAMP High 控制措施的 FedRAMP 等效性审计。FedRAMP High 是美国政府针对处理敏感非机密数据的云服务制定的最严格安全基线。此类数据泄露可能造成严重或灾难性后果。在处理 CUI 信息之前,必须取得 FedRAMP 等效性或授权。演示:https://youtu.be/6MYxJe6P4oY 航空航天与国防行业正在快速增长。但遗憾的是,由于必要的数据保护措施和合规风险,大多数公司都难以使用 AI。如果这些公司能够使用大多数其他行业习以为常的 AI 工具,它们本可以发展得更快。 在加入 Consus 之前,我的大部分职业生涯都在航空航天与国防领域。我曾在 SpaceX 负责发射国家安全载荷,也是 Castelion 的早期员工。我亲眼看到,合规方面的繁文缛节如何让公司难以采用新技术,也难以信任那些会接触其敏感数据的供应商。 例如,我曾与一家卫星制造商合作,该公司不允许使用任何 AI 工具,即使是处理非敏感工作也不行。尽管过去 9 到 12 个月里 AI 已经变得极其有用,但令我惊讶的是,仍有这么多航空航天与国防公司拒绝接触 AI。他们看得出 AI 可能会有所帮助,但担心模型提供商使用他们的数据进行训练、违反 ITAR 规定,或者因未通过网络安全评估而失去新业务。这些担忧都是合理的。 解决其中部分或全部问题有许多方法,但我们专注于构建一个合规的 AI 推理层,可以“接入”任何 AI 工具或工作流。正如 OpenRouter 能够与大多数工具集成一样,Consus 可以连接到 ChatGPT 或 Claude 这样的工具、包括 Pi coding agent 或 Open WebUI 在内的开源工具,也可以集成到各个组织自行构建和维护的应用程序中。 几乎没有哪家航空航天与国防公司同时使用三大 GovClouds(AWS、Azure、Google)。当我梳理哪些前沿模型可以合法运行于 ITAR 和 CUI 工作场景时,我发现每个提供商都只提供部分模型,而每个模型达到的合规水平也各不相同。 我们的客户不会从云提供商的角度思考。他们考虑的是所需的数据控制措施,以及想要使用的模型。这就是我们构建合规后缀的原因。在底层,每个请求都会访问一个统一的 OpenAI 兼容端点;在接触推理服务之前,系统会先验证密钥并执行策略。每个模型名称都必须带有合规后缀,例如 gpt-5.6-sol:fedramp-high 或 claude-opus-5-5:itar,任何不带后缀的模型名称都会被拒绝。 我们绝不会代理到标准商业端点。客户还可以构建模型允许列表,并为组织内的单个用户分配支出和模型使用限制。所有这些都通过 Consus Portal 处理,团队可以在那里管理支出、密钥和策略。 我们经常听到的一个问题是:为什么不直接在 AWS GovCloud 或 Azure Government 中使用 Bedrock?对于小型团队而言,仅仅获得这些平台的访问权限就很困难。对于大型组织而言,GovCloud 允许你继承部分、但不是全部处理敏感数据所需的控制措施。此外,模型分散在不同提供商之间:GPT-5.6 Sol 仅在 Azure Government 中提供,而 Claude Opus 5.5 则通过 AWS GovCloud 中的 Bedrock 提供。如果两者都想使用,就需要搭建并保护两个独立的政府云环境。 我们将所有模型置于一个端点之后运行,因此客户无需选择云平台,而合规工作则由我们分别为每个平台处理。 鉴于数据的敏感性,Consus 不会在静态状态下存储任何客户数据。所有提示词和生成结果只会在请求处理期间保留于内存中,绝不会记录或写入磁盘。无论是我们自身,还是基础设施及模型提供商,都严格执行零数据保留政策。出于计费和审计目的,我们会保留每个请求和响应的元数据。 Consus 从设计上就不是自助服务产品。ITAR 要求我们确切了解每个密钥另一端的使用者,因此我们会验证每个组织,并在发放 API 密钥前签订合同。 我们向客户收取合规费用,起价为每席位每月 40 美元,另加按成本收取的 AI 令牌费用。我们目前正在积极服务客户,非常期待获得安全专家,以及在高度监管行业工作的开发者和工程师的反馈! 参考资料: API 文档:https://gateway.consus.io/overview 安全与架构:https://gateway.consus.io/security 合规详情:https://consus.io/compliance 评论 URL:https://news.ycombinator.com/item?id=50073471 得分:4 评论数:1

MarkTechPost63

Microsoft AI Releases Microsoft-Decision-1: A Qwen3.5-9B Decision-Scoring Model

Microsoft has released Microsoft-Decision-1, a decision model for routing, classification, verification and agent control. Microsoft-Decision-1 is a decision-scoring model that returns a calibrated probability for each fixed answer option instead of generated text. It is post-trained from Alibaba’s Qwen3.5-9B and available now in Microsoft Foundry and OpenRouter. . TL;DR What is a decision model? A […] The post Microsoft AI Releases Microsoft-Decision-1: A Qwen3.5-9B Decision-Scoring Model appeared first on MarkTechPost .

Hacker News AI66

Show HN: VoiceGremlin, a SaaS tool for automated tests against AI phone agents

Hi, I'm a former SDET and now solo dev of VoiceGremlin, a tool for automated tests against AI that answer phones. You pass the API a phone number and a test case like "Verify that the agent does X." It calls your voice agent, tests the thing by having the bots talk to each other, and uses LLM-as-judge to provide a pass/fail for your pipeline. State: Fully working, free trial, no card needed. Try it out and please give me feedback, especially if you run in to problems. Goal: I built VoiceGremlin with the explicit goal of being Mailosaur for phone agents. We paid for Mailosaur at work because the alternative (having our automated tests interact programmatically with our corporate Outlook server) was doable, but very painful, both technically and organizationally. The lesson I learned was "doable, but painful" is a good sign of a SaaS opportunity. Well, getting an automated test to call a phone number is also painful. Telephony providers are tough to get onboarded as vendors. Using your own STT/TTS means a lot of bandwidth moving through wherever you run your test automation from. It's tricky to get the LLM-to-LLM prompts dialed in enough to avoid flaky tests. Etc. Process: It took about 45 days to build, with half of that being businessy stuff like implementing Stripe and my feeble attempts at marketing, and the other half being experimenting with different telephony providers and features, testing different models, prompt tweaking, and fraud/abuse prevention. Design goal: Do one thing, do it well, and get out of the way. There's no ambition to manage your test cases for you, host your voice agents, or add upsell features. Stack: The dependencies are Supabase (DB and authentication), Netlify (static storage and API routing), Digitalocean (the server component that makes the calls), Telnyx (easier to work with than Twilio IMO), Stripe, Openrouter, Cloudflare (captcha on signup). Oh, and I host my private git in Keybase, the greatest tool nobody uses. Thanks! Comments URL: https://news.ycombinator.com/item?id=49995804 Points: 1 # Comments: 0

Hacker News 熱門59

Show HN: Made an open-source Lego AI generator

Hi there :-) New on HN, first time posting. Past year, around December, I started experimenting with making ChatGPT and Claude generate source code in LDraw language. This LDraw is literally an "assembly" language, a low-level programming language that describes how to assemble LEGO pieces together into models, one placement instruction at a time. When executed by specific tools, like e.g. LDView, LeoCAD, Studio... these instructions become LEGO CAD models, that can be interacted with, modified, etc. Or, in other words: one LDraw source file in .mpd or .ldr format is equivalent to one LEGO CAD model. So, the idea I had was: if I manage for maybe ChatGPT or Claude to generate high-quality LDraw source files... then, they would actually be generating high-quality LEGO CAD models, right? Then, after months of iterations and trying one thing after the other... it worked!!! Long story short: using GPT-6 Astra and Opus 5.5, I've managed to create a python toolset, instructions, and docs for agents in general. Now, these can be used by them to generate LDraw models. I've packed it all as a dockerized web app for others to try and experiment, with several providers (and agents) to choose from: OpenAI, Claude and OpenRouter. I'd really appreciate feedback and comments, let's see where this goes =) Comments URL: https://news.ycombinator.com/item?id=49937916 Points: 9 # Comments: 2

Hacker News 熱門81

Show HN: Pizza Bot – An inbox for AI agents that work in the background

Hi HN - long-time lurker (since 2012!), first time poster. Pizza Bot is a self-hosted desktop app for Mac, Windows, and Linux that runs AI agents in the background and exposes them through an email-like UI. Finished work shows up in Unread, and anything waiting on your approval shows up in Action. It's Apache 2.0-licensed, there's no signup and no telemetry, and you bring your own model provider: Anthropic, Amazon Bedrock, Google Gemini, OpenAI, OpenRouter, or a local model through Ollama. There are builds on the releases page, or you can run it from source. Pizza Bot started as an internal passion project I worked on with a small team at Amazon. The whole thing came out of my frustration at having to manually log CRM activities through a browser form. I built a simple REST API called "JoeBot" that connected to my authenticated browser session over CDP and filled out the form for me using Playwright. Then I hacked up a quick Obsidian plugin so I could trigger it from my local notes (no AI and no MCP servers involved). This caught on quickly. My fellow AWS Solutions Architect Igor Fil joined up with me, and we rebranded the project as "Pizza Bot," named after Amazon's two-pizza teams. We started seeing what other automations we could build. We found a GraphQL API we could query and hacked up some "recipes" to pull data out of the CRM to help with meeting prep. That worked great, and it was right around the time MCP servers seemed to be taking off, so we decided to expose Pizza Bot as an MCP server instead, so it would be available to AI tools through natural language. This was a decent solution for technical users, but the Account Managers who live inside our CRM system wanted something too. We decided to rebuild Pizza Bot as an Electron desktop app modeled after an email inbox, so it would be familiar to non-technical users and would run on both Mac and Windows. We also bundled internal MCP servers as OCI images and hosted them in Amazon ECR as an "addon marketplace" so users could install them with one click without having to set up Amazon developer tooling. The project took off organically and expanded outside of AWS into the wider Amazon organization globally. More than 2,000 people ended up using it for meeting prep, email drafting, Slack summaries, CRM logging, prioritizing their day, and web research. Once apps like Claude Cowork and Amazon's own Quick Desktop came out, we realized the real growth opportunity was outside of Amazon. Rather than try to rip out the Amazon-specific integrations, we rebuilt Pizza Bot once more as an open source project. We leaned on coding agents heavily, which is the only reason a team our size could pull off a full rewrite. I'm pleased to say it's finally public, and we're hoping to bring in community members and see where it goes. We'd like to do for knowledge workers what Claude Code and Codex have done for programmers. A couple of things to know up front. Most of what made Pizza Bot useful on day one inside Amazon came from that internal catalog of skills and MCP servers for Amazon's own systems, and none of it could come out with the app. So it ships thinner than the version those 2,000 people used, and building that catalog back up for tools other people actually use is where we need the most help. It's also a community project and not an AWS service, so there's no support or SLA behind it. The Windows and Linux builds aren't signed yet either. On the technical side, Pizza Bot is a server and a client. The desktop app bundles both, or you can point a client at a remote backend; personally, I self-host the server on my home network and reach it from my phone over Tailscale. The server owns the thread lifecycle and checkpoints state with DeepAgents and LangGraph, and clients rehydrate from it as needed, so you can disconnect mid-run and pick the thread back up from another client. Approval pauses outlive the session that created them and collect in an Action filter, so you can answer an hour later from a different device. The agent you talk to has a sandboxed QuickJS interpreter that can reach your filesystem only if you grant it a folder, but its main job is to delegate. Each subagent is a 1:1 mapping of a Skill, and an Activity bar shows that subagent and the tool calls it's making as it works. Memory is opt-in and stored as plain markdown files on your machine. Every tool call is explicit, including looking up a memory - we err on the side of transparency to reduce surprises. Tools come from MCP servers, and skills are ordinary SKILL.md files with a per-tool approval policy, so existing skills that don't require a code interpreter should still work. What I'd most like to hear about is where the app itself gets in your way, the kind of problem you can't fix by writing a skill or an MCP server. I'm around today to answer questions! Comments URL: https://news.ycombinator.com/item?id=49713894 Points: 15 # Comments: 5

Hacker News 熱門62

Show HN:Pelican-bicycle 替代方案(2026 年更新)

2025 年 11 月和 12 月,我受到 Simon Willison 的 pelican-riding-a-bicycle 基准测试启发,让当时的一些最新 LLM 根据 30 条类似的提示词生成 SVG,例如“生成一幅章鱼操作管风琴的 SVG 图像”。Simon 在他的博客中提到了那次实验 [1]。 九个月过去了,功能强得多的模型已经发布,因此我今天再次进行了这项实验。链接的网站展示了结果。 在 OpenRouter 上使用六个模型运行其中十条提示词的成本约为 20 美元,所以我暂时就进行到这里。 [1] https://simonwillison.net/2025/Nov/25/ 评论网址: https://news.ycombinator.com/item?id=49696402 得分:3 评论数:0

Hacker News 熱門63

Show HN: 我们构建了开源 OpenRouter,它会把使用情况转化为更好的模型

嗨,HN,我们构建了一个开源模型网关。它是一个集中管理我们自托管、前沿和开源模型的单一入口。 它原生使用 Rust 构建,面向并发,并实现了跨模型和提供方的各种配置细节差异(流式格式、工具调用、模型参数、速率限制以及不同的错误行为)。 对于 BYOK 请求,这个网关增加的延迟不到 1 ms;当由 Experiential 提供供应商密钥时,延迟不到 2 ms。它覆盖所有主要推理提供方,并通过一个会发起 PR 的 codex agent 每日刷新 1000+ 个模型。 与其他类似项目相比,我们是开源的,不收取任何加价,允许你将本地模型与市场混合使用,并利用你的流量来(选择加入后)训练一个模型。简单路由并不值得收取 10% 的 token 加价。 我们的做法是:基于标准化的 OTel traces,我们挖掘具有代表性的真实任务,使用 text world models 模拟各种模型的 rollouts,应用一个 LLM judge,然后在 prompt 的 embedding 之上拟合一个最近邻分类器,以决定每个请求的最优模型。通常这比直接调用单个模型能画出更好的成本/质量帕累托曲线,但并不完美。 借助这些模拟,我们还可以做诸如建议缓存命中优化、新模型建议以及训练模型之类的事情。 它是开源的,所以你可以把它部署到自己的基础设施上,使用我们托管的版本且不收取任何加价,或者在我们的网站上阅读我们如何为最大可用性进行设计。 Comments URL: https://news.ycombinator.com/item?id=49471407 Points: 9 # Comments: 0

Hacker News 熱門77

OpenRouter 将加入 Stripe

文章 URL: https://openrouter.ai/blog/announcements/openrouter-is-joining-stripe/ 评论 URL: https://news.ycombinator.com/item?id=49364559 得分:41 评论数:16

Hacker News 熱門63

GPT-5.6 Sol 价格下调 50%

文章 URL: https://openrouter.ai/openai/gpt-5.6-sol 评论 URL: https://news.ycombinator.com/item?id=49337602 积分: 31 评论数: 6

Hacker News 熱門64

Launch HN:Speko (YC S26) – 面向语音 AI 的 OpenRouter

HN 大家好!我是 Bek,Speko 的创始人。Speko 是一个平台,会在我们所有公开基准测试过的选项中,根据你的约束条件,找出 speech-to-text、LLM 和 text-to-speech 模型的最优组合,并告诉你原因。 演示: https://youtu.be/no2LY2gRh-c 链接: https://speko.ai/?utm_source=hn 典型的生产级语音代理是三个模型的组合:STT、一个 LLM 和 TTS。 这些层中的每一层都有十来家可信的供应商,而且每个月市场上都会出现新模型。几乎所有人都是评估一次,选定一套自己偏好的技术栈,然后再也不复查,因为从一家供应商切换到另一家供应商又意味着一次新的集成,以及关于数字的争论。 结果就是,你在使用运行着上个季度模型的语音代理,而更好、更便宜的选择其实已经可用。 在创立 Speko 之前,我曾用四年时间作为联合创始人兼 CTO,为亚洲各地的企业构建支持 10 多种语言的语音代理。每当一个新的语音模型出现时,我们都会重复同样的流程:雇用母语评测员,将其与我们现有的技术栈做基准测试,如果有所提升就更新生产环境。Speko 将这个流程变成了一个 API。一个每天处理数千通电话的团队告诉我们:“我们真的可以直接去这个仪表盘,切换模型,它就会替我们完成。” 工作原理:你发送一个带有优化标准(准确率、延迟、成本或均衡)、语言和地区的请求。路由器会筛选出我们针对给定约束组合测量过的模型,对它们进行基准测试,选出胜者,并返回一个响应,其 headers 中包含供应商、模型名称和分数。网关会预取已签名的会话计划,因此新会话会直接从内存拨通供应商;呼叫者等待时不会发生控制平面的往返。 故障转移只发生在连接建立阶段:如果供应商拒绝连接尝试,我们就开始连接排名靠后的候选者。 一些客户案例:有一位创始人来找我们时完全不知道该选什么;他把自己的用例给了我们,现在所有流量都通过这个平台路由。一个物业管理 AI 使用 Python 运行 LiveKit,自上线以来从未更新过 STT 或 TTS:他们不知道自己的 STT 在通话中的错误率很高,也不知道已有更好的选择,而且替换看起来总像是一个 R&D 项目。一个团队不知道该为西班牙语选择哪些模型。一个医疗团队不知道哪个 STT 最擅长处理医学词汇。每种情况下,我们都帮助他们从基准测试中找到合适的技术栈,现在他们都通过我们路由。 测量部分是公开的:我们在一个地区、不同日期的运行中,把相同输入传给每个模型,并发布排行榜,包括那些我们的选择表现不如替代方案的榜单。发布演示会回答哪个 30 秒片段听起来更好;生产环境关心的是哪个模型能撑到第八分钟,所以我们测试自发语音、金额和日期、十分钟片段,而排名会发生变化。我们基于盲测一对一听感投票,训练了一个用于 TTS 自然度的自动评分器;对于它从未见过投票的供应商,它选出的胜者与我们的评测员所选一致的频率,大约和评测员之间彼此一致的频率相当。 我们自己不训练或销售模型,这正是我们保持排名公正的方式。 我们还开源了网关,面向那些希望避免音频路径上额外网络跳转、且不想与我们的云共享密钥的团队( https://github.com/SpekoAI/gateway ,MIT):一个 Go 二进制文件,作为 sidecar 运行在你的代理容器中,通过 Unix socket 使用一种本地协议,固定供应商主机并附加你的密钥。在 BYOK 模式下,它完全不会与我们通信。 请注意,匿名且不含内容的遥测默认启用,一个环境变量即可禁用。 成本:网关和 BYOK 设置将永久免费,我们对托管路由器和托管密钥以及合并计费收费。自从我们在 6 月下旬开始这一批次以来,外部使用量平均每周增长约 25%,增长主要集中在发布前几周。 我很想听听社区的反馈:你们现在如何选择语音模型?什么会让你们信任第三方基准测试? 评论 URL: https://news.ycombinator.com/item?id=49332751 点数:22 评论数:7

Hacker News 熱門73

Launch HN:Speko (YC S26) – 语音 AI 的 OpenRouter

Hi HN!我是 Bek,Speko 的创始人。Speko 是一个平台,会在我们所有公开基准测试过的选项中,根据你的约束条件,找到语音转文本、LLM 和文本转语音模型的最优组合,并告诉你原因。 演示: https://youtu.be/no2LY2gRh-c 典型的生产环境语音代理是由三个模型组成的集成:STT、一个 LLM 和 TTS。 这些层中的每一层都有十几个可信的供应商,而且每个月市场上都会出现新模型。几乎所有人都是评估一次,选择自己喜欢的技术栈,然后就再也不复查,因为从一个供应商切换到另一个供应商又意味着一次新的集成,以及围绕数据的争论。 结果就是,你使用的语音代理还在运行上个季度的模型,而更好、更便宜的选择已经出现了。 在创立 Speko 之前,我花了四年时间作为联合创始人兼 CTO,为亚洲各地的企业构建支持 10 多种语言的语音代理。每当新的语音模型出现时,我们都会重复同样的流程:雇用母语评分员,将它与现有技术栈进行基准测试,如果有所改进就更新生产环境。Speko 将这个过程变成了一个 API。一个每天处理数千通电话的团队告诉我们:“我们真的可以进入这个仪表板,切换模型,它会替我们完成。” 工作方式:你发送一个包含优化标准(准确率、延迟、成本或均衡)、语言和地区的请求。路由器会筛选出我们针对给定约束组合测量过的模型,对它们进行基准测试,选出胜者,并返回一个响应,响应头中包含提供商、模型名称和分数。网关会预取签名会话计划,因此新会话会直接从内存拨向提供商;当呼叫者等待时,不需要控制平面的往返。 故障转移只发生在连接建立阶段:如果提供商拒绝连接尝试,我们就开始连接排名靠后的候选项。 一些客户案例:有一位创始人来找我们时完全不知道该选什么;他把自己的用例给了我们,现在所有流量都通过这个平台路由。一家物业管理 AI 使用 Python 运行 LiveKit,自上线以来从未更新过 STT 或 TTS:他们不知道自己的 STT 在通话中的错误率很高,也不知道有更好的选择,而且模型替换看起来总像一个研发项目。一个团队不知道该为西班牙语选择哪些模型。一个医疗团队不知道哪种 STT 最擅长处理医学词汇。在每个案例中,我们都帮助他们从基准测试中找到合适的技术栈,现在他们都通过我们进行路由。 测量部分是公开的:我们在不同日期的运行中,将相同输入传给同一地区的每个模型,并发布榜单,包括那些我们的选择表现不如替代方案的榜单。发布演示回答的是哪段 30 秒音频听起来更好;生产环境问的是哪个模型能撑过第八分钟,所以我们测试自发语音、金额和日期、十分钟录音,排名也会发生变化。我们基于盲测一对一听感投票训练了一个用于 TTS 自然度的自动评分器;对于它从未见过投票的提供商,它选出的胜者与我们的评分员选出的一致,其频率大约等同于评分员之间彼此达成一致的频率。 我们自己不训练或销售模型,这正是我们保持排名公正的方式。 我们还开源了网关,供那些希望避免音频路径上额外网络跳转、并且不想与我们的云共享密钥的团队使用( https://github.com/SpekoAI/gateway ,MIT):一个 Go 二进制文件,作为 sidecar 运行在你的代理容器中,通过 Unix socket 使用一种本地协议,固定提供商主机并附加你的密钥。在 BYOK 模式下,它完全不会与我们通信。 请注意,匿名且不含内容的遥测默认启用,一个环境变量即可将其关闭。 成本:网关和 BYOK 设置将永久免费;我们对带有统一账单的托管路由器和托管密钥收费。自从我们在 6 月下旬开始这一批次以来,外部使用量平均每周增长约 25%,增长主要集中在发布初期的几周。 我很想听听社区的反馈:你们现在如何选择语音模型?什么会让你们信任第三方基准测试? 评论 URL: https://news.ycombinator.com/item?id=49332751 点数:7 评论数:0

Hacker News 熱門80

Stripe达成逾70亿美元收购AI公司OpenRouter的交易

文章URL: https://www.bloomberg.com/news/articles/2026-08-16/stripe-nears-deal-to-buy-ai-firm-openrouter-for-over-7-billion 评论URL: https://news.ycombinator.com/item?id=49323381 点数:36 评论数:24

arXiv cs.AI66

CAPRI: Contract-Aware Proof Repair for Isabelle

We address the use of large language models (LLMs) to help discover Isabelle proofs. An Isabelle build establishes that the submitted theory is accepted, but not that an LLM changed only what the developer authorised. We present CAPRI, a contract-aware repair workflow in which Isabelle checks the proof and an independent checker enforces a machine-readable edit contract. Prompts, proposals, candidate repositories, diagnostics, verdicts, and hashes are retained for audit. We evaluate five workflows on twelve failed proofs from four developments, with three replicates per task and condition, giving 180 runs and 138 valid repairs. Of 144 terminal candidates accepted by Isabelle, six had modified protected text; all arose in iterative workflows that could edit a complete theory. A proof-body-only interface produced 29/36 valid repairs and no contract violations, compared with 31/36 for the corresponding full-theory workflow. One-shot repair produced 22/36, while a later prospectively frozen iterative workflow produced 32/36; these figures compare complete workflows rather than individual mechanisms. A separate post hoc OpenRouter campaign found no improvement in the designated Luna comparisons. A Sol configuration with matched demonstrations produced 33/36 repairs, compared with 29/36 in the frozen OpenAI Responses condition, but the difference was not statistically significant in a one-sided exact McNemar test ($p=0.0625$).