Episode 246: Dogfooding Khala Code

July 3, 2026 · View on GitHub

We use Khala Code to fix bugs in Khala Code.

We design a 'QA Swarm' for automated quality assurance and testing.

We'll build QA Swarm first for Khala Code, then add it to our Autopilot product suite for businesses.

From Fable: "QA Swarm: point a swarm of QA agents at your product and get proof it works. A coordinated fleet of autonomous QA agents — scripted scenarios, seeded monkeys, LLM explorers, perf probes — drives your app through a real browser, a real terminal, and (on macOS) the real native window; every discovery distills into a committed, re-runnable e2e test; every run produces an honest CONFIRMED/REFUTED verdict, videos, exact accounting, and a shareable web URL where the whole swarm is visible as a live, cinematic StarCraft-blue board — nodes for every agent and scenario, edges that light only when real receipts land."


00:00 Welcome to full-screen mode. We need full-screen mode because that's how I want to run Khala Code. Just take over my screen. No terminal multiplexing, just give me the freaking desktop app that looks cool with my hotkeys, okay?

00:17 All right, so this is a little bit of a jumbled mess in terms of the settings page and this unified inbox. That's horrific. Fleet cockpit... We’ve got a lot of cleaning up of this stuff to do. But we have the app more or less usable for chats. This is wrapping Codex, and I'm adding Claude code support.

00:41 Yeah, before we can really get this out into the hands of the people, I need to have it smooth enough that I love using it and I’ve switched my workflow entirely to use this. I'm still split between this and Codex. But the goal, as of this video, is to say: look, stop using Codex, just force yourself to fix the bullshit.

01:05 So like, look at this: "Invalid session id: invalid character". So let's try to fix that with Khala Code. No idea what the hell this is. Some Codex sessions show this. Also, the title of the chat isn't loaded. What is this? Is it a sub-agent chat? Is it some other kind of chat? Why does this happen? Fix it on a work tree and push to main.

01:38 There's a couple of minor little UI things that aren't fully at parity with the Codex desktop. Codex completed the turn with status: failed. I think that's because it's using the wrong—or my main Codex account’s rate limits were maxed. So let's just take care of that real quick. I don't really want to use a rate limit right now, but I will. Let's see if that fixes it. Try again.

02:26 I'm going to be noticing things like... okay, it said status: failed. So let's let that go. Let's make another chat. I just had this interaction in another chat. It told me "failed." The problem was that the main account that I'm using was exhausted. I need to have that as the actual error.

02:52 And also, I need automatic failover to one of my other connected Codex accounts, because you can see in the fleet screen I’ve got multiple of my Codex accounts. It should automatically route to the next one. So go fix all this in a work tree and update docs or policies or whatever so I don't run into this again.

03:13 And then another one... Okay, that said "current chat" top left. I saw some flash top left in the sidebar of Khala Code that said "current chat." That's not good. Current chat is just supposed to be highlighted as a background bar. I thought we removed that "current chat" thing. Go fix that.

03:34 And I'm about to make a fourth chat. I need to like, take a look and see if all of these chats have the right loading indicator and stuff. The "Plan" button in the composer of Khala Code doesn't seem to do anything. I don't know why it says "Plan." That probably should not be there. We’ll want to replace that with reasoning modes. Actually, let's replace it right now with reasoning mode. Change that to reasoning mode.

04:12 I'm still not entirely sure what the bottom composer should look like, because right now we've got it so that your request can be handled by either Codex or Claude or Khala. And I may try to just collapse that and have some smart routing on the backend so it all kind of goes through Khala, I just don't know.

04:30 Kolo Code. I also don't think I have follow-ups in place here. Does "stop" even work? I need to add proper queuing as well.

04:45 All right, let's take a look at some of these other chats that I did. So what I've specced out that I think that I need is an equivalent of our idea of "product promises" for the sort of micro-interactions that go into an app like this, where I want like specific things to happen when I hit specific key combinations, have that change if things get rebound as different keybindings, and then make sure that everything works smoothly as I'm changing things—like have there be test guards and such.

05:32 And also being able to test for speed. Like right now there's a little bit of lag when I go between screens. That's just a thing that should be optimized. But I want this to feel like really clicky, like a video game. Rebindable hotkeys, pop around different stuff.

05:54 It's just interesting that like everyone’s sort of doing that kind of thinking in the realm of terminals, and that's great. But I don't want to, you know, multiply Linux neckbeards. I want to multiply gamers, like gaming. Game UX I feel like has a lot to teach us about how to represent lots of data and to make it actionable.

