Autonomously resolve up to 83% of support issues with ada’s AI customer service agent—reduce costs, boost CSAT, and scale ominichannel CX with ease.
Ada is frequently praised for its user-friendly interface and extensive customization options, catering well to a wide spectrum of developer needs. However, some users express dissatisfaction with occasional performance issues and high memory usage, particularly on older systems. While opinions on pricing are mixed, with some finding it reasonable and others deeming it expensive, there is a general expectation of value for money. Overall, Ada enjoys a positive reputation for its robust features, though there's room for improvement in operational efficiency.
Mentions (30d)
4
1 this week
Reviews
0
Platforms
8
Sentiment
24%
15 positive
Ada is frequently praised for its user-friendly interface and extensive customization options, catering well to a wide spectrum of developer needs. However, some users express dissatisfaction with occasional performance issues and high memory usage, particularly on older systems. While opinions on pricing are mixed, with some finding it reasonable and others deeming it expensive, there is a general expectation of value for money. Overall, Ada enjoys a positive reputation for its robust features, though there's room for improvement in operational efficiency.
Features
Use Cases
Industry
information technology & services
Employees
480
Funding Stage
Series C
Total Funding
$190.6M
Mouser: An open source alternative to Logi-Plus mouse software
I discovered this project because all-of-a-sudden Logi Options Plus software updater started taking 40-60% of my Intel Macbook Pro until I killed the process (of course it restarts). In my searches I ended up at a reddit discussion where I found other people with same issues.<p>I'm a minor contributor to this project but it aims to reduce/eliminate the need to use Logitech proprietary software and telemetry. We could use help if other people are interested.<p>Please check out the github link for more detailed motivations (eliminating telemetry) as a part of this project. Here is link: <a href="https://github.com/TomBadash/MouseControl" rel="nofollow">https://github.com/TomBadash/MouseControl</a>
View originalPricing found: $2.7
I gave ChatGPT a 24/7 radio station. It has been broadcasting for months and months.
I built a fake radio station that is also, unfortunately, real. It’s called WRIT-FM. It runs 24/7 from a Mac Mini in my apartment. The whole premise is simple: an AI writes every word spoken on air, text-to-speech performs it, AI music fills the gaps, and a normal deterministic radio pipeline keeps the thing alive. The weird part is that it does not feel like a chatbot demo anymore. It feels like I accidentally hired five strange little night-shift employees who never sleep. There are five hosts: The Liminal Operator — late-night philosophy / signal-from-the-basement energy Dr. Resonance — music history professor who wandered into a haunted record store Nyx — nocturnal monologues, dreams, melancholy, weird weather Signal — news analysis, but filtered through late-night radio instead of CNN voice Ember — soul, funk, warmth, memory, groove Each host has a full persona prompt, voice, taste, speech patterns, and “anti-patterns” - things they are explicitly not allowed to sound like. The model writes 1,500–3,000 word segments: essays, simulated interviews, panels, fictional listener mailbags, music-history deep dives, odd little stories, and responses to actual listener messages. The AI part: ChatGPT / Claude writes the scripts. Kokoro TTS performs the voices. ACE-Step makes the music bumpers. The news show pulls real RSS headlines, then the model interprets them in the station’s voice instead of just summarizing them. The non-AI part is intentionally boring: A schedule decides what airs when. The streamer alternates talk and music. Scripts pick from existing pools, avoid repeats, and restart on failure. Daemon scripts watch inventory and generate more episodes when a show is running low. No model is “deciding” to go live at 3:00 a.m. No agent is touching production controls. The AI writes the content; dumb code runs the station. That boundary is probably the most interesting part. The whole thing was also built with AI coding tools. The CLI, host system, scheduler, script generator, TTS pipeline, Icecast/ffmpeg streaming setup - all pair-programmed with Codex / Claude Code. Tech stack: Python, ffmpeg, Icecast, ChatGPT/Claude CLI, Kokoro TTS, ACE-Step, Mac Mini. I know “AI radio station” sounds like a gimmick, but after letting it run continuously, it feels less like a demo and more like a new kind of media object: not a podcast, not a chatbot, not a playlist, not exactly a simulation. Just a little machine that wakes up, checks the hour, puts on a voice, and starts talking into the dark. Radio: www.khaledeltokhy.com/airadio GitHub: https://github.com/keltokhy/writ-fm submitted by /u/eltokh7 [link] [comments]
View originalI built a video production pipeline with Claude - Integrates Live2D, Fish Audio, Sadtalker, and tons of other tools.
I've been working on a multi-agent AI pipeline that takes a topic (like "Ada Lovelace" or "The Cold War Space Race") and produces a complete, chapter-structured educational YouTube video, 15–20 minutes long. Here's what actually happens when you run it: You give it a persona (think: channel identity, tone, visual style) and a topic. From there, a chain of specialized agents handles everything: Script agents generate a chapter contract (outline + pacing plan), then write full narration for each chapter with timing built in. Asset agents generate matching visuals (images, B-roll) and sound design assets for each scene. Render agents (running on a Windows host with GPU) composite everything — narration audio, visuals, transitions, background music — into a finished video file. Upload agents push the result directly to YouTube with generated metadata. The pipeline is split across two environments: script and asset work runs in a Linux dev container (WSL), while rendering runs on the Windows host to access CUDA and video tooling. They talk over HTTP with a lightweight orchestrator coordinating state. The whole thing is phase-based — every step (W2.1, W4.3, R3.1, etc.) is independently re-runnable, so if your render fails or you want to rewrite chapter 3, you don't start over. Each phase reads and writes typed artifact files (JSON manifests, audio files, image directories) so agents are loosely coupled. It uses Claude as the core LLM for scripting, with structured prompts per persona to keep the voice consistent across episodes. Still early-stage but already producing watchable content. Here are the three major technical challenges and how they're solved: 1. Script Writing via Contract Architecture The core problem: how do you keep a 20-minute AI-written script narratively coherent across chapters written in separate LLM calls? The answer is a narrative contract (W2.1.a) — a validated JSON blueprint generated before any script text is written. It encodes four types of cross-chapter constraints: Threads — story arcs that must open in one chapter and close in another, with a declared payoff type (resolved, tragedy, etc.) Entities — named people/places with a forced first-introduction chapter, preventing retroactive mentions Facts Required — citations chained with dependencies (fact B can't appear until fact A is established) Timeline Anchors — temporal reference points that let non-linear structure (flashback, in-medias-res) stay internally consistent The contract is generated via an Opus → structural validate → Sonnet review loop (up to 3 rounds). Sonnet checks semantic coherence (no orphan entities, threads actually close), while the structural validator runs a Pydantic parse + temporal constraint check. Chapter writers downstream are bound to the contract — they can't invent threads or drop required facts. 2. Research via Fanout The research pipeline doesn't produce one outline — it produces several competing ones and eliminates losers. W1.11.a spins up N parallel OutlineAgent instances, each working from the same research package but on different thesis candidates. Each produces a three-level hierarchy: thesis → chapter arguments → scene beats. W1.12.a runs an independent grounding/revision loop on each branch: Grounding reviewer (Sonnet) flags blocking issues (claims contradicting cited facts) vs. polish issues (real facts exist but uncited) Revision agent applies fixes without restructuring Quality reviewer checks for structural failures (topical chapter lists, collapsed middles, summary endings) Up to 3 revision rounds per branch, all in parallel. W1.13.a runs a single judge agent that scores each refined outline on four axes: Axis Weight What it measures Concept Hook 0.40 CTR potential; title falsifiability Trap Closure 0.30 Protagonist's own logic creates complications (not external events) Opening Momentum 0.15 Cold-open quality — concrete moment vs. credentials/definitions Rewatch Anchor 0.15 One chapter that inverts the opening assumption sharply enough to quote The highest-scoring branch becomes Outline.json. The judge doesn't compare outlines against each other — it scores each independently to avoid anchoring bias. 3. Outline Creation and Evaluation The structural rules for a valid outline are unusually strict, based on observed failure modes: Six structural failure patterns the quality reviewer flags: No Narrative Spine — chapters are reorderable (topical list, not argument chain) Thesis Not Echoed — chapters cover topics instead of advancing the central claim Beats That Are States — "tension builds" instead of "character takes specific action" Vibes Chapter — emotionally evocative prose, vague beats Collapsed Middle — chapters 3–5 repeat the same narrative move Summary Ending — final chapter recaps instead of introducing new consequence Beat-level rules are similarly precise: each beat must name an actor, action, and datab
View originalBuilt an open-source encrypted inbox for AI agents
Six months ago we kept writing JSON payloads to a shared Dropbox folder to get two AI agents to hand work off to each other. It was absurd. So we built what we actually wanted. What it is: • Permanent agent addresses (research-agent, deploy-agent) — one agent, one identity, forever. • E2E encrypted threads — private keys never touch the server. • JSON-first CLI → built for scripting, not chat. • Shared channels (public or approval-gated) for team coordination. • Human-in-the-loop approvals baked in at the protocol level. • Optional micropayments (ADA) so agents can actually pay each other for work. • Works with Claude Code, Cursor, CrewAI, LangChain, OpenClaw out of the box. Open source, MIT: https://github.com/masumi-network/masumi-agent-messenger I'd especially love feedback from people running multi-agent systems at any kind of scale — what breaks first when you try to get two independent agents to coordinate? That’s the problem we’re trying to solve, and we almost certainly don’t have all the edges right yet. https://www.agentmessenger.io/ submitted by /u/thinkgrowcrypto [link] [comments]
View original[New Optimizer] 🌹 Rose: low VRAM, easy to use, great results, Apache 2.0 [P]
Hello, World! I recently released a new PyTorch optimizer I've been researching and developing on my own for the last couple of years. It's named "Rose" in memory of my mother, who loved to hear about my discoveries and progress with AI. Without going too much into the technical details (which you can read about in the GitHub repo), here are some of its benefits: It's stateless, which means it uses less memory than even 8-bit AdamW. If it weren't for temporary working memory, its memory use would be as low as plain vanilla SGD (without momentum). Fast convergence, low VRAM, and excellent generalization. Yeah, I know... sounds too good to be true. Try it for yourself and tell me what you think. I'd really love to hear everyone's experiences, good or bad. Apache 2.0 license You can find the code and more information at: https://github.com/MatthewK78/Rose Benchmarks can sometimes be misleading. For example, sometimes training loss is higher in Rose than in Adam, but validation loss is lower in Rose. The actual output of the trained model is what really matters in the end, and even that can be subjective. I invite you to try it out for yourself and come to your own conclusions. With that said, here are some quick benchmarks. MNIST training, same seed: [Rose] lr=3e-3, default hyperparameters text Epoch 1: avg loss 0.0516, acc 9827/10000 (98.27%) Epoch 2: avg loss 0.0372, acc 9874/10000 (98.74%) Epoch 3: avg loss 0.0415, acc 9870/10000 (98.70%) Epoch 4: avg loss 0.0433, acc 9876/10000 (98.76%) Epoch 5: avg loss 0.0475, acc 9884/10000 (98.84%) Epoch 6: avg loss 0.0449, acc 9892/10000 (98.92%) Epoch 7: avg loss 0.0481, acc 9907/10000 (99.07%) Epoch 8: avg loss 0.0544, acc 9918/10000 (99.18%) Epoch 9: avg loss 0.0605, acc 9901/10000 (99.01%) Epoch 10: avg loss 0.0668, acc 9904/10000 (99.04%) Epoch 11: avg loss 0.0566, acc 9934/10000 (99.34%) Epoch 12: avg loss 0.0581, acc 9929/10000 (99.29%) Epoch 13: avg loss 0.0723, acc 9919/10000 (99.19%) Epoch 14: avg loss 0.0845, acc 9925/10000 (99.25%) Epoch 15: avg loss 0.0690, acc 9931/10000 (99.31%) [AdamW] lr=2.5e-3, default hyperparameters text Epoch 1: avg loss 0.0480, acc 9851/10000 (98.51%) Epoch 2: avg loss 0.0395, acc 9871/10000 (98.71%) Epoch 3: avg loss 0.0338, acc 9887/10000 (98.87%) Epoch 4: avg loss 0.0408, acc 9884/10000 (98.84%) Epoch 5: avg loss 0.0369, acc 9896/10000 (98.96%) Epoch 6: avg loss 0.0332, acc 9897/10000 (98.97%) Epoch 7: avg loss 0.0344, acc 9897/10000 (98.97%) Epoch 8: avg loss 0.0296, acc 9910/10000 (99.10%) Epoch 9: avg loss 0.0356, acc 9892/10000 (98.92%) Epoch 10: avg loss 0.0324, acc 9911/10000 (99.11%) Epoch 11: avg loss 0.0334, acc 9910/10000 (99.10%) Epoch 12: avg loss 0.0323, acc 9916/10000 (99.16%) Epoch 13: avg loss 0.0310, acc 9918/10000 (99.18%) Epoch 14: avg loss 0.0292, acc 9930/10000 (99.30%) Epoch 15: avg loss 0.0295, acc 9925/10000 (99.25%) I used a slightly modified version of this: https://github.com/facebookresearch/schedule_free/tree/main/examples/mnist Highest accuracy scores from 20 MNIST training runs (20 epochs each) with different seeds: ```python from scipy.stats import mannwhitneyu rose = [99.34, 99.24, 99.28, 99.28, 99.24, 99.31, 99.24, 99.21, 99.25, 99.33, 99.29, 99.28, 99.27, 99.30, 99.33, 99.26, 99.29, 99.26, 99.32, 99.25] adamw = [99.3, 99.15, 99.27, 99.2, 99.22, 99.3, 99.22, 99.15, 99.25, 99.29, 99.2, 99.22, 99.3, 99.23, 99.2, 99.25, 99.22, 99.28, 99.32, 99.22] result = mannwhitneyu(rose, adamw, alternative="greater", method="auto") print (result.statistic, result.pvalue) ``` Mann-Whitney U result: 292.0 0.006515916656300127 Memory overhead (optimizer state relative to parameters): Rose: 0× SGD (no momentum): 0× Adafactor: ~0.5-1× (factorized) SGD (momentum): 1× AdaGrad: 1× Lion: 1× Adam/AdamW/RAdam/NAdam: 2× Sophia: ~2× Prodigy: ~2-3× OpenAI has a challenge in the GitHub repo openai/parameter-golf. Running a quick test without changing anything gives this result: [Adam] final_int8_zlib_roundtrip_exact val_loss:3.79053424 val_bpb:2.24496788 If I simply replace optimizer_tok and optimizer_scalar in the train_gpt.py file, I get this result: [Rose] final_int8_zlib_roundtrip_exact val_loss:3.74317755 val_bpb:2.21692059 I left optimizer_muon as-is. As a side note, I'm not trying to directly compete with Muon's performance. However, a big issue with Muon is that it only supports 2D parameters, and it relies on other optimizers such as Adam to fill in the rest. It also uses more memory. One of the biggest strengths of my Rose optimizer is the extremely low memory use. Here is a more detailed look if you're curious (warmup steps removed): [Adam] text world_size:2 grad_accum_steps:4 sdp_backends:cudnn=False flash=True mem_efficient=False math=False attention_mode:gqa num_heads:8 num_kv_heads:4 tie_embeddings:True embed_lr:0.05 head_lr:0.0 matrix_lr:0.04 scalar_lr:0.04 train_batch_tokens:16384 train_seq_len:1024 iterations:200 warmup_steps:20 max_wallclock_seconds:6
View originalI like how Claude is not taking any responsibility for the changes - literally washing his hands in the terminal like "It's not my change, I am not committing it!" 😂
submitted by /u/e-tns [link] [comments]
View originalMidjourney engineer debuts new vibe coded, open source standard Pretext to revolutionize web design
For three decades, the web has existed in a state of architectural denial. It is a platform originally conceived to share static physics papers, yet it is now tasked with rendering the most complex, interactive, and generative interfaces humanity has ever conceived. At the heart of this tension lies a single, invisible, and prohibitively expensive operation known as "layout reflow." Whenever a developer needs to know the height of a paragraph or the position of a line to build a modern interface, they must ask the browser’s Document Object Model (DOM), the standard by which developers can create and modify webpages. In response, the browser often has to recalculate the geometry of the entire page — a process akin to a city being forced to redraw its entire map every time a resident opens their front door. Last Friday, March 27, 2026, Cheng Lou — a prominent software engineer whose work on React, ReScript, and Midjourney has defined much of the modern frontend landscape — announced on the social network X that he had "crawled through depths of hell" to release an open source (MIT License) solution: Pretext, which he coded using AI vibe coding tools and models like OpenAI's Codex and Anthropic's Claude. It is a 15KB, zero-dependency TypeScript library that allows for multiline text measurement and layout entirely in "userland," bypassing the DOM and its performance bottlenecks. Without getting too technical, in short, Lou's Pretext turns text blocks on the web into fully dynamic, interactive and responsive spaces, able to adapt and smoothly move around any other object on a webpage, preserving letter order and spaces between words and lines, even when a user clicks and drags other objects to intersect with the text, or resizes their browser window dramatically. Ironically, it's difficult with mere text alone to convey how significant Lou's latest release is for the entire web going forward. Fortunately, other third-party developers whipped up quick demos with Pretext
View originalShow HN: Forkrun – NUMA-aware shell parallelizer (50×–400× faster than parallel)
forkrun is the culmination of a 10-year-long journey focused on "how to make shell parallelization fast". What started as a standard "fork jobs in a loop" has turned into a lock-free, CAS-retry-loop-free, SIMD-accelerated, self-tuning, NUMA aware shell-based stream parallelization engine that is (mostly) a drop-in replacement for xargs -P and GNU parallel.<p>On my 14-core/28-thread i9-7940x, forkrun achieves:<p>* 200,000+ batch dispatches/sec (vs ~500 for GNU Parallel)<p>* ~95–99% CPU utilization across all 28 logical cores, even when the workload is non-existant (bash no-ops / `:`) (vs ~6% for GNU Parallel). These benchmarks are intentionally worst-case (near-zero work per task) because they measure the capability of the parallelization framework itself, not how much work an external tool can do.<p>* Typically 50×–400× faster on real high-frequency low-latency workloads (vs GNU Parallel)<p>A few of the techniques that make this possible:<p>* Born-local NUMA: stdin is splice()'d into a shared memfd, then pages are placed on the target NUMA node via set_mempolicy(MPOL_BIND) before any worker touches them, making the memfd NUMA-spliced. Each numa node only claims work that is <i>already</i> born-local on its node. Stealing from other nodes is permitted under some conditions when no local work exists.<p>* SIMD scanning: per-node indexers/scanners use AVX2/NEON to find line boundaries (delimiters) at speeds approaching memory bandwidth, and publish byte-offsets and line-counts into per-node lock-free rings.<p>* Lock-free claiming: workers claim batches with a single atomic_fetch_add — no locks, no CAS retry loops; contention is reduced to a single atomic on one cache line.<p>* Memory management: a background thread uses fallocate(PUNCH_HOLE) to reclaim space without breaking the logical offset system.<p>…and that’s just the surface. The implementation uses many additional systems-level techniques (phase-aware tail handling, adaptive batching, early-flush detection, etc.) to eliminate overhead, increase throughput and reduce latency at every stage.<p>In its fastest (-b) mode (fixed-size batches, minimal processing), it can exceed 1B lines/sec.<p>forkrun ships as a single bash file with an embedded, self-extracting C extension — no Perl, no Python, no install, full native support for parallelizing arbitrary shell functions. The binary is built in public GitHub Actions so you can trace it back to CI (see the GitHub "Blame" on the line containing the base64 embeddings). Trying it is literally two commands:<p><pre><code> . frun.bash frun shell_func_or_cmd < inputs </code></pre> For benchmarking scripts and results, see the BENCHMARKS dir in the GitHub repo<p>For an architecture deep-dive, see the DOCS dir in the GitHub repo<p>Happy to answer questions.
View originalHow I built an LLM-powered B2B matching engine for China's small commodity export market
I've been building in the Canada-China B2B trade space for a while, and the biggest friction I kept...
View originalMouser: An open source alternative to Logi-Plus mouse software
I discovered this project because all-of-a-sudden Logi Options Plus software updater started taking 40-60% of my Intel Macbook Pro until I killed the process (of course it restarts). In my searches I ended up at a reddit discussion where I found other people with same issues.<p>I'm a minor contributor to this project but it aims to reduce/eliminate the need to use Logitech proprietary software and telemetry. We could use help if other people are interested.<p>Please check out the github link for more detailed motivations (eliminating telemetry) as a part of this project. Here is link: <a href="https://github.com/TomBadash/MouseControl" rel="nofollow">https://github.com/TomBadash/MouseControl</a>
View originalLaunch HN: Captain (YC W26) – Automated RAG for Files
Hi HN, we’re Lewis and Edgar, building Captain to simplify unstructured data search (<a href="https://runcaptain.com">https://runcaptain.com</a>). Captain automates the building and maintenance of file-based RAG pipelines. It indexes cloud storage like S3 and GCS, plus SaaS sources like Google Drive. There’s a quick walkthrough at <a href="https://youtu.be/EIQkwAsIPmc" rel="nofollow">https://youtu.be/EIQkwAsIPmc</a>.<p>We also put up this demo site called “Ask PG’s Essays” which lets you ask/search the corpus of pg’s essays, to get a feel for how it works: <a href="https://pg.runcaptain.com">https://pg.runcaptain.com</a>. The RAG part of this took Captain about 3 minutes to set up.<p>Here are some sample prompts to get a feel for the experience:<p>“When do we do things that don't scale? When should we be more cautious?” <a href="https://pg.runcaptain.com/?q=When%20do%20we%20do%20things%20that%20don't%20scale%3F%20When%20should%20we%20be%20more%20cautious%3F">https://pg.runcaptain.com/?q=When%20do%20we%20do%20things%20...</a><p>“Give me some advice, I'm fundraising” <a href="https://pg.runcaptain.com/?q=Give%20me%20some%20advice%2C%20I'm%20fundraising">https://pg.runcaptain.com/?q=Give%20me%20some%20advice%2C%20...</a><p>“What are the biggest advantages of Lisp” <a href="https://pg.runcaptain.com/?q=what%20are%20the%20biggest%20advantages%20of%20Lisp">https://pg.runcaptain.com/?q=what%20are%20the%20biggest%20ad...</a><p>A good production RAG pipeline takes substantial effort to build, especially for file workloads. You have to handle ETL or text extraction, chunking, embedding, storage, search, re-ranking, inference, and often compliance and observability – all while optimizing for latency and reliability. It’s a lot to manage. grep works well in some cases, but for agents, semantic search provides significantly higher performance. Cursor uses both and reports 6.5%–23.5% accuracy gains from vector search over grep (<a href="https://cursor.com/blog/semsearch" rel="nofollow">https://cursor.com/blog/semsearch</a>).<p>We’ve spent the past four years scaling RAG pipelines for companies, and Edgar’s work at Purdue’s NLP lab directly informed our chunking techniques. In conversations with dozens of engineers, we repeatedly saw DIY pipelines produce inconsistent results, even after weeks of tuning. Many teams lacked clarity on which retrieval strategies best fit their data.<p>We realized that a system to provision storage and embeddings, handle indexing, and continuously update pipelines to reflect the latest search techniques could remove the need for every team to rebuild RAG themselves. That idea became Captain.<p>In practice, one API call indexes URLs, cloud storage buckets, directories, or individual files. Under the hood, we’re converting everything to Markdown. For this, we’ve had good results with Gemini 3 Pro for images, Reducto for complex documents, and Extend for basic OCR. For embedding models, ‘gemini-embedding-001’ performed reasonably well at first, but we later switched to the Contextualized Embeddings from ‘voyage-context-3’. It produced more relevant results than even the newer Voyage 4 models because its chunk embeddings are encoded with awareness of the surrounding document context. We then applied Voyage’s ‘rerank-2.5’ as second-stage re-ranking, reducing 50 initial chunks to a final top 15 (configurable in Captain’s API). Dense embeddings are just half the picture and full-text search with RRF complete our hybrid retrieval. In the Captain API, these techniques are exposed through a single /query endpoint. Access controls can be configured via metadata filters, and page number citations are returned automatically.<p>The stack is constantly changing but the Captain API creates a standard interface for this. You can try Captain, 1 month for free, and build your own pipelines at <a href="https://runcaptain.com">https://runcaptain.com</a>. We’re looking for candid feedback, especially anything that can make it more useful, and look forward to your comments!
View originalOne Tool Calling Interface for OpenAI, Claude, and Gemini
llm-api-adapter is an open‑source Python library designed to simplify working with multiple LLM...
View originalBump ruby_llm from 1.2.0 to 1.13.2
Bumps [ruby_llm](https://github.com/crmne/ruby_llm) from 1.2.0 to 1.13.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crmne/ruby_llm/releases">ruby_llm's releases</a>.</em></p> <blockquote> <h2>1.13.2</h2> <h1>RubyLLM 1.13.2: Patch Fixes for Schema + Streaming 🐛🔧</h1> <p>A small patch release with three fixes.</p> <h2>🧩 Fix: Schema Names Are Always OpenAI-Compatible</h2> <p>Schema names now always produce a valid <code>response_format.json_schema.name</code> for OpenAI:</p> <ul> <li>namespaced names like <code>MyApp::Schema</code> are sanitized</li> <li>blank names now safely fall back to <code>response</code></li> </ul> <p>Fixes <a href="https://redirect.github.com/crmne/ruby_llm/issues/654">#654</a>.</p> <h2>🌊 Fix: Streaming Ignores Non-Hash SSE Payloads</h2> <p>Streaming handlers now skip non-Hash JSON payloads (like <code>true</code>) before calling provider chunk builders, preventing intermittent crashes in Anthropic streaming.</p> <p>Fixes <a href="https://redirect.github.com/crmne/ruby_llm/issues/656">#656</a>.</p> <h2>🗓️ Fix: models.dev <code>created_at</code> Date Handling</h2> <p>Improved handling for missing <code>models.dev</code> dates when populating <code>created_at</code> metadata.</p> <h2>Installation</h2> <pre lang="ruby"><code>gem "ruby_llm", "1.13.2" </code></pre> <h2>Upgrading from 1.13.1</h2> <pre lang="bash"><code>bundle update ruby_llm </code></pre> <h2>Merged PRs</h2> <ul> <li>Fix missing models.dev date handling for created_at metadata by <a href="https://github.com/afurm"><code>@afurm</code></a> in <a href="https://redirect.github.com/crmne/ruby_llm/pull/652">crmne/ruby_llm#652</a></li> <li>[BUG] Fix schema name sanitization for OpenAI API compatibility by <a href="https://github.com/alexey-hunter-io"><code>@alexey-hunter-io</code></a> in <a href="https://redirect.github.com/crmne/ruby_llm/pull/655">crmne/ruby_llm#655</a></li> <li>Fix Anthropic streaming crash on non-hash SSE payloads by <a href="https://github.com/crmne"><code>@crmne</code></a> in <a href="https://redirect.github.com/crmne/ruby_llm/pull/657">crmne/ruby_llm#657</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/crmne/ruby_llm/compare/1.13.1...1.13.2">https://github.com/crmne/ruby_llm/compare/1.13.1...1.13.2</a></p> <h2>1.13.1</h2> <h1>RubyLLM 1.13.1: Quick Fixes 🐛🔧</h1> <p>A small patch release with three fixes.</p> <h2>🧩 Fix: Schema + Tool Calls No Longer Crash</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/crmne/ruby_llm/commit/0950693544457b840cee7f7c89e69248f5f32de6"><code>0950693</code></a> Updated cassettes</li> <li><a href="https://github.com/crmne/ruby_llm/commit/b6e62a6df45e6445a91d41ff71440deec1ea8d88"><code>b6e62a6</code></a> Bump to 1.13.2</li> <li><a href="https://github.com/crmne/ruby_llm/commit/67c41488c3fba7af4eea5777c799c3e4789bb38e"><code>67c4148</code></a> Fix Anthropic streaming crash on non-hash SSE payloads (<a href="https://redirect.github.com/crmne/ruby_llm/issues/657">#657</a>)</li> <li><a href="https://github.com/crmne/ruby_llm/commit/afe7d046eb102c42137ee1aac338df861bca8637"><code>afe7d04</code></a> [BUG] Fix schema name sanitization for OpenAI API compatibility (<a href="https://redirect.github.com/crmne/ruby_llm/issues/655">#655</a>)</li> <li><a href="https://github.com/crmne/ruby_llm/commit/fe8994d56640d56112d1afa82d95014a2df967d6"><code>fe8994d</code></a> Updated models</li> <li><a href="https://github.com/crmne/ruby_llm/commit/48bf6f6c98a15ed53501bdabc36cc9fc740bec30"><code>48bf6f6</code></a> Updated models</li> <li><a href="https://github.com/crmne/ruby_llm/commit/d940984d0b3cf63f108a7e0df52db82238ff8549"><code>d940984</code></a> Fix missing models.dev date handling for created_at metadata (<a href="https://redirect.github.com/crmne/ruby_llm/issues/652">#652</a>)</li> <li><a href="https://github.com/crmne/ruby_llm/commit/97c0546d8e09cfd51943ae612d9598ab11e81885"><code>97c0546</code></a> Bump to 1.13.1</li> <li><a href="https://github.com/crmne/ruby_llm/commit/10949459d1243cc2a7c1ebef3a8ce9ac9691bb71"><code>1094945</code></a> Populate Gemini cached token usage</li> <li><a href="https://github.com/crmne/ruby_llm/commit/beec83752c7697465b0f6f9e50b8bdfbc25353d1"><code>beec837</code></a> Fix schema JSON parsing for intermediate tool-call responses (<a href="https://redirect.github.com/crmne/ruby_llm/issues/650">#650</a>)</li> <li>Additional commits viewable in <a href="https://github.com/crmne/ruby_llm/compare/1.2.0...1.13.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compat
View originalchore(deps): update updates-patch-minor
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Update | Change | |---|---|---| | 1password/connect-sync | patch | `1.8.1` → `1.8.2` | | [alpine/openclaw](https://openclaw.ai) ([source](https://redirect.github.com/openclaw/openclaw)) | minor | `2026.2.22` → `2026.3.8` | | [cloudflare/cloudflared](https://redirect.github.com/cloudflare/cloudflared) | minor | `2026.2.0` → `2026.3.0` | | kerberos/agent | patch | `v3.6.12` → `v3.6.15` | | [searxng/searxng](https://searxng.org) ([source](https://redirect.github.com/searxng/searxng)) | patch | `2026.3.8-a563127a2` → `2026.3.9-d4954a064` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/304) for more information. --- ### Release Notes <details> <summary>openclaw/openclaw (alpine/openclaw)</summary> ### [`v2026.3.8`](https://redirect.github.com/openclaw/openclaw/blob/HEAD/CHANGELOG.md#202638) [Compare Source](https://redirect.github.com/openclaw/openclaw/compare/v2026.3.7...v2026.3.8) ##### Changes - CLI/backup: add `openclaw backup create` and `openclaw backup verify` for local state archives, including `--only-config`, `--no-include-workspace`, manifest/payload validation, and backup guidance in destructive flows. ([#​40163](https://redirect.github.com/openclaw/openclaw/issues/40163)) thanks [@​shichangs](https://redirect.github.com/shichangs). - macOS/onboarding: add a remote gateway token field for remote mode, preserve existing non-plaintext `gateway.remote.token` config values until explicitly replaced, and warn when the loaded token shape cannot be used directly from the macOS app. ([#​40187](https://redirect.github.com/openclaw/openclaw/issues/40187), supersedes [#​34614](https://redirect.github.com/openclaw/openclaw/issues/34614)) Thanks [@​cgdusek](https://redirect.github.com/cgdusek). - Talk mode: add top-level `talk.silenceTimeoutMs` config so Talk waits a configurable amount of silence before auto-sending the current transcript, while keeping each platform's existing default pause window when unset. ([#​39607](https://redirect.github.com/openclaw/openclaw/issues/39607)) Thanks [@​danodoesdesign](https://redirect.github.com/danodoesdesign). Fixes [#​17147](https://redirect.github.com/openclaw/openclaw/issues/17147). - TUI: infer the active agent from the current workspace when launched inside a configured agent workspace, while preserving explicit `agent:` session targets. ([#​39591](https://redirect.github.com/openclaw/openclaw/issues/39591)) thanks [@​arceus77-7](https://redirect.github.com/arceus77-7). - Tools/Brave web search: add opt-in `tools.web.search.brave.mode: "llm-context"` so `web_search` can call Brave's LLM Context endpoint and return extracted grounding snippets with source metadata, plus config/docs/test coverage. ([#​33383](https://redirect.github.com/openclaw/openclaw/issues/33383)) Thanks [@​thirumaleshp](https://redirect.github.com/thirumaleshp). - CLI/install: include the short git commit hash in `openclaw --version` output when metadata is available, and keep installer version checks compatible with the decorated format. ([#​39712](https://redirect.github.com/openclaw/openclaw/issues/39712)) thanks [@​sourman](https://redirect.github.com/sourman). - CLI/backup: improve archive naming for date sorting, add config-only backup mode, and harden backup planning, publication, and verification edge cases. ([#​40163](https://redirect.github.com/openclaw/openclaw/issues/40163)) Thanks [@​gumadeiras](https://redirect.github.com/gumadeiras). - ACP/Provenance: add optional ACP ingress provenance metadata and visible receipt injection (`openclaw acp --provenance off|meta|meta+receipt`) so OpenClaw agents can retain and report ACP-origin context with session trace IDs. ([#​40473](https://redirect.github.com/openclaw/openclaw/issues/40473)) thanks [@​mbelinky](https://redirect.github.com/mbelinky). - Tools/web search: alphabetize provider ordering across runtime selection, onboarding/configure pickers, and config metadata, so provider lists stay neutral and multi-key auto-detect now prefers Grok before Kimi. ([#​40259](https://redirect.github.com/openclaw/openclaw/issues/40259)) thanks [@​kesku](https://redirect.github.com/kesku). - Docs/Web search: restore $5/month free-credit details, replace defunct "Data for Search"/"Data for AI" plan names with current "Search" plan, and note legacy subscription validity in Brave setup docs. Follows up on [#​26860](https://redirect.github.com/openclaw/openclaw/issues/26860). ([#​40111](https://redirect.github.com/openclaw/openclaw/issues/40111)) Thanks [@​remusao](https://redirect.github.com/remusao). - Extensions/ACPX tests: move the shared runtime fixture helper from `src/runtime-internals/` to `src/test-utils/` so the test-only he
View originalWe Need to Stop Listening to Tony Blair Once and for All
 It might feel like months, but we’re just over a week into the US and Israel’s illegal assault on Iran, and there’s no end in sight. What is in sight, though, is [the apocalyptic vision of Tehran ablaze](https://time.com/7383099/iran-news-oil-strikes-tehran/), wreathed in thick smoke as black oil-soaked rain falls on its inhabitants. That’s the result of Israeli strikes on several oil storage depots in the city, reportedly sending burning petroleum running through gutters while [geysers of flaming gas exploded](https://www.telegraph.co.uk/world-news/2026/03/08/rivers-of-fire-in-tehran-after-oil-depots-blown-up/) from the streets. A nightmare? For most of us, yes. But for former British prime minister Tony Blair it’s apparently a dream. One that he might have liked the entire British public to be non-consensually forced into realising for him. And [not for the first time](https://www.bbc.co.uk/news/uk-politics-36701854). Were my hands bloodied with the [deaths of up to a million people](https://www.abc.net.au/news/2008-01-31/million-iraqis-dead-since-invasion-study/1028878), I’d probably think twice before giving my opinion on yet another illegal US adventure in the Middle East. Not our Tone, though. On Sunday [the papers reported](https://www.dailymail.co.uk/news/article-15623903/Tony-Blair-rebukes-Keir-Starmer-not-backing-Trump-Iran.html) that the man who told George W. Bush in the months before the disastrous Iraq war, “[I will be with you, whatever](https://www.theguardian.com/uk-news/2016/jul/06/with-you-whatever-tony-blair-letters-george-w-bush-chilcot)”, is still singing the same old tune. “We should,” Blair [told a private Jewish News event](https://www.independent.co.uk/news/uk/home-news/blair-starmer-trump-war-iran-labour-b2934207.html) on Friday night, “Have backed America from the very beginning”. That was a direct criticism of current prime minister Keir Starmer, who, [to a chorus of warmonger criticism](https://www.bbc.co.uk/news/articles/c05v28eqjyvo), initially refused the US and Israel access to British military infrastructure to launch its war on Iran. But it’s not like we’ve stayed completely out of the mess: our bases are now free for use by US jets for “defensive” actions – whatever that means – with American bombers [already touching down](https://www.theguardian.com/world/2026/mar/07/us-bomber-lands-in-uk-after-warning-of-surge-in-strikes-on-iran). Now, nobody was ever supposed to know that a former Labour prime minister so openly rubbished the current one in public. That’s because the event was conducted under Chatham House rules. In short, that means what’s said in the room can be made public, but not who said it. In long, it means elites are emboldened to express their heart’s true desires without any threat of accountability. We can’t know what was in Tony Blair’s heart when he mourned the fact that the UK was not more involved in blasting a hole straight through the security of the hundreds of millions who live in the Middle East. Nor can we tell for sure, as global oil prices [surge above $100 a barrel](https://www.bbc.co.uk/news/articles/c79542n0grwo) for the first time since the Russian invasion of Ukraine, how little the lives of Brits, long blighted by a cost of living crisis, matter to him. We can, though, look at his record. And what that shows – in my opinion – is a tendency, previously expressed via his businesses and [nowadays his Tony Blair Institute](https://www.ft.com/content/bcf1f1f5-a38f-4078-98f8-ab1ff7378895), to see fatal discord as fiscal opportunity. [Autocracy](https://www.theguardian.com/politics/2023/aug/12/tony-blair-institute-continued-taking-money-from-saudi-arabia-after-khashoggi), [oligarchy](https://www.theguardian.com/world/2022/jan/06/how-tony-blair-advised-former-kazakh-ruler-after-2011-uprising), [calamity](https://www.theguardian.com/politics/2025/jul/07/tony-blair-thinktank-worked-with-project-developing-trump-riviera-gaza-plan)? Roll up, roll up: the Blair pitch project is in town, and it has some consultancy to sell. Now, none of that is a crime. But you might think it indicates a conflict when wading into affairs of state. Blair is alleged to have form here too: in 2014, a number of former ambassadors and MPs [called for his resignation](https://www.theguardian.com/politics/2014/jun/27/tony-blair-conflict-interests-middle-east) as Middle East peace envoy for the Quartet (made up of the United Nations, the US, the EU and Russia). They claimed he was ineffective, while others noted [the growth of his business interests in the region](https://www.independent.co.uk/voices/tony-blair-uae-middle-east-envoy-qatar-israel-palestine-foreign-office-a7894641.html). Blair’s [financial arrangements](https://www.telegraph.co.uk/news/poli
View originalWeekly Report Mar 2 -- Mar 9, 2026
# Weekly Report: Mar 2 -- Mar 9, 2026 ## Quick Stats | Metric | Count | |--------|-------| | Merged PRs | 47 | | Open PRs | 24 (11 draft) | | Open issues | 61 | | New issues this week | 33 | | Issues closed this week | 6 | | CI runs on main | 30 | ## Highlights An exceptionally active week with 47 merged PRs. Key themes: - **Realm migration**: Keycloak master-to-kagenti realm migration landed (#764), with follow-up fixes (#851, #863) - **Platform hardening**: Podman support (#861), Docker Hub rate limit fixes (#844), PostgreSQL mount fix (#852) - **CI/CD improvements**: OpenSSF Scorecard 7.1->8+ (#807), stale workflow permissions (#859), HyperShift cluster auto-cleanup (#854) - **New capabilities**: CLI/TUI for Kagenti (#835), Istio trace export to OTel (#795), RHOAI 3.x integration (#809) - **Dependency updates**: 8 Dependabot PRs (Docker actions major bumps, CodeQL, Trivy) - **Authorization epic**: 7 new issues (#787-#794) laying out a comprehensive authorization and policy framework - **Agent sandbox epic**: New epic (#820) for platform-owned sandboxed agent runtime ## Issue Analysis ### Epics (active initiatives) | # | Title | Owner | Status | |---|-------|-------|--------| | #862 | AgentRuntime CR — CR-triggered injection | @cwiklik | New, design phase | | #820 | Platform-Owned Sandboxed Agent Runtime | @Ladas | Active, PR #758 in progress | | #828 | Migrate installer from Ansible/Helm to Operator | @pdettori | New, planning | | #787 | Authorization, Policies, and Access Management | @mrsabath | New, 6 sub-issues filed | | #841 | Org-wide orchestration: CI, tests, security | @Ladas | Active, PRs #866-#868 open | | #767 | Migrate from Keycloak master realm | @mrsabath | Mostly done (#764 merged), close candidate | | #619 | Tracing observability PoC | @evaline-ju | Active (#795 merged) | | #621 | OpenSSF Scorecard to 10/10 | @Ladas | Active (#807 merged, now 8+) | | #523 | Refactor APIs for Compositional Architecture | @pdettori | Active, PR #770 open | | #518 | OpenShift AI deployment issues | @Ladas | Active (#809 merged) | | #309 | Full Coverage E2E Testing | @cooktheryan | Ongoing | | #440 | Multi-Team Deployment on RHOAI | @Ladas | Ongoing | | #439 | Namespace-Based Token Usage Quotas | @Ladas | Ongoing | | #614 | Feedback review community meeting | @Ladas | Stale (>30d no update) | | #623 | Identify Emerging Agentic Deployment Patterns | @kellyaa | Stale | | #612 | Agent Attestation Framework | @mrsabath | Stale, PR #613 still draft | ### Security-Adjacent Issues | # | Title | Status | Recommendation | |---|-------|--------|----------------| | #822 | Keycloak configmap should be secret | Open | High priority — credentials in configmap | | #106 | Replace hardcoded secret with SPIRE identity | Open | Long-standing, PR #769 in draft | | #333 | SPIFFE ID missing checks | Open | Stale, needs triage | | #267 | Replace hard-coded Client Secret File path | Open | Good first issue, needs assignee | ### Bug Reports | # | Title | Still affects main? | PR exists? | Recommendation | |---|-------|---------------------|------------|----------------| | #856 | Warnings during Kagenti install | Likely yes | No | Triage — install warnings | | #855 | Can't checkout source on Windows | Yes (skill naming) | PR #869 | In progress | | #829 | Deleting A2A agent doesn't delete HTTPRoute | Likely yes | No | Needs fix | | #826 | No way to log out of Kagenti | Yes | No | UX bug, needs fix | | #825 | Build failures lead to stuck state | Likely yes | No | Needs investigation | | #738 | UI drops spire label on 2nd deploy | Likely yes | No | Stale (>30d) | | #486 | Installer issues (Postgres/Phoenix) | Partially (#852 fixed PG) | Partial | Re-verify Phoenix | | #781 | kagenti-deps fails on OCP 4.19 | Unknown | No | Stale, needs triage | | #606 | Unsupported Helm version | Unknown | No | Stale, needs triage | | #655 | Duplicated resources between repos | Unknown | No | Stale, needs triage | ### Issues Closed This Week (good velocity) | # | Title | Fix PR | |---|-------|--------| | #833 | UI login fails after realm migration | #834 | | #831 | --preload fails when images cached | #832 | | #819 | Remove deprecated Component CRD refs | #818 | | #813 | Import env vars references bad URL | #821 | | #810 | Import env vars silently fails on dup | #821 | | #804 | OAuth secret job SSL error on OCP | #805 | ### Feature Requests | # | Title | Priority | Recommendation | |---|-------|----------|----------------| | #858 | Use new URL for fetching Agent Cards | Medium | Good first issue | | #836 | AuthBridge sidecar opt-out controls in UI | Medium | Tied to #862 epic | | #824 | Help text for UI fields | Low | Good UX improvement | | #823 | Examples as suggestions in UI | Low | Nice-to-have | | #817 | Auto-add issues/PRs to project board | Medium | PR #870 open | | #814 | Mechanism to update agent via K8s | Medium | Operator feature | | #786 | Register MCP servers from UI | Medium | UI feature | | #783 | Agent card signing/verifica
View originalPricing found: $2.7
Key features include: Industries, ACX Platform, ACX Practice, ACX Experts.
Ada is commonly used for: ACX Platform.
Ada integrates with: Salesforce, Zendesk, Shopify, Slack, Facebook Messenger, WhatsApp, Google Analytics, HubSpot, Intercom, Mailchimp.
Based on user reviews and social mentions, the most common pain points are: token usage, token cost, large language model, llm.
Based on 62 social mentions analyzed, 24% of sentiment is positive, 60% neutral, and 16% negative.
VC Firm at Andreessen Horowitz
2 mentions