06:23 So like this: we switched our forum... I mean, our forum is on the web, and we've pulled that into the app. So just imagine that you're like chatting and doing this stuff with your agents and you're like, "Oh, let's pop over and see what Timmy's agent said." Hmm. And then, you know, your agents can earn Bitcoin tips or folding all that stuff in.

06:48 But this is just the very beginning of OpenAgents' social layer, agent coordination and such. Agents are going to be able to post jobs for each other. We’ve got a lot of cool stuff coming down the pike for that. But the first thing I want is very solid kind of coding agent cockpit, mission control, drop-in replacement for the bigger usual harnesses.

07:16 Let's take a look at this. Blah blah blah. Okay, so on the micro-interactions point, I kind of told this to Fable a little bit ago. I was like, I'm kind of frustrated here because I've got all these higher-level things we call "product promises." The claims that OpenAgents makes about what the product does, enables, protects, or refuses to do.

07:51 Ways of reporting mismatches if something that we say is live, isn't. We've got like a whole forum on our forum for product promises. So like Orory, one of our community members—yeah, independent audit of all 10 green promises. And let's see, got some recent stuff in here... Khala Code stress test.

08:26 I haven't even read most of this stuff because it's really for agents to interact. But it's very helpful for my agents to kind of comb through there and see what people are reporting. But just this idea of that we've got a way of having as well as like a registry of: here's all of the things that we've said that we want to have built, which of those things are green or yellow or red or not planned in the short term. And it's just got an overwhelming amount of stuff in here.

09:00 This is for agents, very clearly. But you can ask your agent to summarize what's live and what's not. But that's great at the macro level, like features that OpenAgents has live. I want that level of rigor applied to micro-interactions, paired with a like testing and QA harness to make sure that as I'm making these changes rapidly to the codebase, that things like when I hold down Command—first of all, I don't like this, this is not what I asked for.

09:32 But there's the idea is that I want the—kind of like with OpenAI, I think if you go into Codex if you do that—yeah, when you hold down Command on Mac, you know, it shows you can hotkey these. So like Codex has got like a good thought in this direction about: okay, yeah, hotkeys for chats. But one thing that I find super annoying about Codex's implementation is that they'll keep changing the order of this based on the most recent message.

10:05 And so the thing, the chat that you think is Command+3 will shift to Command+5 and it'll like switch around second to second. It's like, that's not what hotkeys are supposed to be. It's supposed to be like muscle memory, a little bit more long-term. So ideally everything is going to be bindable. Like I want to be able to maybe have just preferred chats that stay on certain hotkeys. I'm now thinking of Primeagen's Harpoon software where he had like a few different, I guess, terminal chats on hotkeys.

10:39 So that kind of idea. Okay, so first of all, I've been working with Fable to like define the sort of micro-equivalent of product promises, and we're calling this "UX Behavior Contracts." And this is something that if any of you are going to be helping on development or having your agents help on the development of the OpenAgents codebase, this is like a useful abstraction to think through.

11:13 As well as we think it's going to be relevant for the customers, the business customers that we're starting to work with. Like, hey, let's define what the behavior contracts that you want—like what are the things that you want your users always to be able to do? They do this, this happens, and then have that like enshrined in a contract that is enforced by agents with QA processes and testing and all of this stuff.

11:39 So "UX Behavior Contract" is what we’re calling it. Let's step through this. "This is the durable home for stated UX expectations for Khala Code—the answer to 'where is correct behavior defined and how is it tested against?'" The machine source of truth is the type-to-registry at UX Contract. You know, let's go take a look at that. I wish I could just link to that. Khala Code, clients, Khala Code desktop, source, contracts, UX contracts.

12:07 Okay, so this is the equivalent of our product promises version of this same thing. Let me actually just take a look at that product promises. Hang on a second, I want to show you that real quick. Product promises. We've got like one ginormous source refs... just like all the big URL I showed you earlier: openagents.com/promises. It's all tied to this, that agents will keep updated.

12:46 Okay, so then the micro-version of that: UX contracts. "Khala Code desktop UX behavior contracts. This registry is the durable home for owner-stated and later customer-stated UX expectations. Every entry records the statement verbatim, who stated it and where, and the oracle tests that enforce it in the normal test suite. The paired coverage test in test/ux-contracts.test.ts fails the sweep if an enforced contract loses its oracle, so stated behavior cannot silently drift."

13:16 The human rendering at docs/ux-contract.md kept in sync by the test file. Okay, so this is the human version of this. This is awesome. It's just like: give me the human doc that puts into plain language, then here's like the whole agent registry with all of the details that agents can traverse over with like a script that keeps those two things in sync. That's super cool.

13:40 All right. Rules. "When the owner, or later a customer, states a UX expectation in any session, the receiving agent must land it in the registry in the same change. Statement verbatim, source recorded, oracle test written, or the entry marked pending with a blocker ref. Telling a session is recording it, that is the point of this file."

13:58 You can envision that when we do our business customer onboarding process, in the like opening interview with our onboarding agent, or talking to Khala or whatever, it collecting from the customer requirements: what do you want? And then having some of those things starting to be built automatically. But it starts with: what is the contract?

14:26 Here's the—you know, people would call it like a plan. It's really an evolution of the plan. A plan is like: okay, let's put what you want to have done in a markdown doc. But a contract is more like: no, let's get even more fine-grained. When this user action occurs or when this other event occurs, this is the other thing that should occur. And then how is that actually enforced? Contracts must be enforced.

14:55 Okay. "Enforced requires at least one oracle, an automated enforcement tier (test-sweep or nightly), and zero blocker refs—the same mechanical green-gate discipline as the product promise registry. Oracles must assert on real behavior (mounted DOM, RPC results, harness scenarios). Source string assertions are acceptable only as an explicitly labeled stopgap and should carry a follow-up. Bump the version on every registry change," blah blah blah. "Contract deviations found in the wild are strict bugs; file them with the contract ID in the title."

15:30 Cool. And then we'll probably build into Khala Code—like if your agent or if you, in the course of doing something, bump into something in your app that's like a clear violation of one of our UX contracts because maybe we didn't implement something correctly on Windows, for example—that should automatically open up an issue, maybe make a forum post about it, feed into our little triage system, and then like have that fix be fixed ideally on essentially autopilot and then like roll out via auto-update. Like this whole thing should be the engine of continual improvement of Khala Code and then other products of ours on autopilot.

16:24 All right, so here's the registry. And this is just started with two micro-interactions that were pissing me off because they were wrongly implemented when I said this an hour ago. So there was a conflation between the spinners in the sidebar. It's supposed to be when it's streaming, just same as Codex, but it was like also putting it there when it was loading.

16:51 I was like, "No, it needs to be streaming only." And that was just some conversation that I quickly had with some agent yesterday that like it misinterpreted what I wanted and it built the wrong thing. It's like, okay, rather than like me continually then trying to find the agent chat where I had that conversation and update its understanding, it's like: no, let me just have one source of truth, tell it what should happen, have that be enforced forever.

17:18 And then Command hotkeys V1. I think I just had it update this because it made an overlay that I actually don't want. Yeah, oh, oh look. It made this overlay but that's not what I wanted. I don't want this overlay like that. I want it just be like how Codex has it.

17:42 So interestingly, it retired the V1 and it added a V2. Now I don't know if it actually coded that up. Let's pull the latest changes and see if it did. Yeah, oh, and it's blue too. Oh, that's nice. Now, you know, I've got another little thing that I could nitpick about it, how like there's like more text that shows there. But you know, let's just see: 3, 2, 1... there's a bug. 4, 5... okay.

18:19 Good. Now that like surfaces the next thing, which is: some of those chats are taking a second to load. I do have a caching mechanism in place, so now if I can... I'm bouncing between 4 and 5, it's like pretty smooth. But Codex is loading these chats that are like sometimes multi-megabyte JSONL files. It’s got to do a bunch of parsing. There's a lot of like room for optimizing, even above what Codex does, because there's still a lot of like slowness and lagginess just from how they've done sort of relatively unoptimized loading of stuff. But lots of stuff that we can do here.

18:55 Okay, so that was—you know, you might call that like a contract-driven development. Now one other thing is... right now... let's actually add this as a contract. Now I'll just keep it in the same chat for now. Okay, that's working great. But now add another micro-interaction there for: the active chat needs to have a background color.

19:22 This is another thing where I've said, and I literally had a conversation in the last 24 hours where I said that the active chat needs to have a background color where I can see what the actual freaking highlighted chat is. What is the active chat in there? And like some agent did that—it wasn't dark enough, I mean, it was too dark. I asked to make it lighter, and now that's gone. Like what the hell is that?

19:46 So anyway, here's another thing I want you to put in there now and then put some appropriate, not very bright but like noticeable background color on active chats. Go ahead and do that now.

20:01 Now here's a more interesting thing I'm going to have it do after that. I'm going to switch the model to Opus and I'm going to have it traverse the list of my recent Claude and Codex chats and mine it for things that I've asked for and try to create contracts of all of that.

20:32 So this idea of converting unstructured data—like me screaming at my voice transcription thing and like putting caps and swearing—into like here's what I want, having something convert that into like structured contract that then has all this beautiful verification around. That's a really good flow to be in.

20:57 Because I want to be able to have conversations where like business intake customers, you're just like vibing about like what your problems are: "Man, I hate it when this happens, and this agent sucks, and I wish I could do this." And it’ll just take that and turn that into contracts, create the software, and then like boom, here you go, connect your credit card, pay us for it. Yeah? Remove all this bullshit.

21:22 Dude, we pivoted to OpenAgents, we renamed the company OpenAgents in late 2023. It might be early 2024 we made the forum change. Been at this for a while. Seeing now literally everybody creating agent orchestrators and multi-agent everything and agent-agent-agent-agent... like everyone's doing agents.

12:12 People are starting also to come into the same problem spaces that we’re solving for around like verification and acceptance, accepted outcomes. It's just like a noisy, noisy, noisy space. And no one's figured out how to build the economic layer that we've designed and started to build. So I think that's going to power our victory.

22:20 But what we have not had until now-ish is a gorgeous product that you can use that's like actually a direct upgrade to other things. It's not yet fully solid, as you can see there's a few kind of iterations still yet to go. And this probably won't be for everyone—there might be people who just like the standard macOS app, or they like only shad-ui components or basic Windows-looking UIs, I don't know.

22:59 But this is for me. This is for me. This is for probably power users who also like video games and just will appreciate sitting inside of a video game. Then you get all the other like economic benefits of like: "Oh yeah, by the way, there's a built-in Bitcoin wallet and your agent can earn Bitcoin by selling, making posts, getting content tipped, finding jobs, converting your stranded excess compute or data into resources other agents want to buy." Like, yeah, we're packing all of that into Khala Code. No one's going to compete with all of that.

23:42 But we've got to just close the gap between the things that I've said that we're building and what's actual live reality. And the beautiful part now is that everything that we’ve been describing is just software. Software solves everything. And we've got the ability now to just massively parallelize armies of coding agents. And that's like a big reason for this app. Like I can't parallelize fast enough with the standard Codex.

24:16 I was like doing some hacks and loops and version one of our little fleet management thing over here was kind of like looping with Codex. Actually, here's what we had: I had the Codex app calling the Khala API which then delegated to my like Codex fleet that I had like four different or six different ChatGPT accounts connected to my local Pylon.

24:49 So I had Codex hit the API, it fanned out to my local Pylon and like had three sessions on average delegated to six of my ChatGPT accounts. I did that a couple nights ago and that's what powered most of this. Like this 2.4 billion day, 2 billion of this was me waking up at 9:00 AM, and from midnight to 9:00 AM it racked up two billion tokens just because I had like 18 sessions.

25:16 Now a bunch of the PRs were duplicative and there was a lot of like quality issues, mostly from agents stepping on each other and not properly coordinating. The actual PRs themselves were good because it was just Codex taking an issue and doing it, which it's quite good at. And then just me kind of like re-tooling the system. And then I'm now starting to get the fleet switched over to the newer system, which is Khala Code calling the Khala API calling the Codex fleet (Codex and soon Claude Code).

25:52 And then I'm excited also just in this four-day window where we've got Fable on the subscriptions. Tomorrow I'm going to get this kind of pattern that Mitchell and a few people were talking about, like using Fable as the planner/architect, GPT-5.5 as the coder. And people are making other harnesses—omp (Oh My Pi) or something. Yeah, cool, omp. I don't want omp, I want Khala Code. Give it to me in here.

26:30 All right, let's take a look at this. So let's drop this down to Opus. Oh, actually I'll try Sonnet. Let's try Sonnet. Set Sonnet as default for new sessions. Now I want you to traverse my Codex and Claude conversations for the last 36 hours and mine the things that I asked for, specifically like look at the first few messages from each conversation to start, and then if something has like good requests you can look more deeply in it. Infer from things that I've requested appropriate contracts to add to this, focusing specifically on Khala Code. Yeah, look through Codex and Claude docs for the convo history.

27:57 In batches of five or 10 or whatever as you find good things, update this file, commit and push. Use "no verify" to skip the CI hooks and continue that process until it is thoroughly reflecting everything I've asked for in terms of Khala Code features, functionality, interactions, UI, anything, anything about Khala Code UX. Add to this, for now just do the docs, we'll do the actual code pass to strengthen the actual harness implementation afterward. Push.

28:42 Okay, let's see what that does. While that works, let's take a little spin through QA. So I had this interaction on Twitter recently where this guy Rhys, who founded Executor, has just like some MCP smart dev guy was asking for like a QA agent that did certain things. And I was like, "Okay, I'll build that." But then like, oh, this is actually—yeah, an important part of a product where...

09:23 This is really a thing that I now see that we need: just like QA aka Quality Assurance as like a service. Because I saw—what was it?—Cognition put out this security swarm, you can spin up like a swarm of security agents to do pen testing or whatever. It was like: you know, we should do a QA swarm. Like have a bunch of agents swarm your product from every different angle, try everything.

10:00 Give me Playwright screenshots, give me performance, give me gotchas, give me bugs, give me regressions, everything about QA just like let me click the button and just like have that swarm hit my product in a repeated way. You know, use my local subscription for that. Put artifacts here and there.

20:27 So just have a bunch of stuff in here now about like building kind of a QA engine for us. And then product plan of QA swarm. All of this is open source, by the way. I don't give a shit. Feel free to like do your own version of this.

20:49 The one-paragraph product: QA Swarm. Point a swarm of QA agents at your product and get proof it works. A coordinated fleet of autonomous QA agents—scripted scenarios, seeded monkeys—I've never heard this term applied there, monkeys. A bunch of monkeys bashing on the keyboard. That's actually a pretty good mental image. LLM explorers, perf probes, drives your app through a real browser, a real terminal, and on macOS the real native window. Every discovery distills into a committed, rerunnable end-to-end test. Every run produces an honest, confirmed/refuted verdict. Videos, exact accounting, and a shareable web URL where the whole swarm is visible as a live, cinematic StarCraft blue board. Nodes for every agent and scenario, edges that light only when real receipts land. It is the roadmap QA machine: drivers, oracles, coverage ledger, budget, explorers, nightly loop, packaged as the thing a business buys, built almost entirely from parts already shipped.

31:51 We are customer number one. QA Swarm's standing engagement is Khala Code desktop itself, and its first sales artifact is the evidence that engagement produces. And then I love it when people, like in this case Rhys, just post like long descriptions of exactly what they want. To X, I'm like, okay. I want to build that, but like maybe for you, but definitely if you want that, then a bunch of other people are going to want that also. And we want that. I need this. The thing that I need as a company is to like close the gap between what I've been saying and what we're shipping. That's it. If I close that gap, I have a successful company. If I don't close that gap, I talked the talk and didn't walk the walk.

32:50 Okay. For us in particular, also the other loop that we're closing is like the revenue loop. It's like, as soon as we can have these ideas, this evidence that we've been talking to for 200 episodes, in a product that a user will connect a payment method to pay for, and then we have that revenue start to flow into the network, the network strengthens the product... we're going to have like an amazing flywheel. We have like all the pieces for this once we close the revenue loop.

33:30 We had a whole video on that the other day called "Let's Make Money," Episode 239. Episode 231... 239... 241... "Let's Make Money (Closing the loop)." Connects the supply side to the buy side. Autopilot as an all-in-one business system. Refer once, earn forever attribution, marketplace products built from OpenAgents cloud primitives, the agentic sales force ambition, and Bitcoin priced margin attacks against wasteful AI economics.

34:04 Yeah, so I would say now that OpenAgents has two products: it's Khala Code, our equivalent of Claude Code, and then Autopilot is our kind of business system for running stuff on Autopilot. And we are first—like, I'm customer number one for Khala Code. I'm going to make sure that this is really freaking good. I'm clearly building it like in a way that I like it.

34:33 And then number two is Autopilot, like putting our business, our company of OpenAgents itself on Autopilot. Building out that idea of like Product Promise / UX Contract rigor as applied to the level of a business with all of the like cloud primitives that we want to offer and just all the services that we want to offer. It's like that level of rigor applied all up and down the business. Getting there is basically like a task of just fanning out and making best use of our coding agent capacity. We're going to be increasing our coding agent capacity, in part because we are now have the ability to just fan out some of that work to our community, which we'll be able to pay. So we're like starting to get the makings of like limitless supply of compute and agentic labor. We close the revenue loop. This is going to get good.

35:43 Okay, thanks for watching. Please feel free to take a look through our codebase, try running Khala Code. Any comments that you have on this or things that you'd like to see, please open an issue. Please point your agent at our forum and feel free to make a post about anything.

36:08 Let's take one last look through here. What did this do? Survey the conversation history storage, mining for Khala Code UX requests, land them as pending contracts (docs only, oracles to follow in the code pass). This is the goldmine: direct in-product bug reports and feature asks with the Kolo Code (Kolo Code, that was before I was able to correct with my voice transcription thing, shout out to AquaVoice, it's very good, I finally got it to recognize Khala Code). Comprehensive picture assembled from 43 in-app Codex sessions plus additional Codex desktop origin sessions plus Claude sessions. Oh yeah. Okay, I want to see what this comes up with and I want to show you.

37:04 I heard somewhere someone said like: if you're trying to build something and you're having trouble and you like build some new system to help you do it, then that new system that helps you do it, that's probably actually what your product should be. And I've just been thinking about that. I was like, oh man, we need like a QA fleet to help me close these gaps. It's like, yeah. Well shit, maybe that should be our product, one of our products. We can walk and chew gum at the same time, okay? We have to build some interlocking mojo here to incredibly take on the big labs, balanced against the wedge idea of like having a thing that someone can actually interact with meaningfully and get real work done. Which is tough for me because I want to be building the whole thing. But I guess at some point you’ve got to put a thing in front of a person and have them get an amount of value out of it. Let's see.

38:26 One of my pet peeves with this interface is like I can't easily see what the hell it's doing. There's all sorts of keys like Control+O and up and down arrows. Like where is the doc? Where is the diffs? Give me a freaking diff viewer. I don't like Codex's diff viewer, but at least they have one. Like I can go up here and click "Changes" and then pretty much every time I click that, I just got this like nightmare of: "Oh, here's the 600 trillion files that you've changed in all of the work trees, which one do you want to look at?" Who designed this? This is garbage. "Key state," what?

39:07 Let's try it on my real—my real chat here. Watch this. Oh yeah. What's my 36,000—it’s just a bunch of work trees, what the hell is this? So I do want some diffs, but I want it to like actually make some freaking sense. I'd love to see diffs flying by. You know, entertain me when I'm looking at this freaking thing. Khala Code is like, "Oh yeah, here's the..." Codex will like show you "I'm running some commands." Claude is like, "I ran some shell commands." Come on man, what the hell are you actually doing?

39:53 All right, let's see what it's doing. "Roadmap QA. Conversation history mining pass. The registry's coverage extends past reactive per-session asks to a systematic sweep. Every owner message across the last 36 hours of Codex and Claude conversation history that started a Khala Code UX behavior expectation was mined. 43 in-app Khala Code desktop origin Codex sessions plus adjacent Codex desktop and Claude sessions, and landed as a pending contract in UX Contracts." Have you pushed it yet? Push to main, thank god. Let's do it. Let me see. Let me see it. Khala Code mining 36 hours. Let's go see. Got a lot of stuff in here... docs, fable... by the way, if you want to like have your agent analyze what we’re doing, here's my fable chats from the last few days. Roadmap QA, is this where it is?

40:52 Well there's the UX contracts. Ha ha ha. Give me the human summary, give me the down-down. Here we go. Dumb it down for me, I don't speak JSON. Okay. Most of the registry is still pending. These pending contracts capture known UX expectations that have been mined from prior Codex/Claude sessions but do not yet have oracle tests. They include: "composer controls must not be inert, every visible control should do something real. The attach control should be icon-only. The composer should stay compact and avoid dead mic model progress chrome. Sidebar rows should avoid raw error strings, stale harness badges, excessive borders, and timestamp collapse bugs. New threads, renames, streaming states, and historical tool calls should update or rehydrate correctly. Tool call transcript summaries should use workspace-relative paths and collapse consecutive tool calls cleanly." Oh yeah, it didn't do this, this is a good one. I don't know why but like some chat I had—I want it collapsed kind of like they collapse it, and then you can expand it. Right now it just shows all. And then there's another bug... oh that looks nice. Menu should be single line, app resume in-flight work after restart, live per-thread token counter.

30:01 Okay, well that's good because now I can go in here and I can say... go do all that. Code it up now. Do it on a work tree and like make it all freaking work and be enforced and sync it up with the QA blah blah blah. Update all relevant docs, push to main. I'm going to bed. See ya.