Warm watercolor illustration: scrambled eggs with tomatoes and baby bok choy on white plates, a bowl of rice on the side, bright simple kitchen scene

VibeCooking #1: Start With the Simplest Dish

I’ve been freelancing for three months. At first lunch was the same as office life. Open the delivery app, scroll, pick something, wait. Nothing wrong with it. I’d been doing it for years. The shift wasn’t sudden. First I noticed the monthly delivery bill added up fast. One person ordering has to meet minimums plus packing and delivery fees, and a decent meal runs $6-8. At month’s end it wasn’t pocket change. Then I noticed how heavy the oil and salt were. I’d eat, then crash. Paying money to feel worse. ...

2026-07-31 · 4 min · Alex Wang
Watercolor: a beam of light passes through GCO (Goal, Constraints, Output) through a magnifying glass, landing on a verified report

Day 11: How to Verify What AI Gives You

This is Day 11 of the AI Path L1→L2 Upgrade Guide, a practice article. Do Day 8 and Day 10 first. Day 10 ended with a note: description and verification are the same coin. If you can’t describe what you want, you can’t check whether you got it. I default to trusting AI output. Especially the confident ones. Well structured, clear, sounds right. Day 10 mentioned an example: I asked AI to “organize these files by category.” It sorted them alphabetically by name. The result looked organized, it just wasn’t the kind of organization I meant. At the time I thought “I need to describe it better next time,” not “let me check whether what it delivered is actually correct.” ...

2026-07-28 · 5 min · Alex Wang
Watercolor illustration: fuzzy clouds condensing into a sharp beam of light, illuminating three cubes labeled G, C, O

Your AI Feels Like an Intern? Try the GCO Framework

This is Day 10 of the AI Path L1→L2 Upgrade Guide. You should complete Day 8 and Day 9 first. I learned this the hard way. “I thought I was clear” is a lie I have told myself more often than I care to admit when prompting AI. I once asked an AI to organize project documents: “Help me sort these files.” What I got back: all .md and .py files mixed together, sorted alphabetically by filename. It did sort them. Just not the way I meant. Another time I said: “Show me the directory structure.” I wanted a tree view. The AI gave me ls -lh output: file sizes, timestamps, permissions. Everything I didn’t ask for. Same request, two completely different results. The gap wasn’t in the tool. It was in how I described what I wanted. A fuzzy description and a clear one can mean the difference between three iterations and zero. Here are three exercises from everyday scenarios. Each starts with a vague version, breaks down what’s missing, and builds up to a clear version. If you read these and think “wait, I write prompts like the vague version too,” that is exactly why this article exists. ...

2026-07-21 · 6 min · Alex Wang
Medieval castle at night with green surveillance lights along walls, a red crack visible in the shadows

1754 Tests All Green, Then a Code Review Found 6 Assassins

Prologue: 1,754 perfect green lights Late on the night Aristotle v1.6.0 was shipping, the team watched the test panel. Green indicators lit up like dominoes. Python side: 1,166 assertions. TypeScript side: 588 checks. Total: 1,754 automated test cases. All green. In code terms, that’s cameras and infrared sensors on every wall. A fly couldn’t sneak through without setting off alarms. The team leaned back. The system looked like an iron fortress. ...

2026-07-15 · 3 min · Alex Wang
Watercolor: ChatGPT desktop app floating centrally with three mode icons Chat/Work/Codex, a terminal window with scrolling code behind, three geometric shapes representing GPT-5.6 Sol/Terra/Luna

Codex Cold Start: From Installation to Your First Command

This is a bonus article for the “AI Path L1→L2 Upgrade Guide.” If you haven’t set up Codex yet, this guide gets you from zero to running. On July 9, 2026, OpenAI made two announcements at once: GPT-5.6 went public, and Codex was merged into the ChatGPT desktop app. The new desktop app has three modes: Chat, Work, and Codex, all in one app. If you’ve already got the standalone Codex desktop app, it updates in place. Your projects and settings carry over. ...

2026-07-13 · 6 min · Alex Wang
Watercolor: an IME icon stuck in front of Warp, then gliding smoothly past Kitty

From Warp to Kitty: An IME Freeze That Forced a Terminal Migration

Spending the entire day inside OpenCode made my terminal my IDE. But when even typing became a problem, switching was the only option. This started with a very specific, very annoying problem: Chinese IME freezing. Inside Warp running OpenCode, typing Chinese was nearly unusable. Every three to five characters, the system would freeze for seconds. Input stopped responding. When it recovered, it would swallow some of the characters I’d typed. At first I blamed OpenCode, thinking maybe it was consuming too many resources. But I checked other applications and typing was perfectly fine there. ...

2026-07-10 · 8 min · Alex Wang
Split architectural structure, left warm amber TypeScript tower, right cool cyan Python engine room, central subprocess bridge with five constraint pillars

One System, Two Languages: The Five Constraints Behind Aristotle v1.6's Architecture

TL;DR: Five constraints shaped the Watchdog-Intervention Bridge’s cross-language architecture. Watchdog has to intercept LLM tool calls synchronously, so it runs in TypeScript. Intervention has to reuse the existing reflection engine and rule system, so it stays in Python. The Bridge adds zero new infrastructure, so it uses subprocess. Communication can’t block every tool call, so batching replaces real-time streaming. Each decision was the least bad option under the circumstances. The last post covered what the Watchdog-Intervention Bridge does in Aristotle v1.6. This one is about why it looks the way it does. ...

2026-07-08 · 7 min · Alex Wang
Watercolor: an open laptop with a terminal screen, OpenCode and Zen icons floating nearby, a hand inserting a key into a lock

OpenCode Cold Start: DeepSeek V4 Flash Free in 5 Minutes

This is a bonus article for the “AI Path L1→L2 Upgrade Guide.” If you have not installed OpenCode yet, this guide gets you from zero to running. In Day 8 you learned about autonomous execution AI. The next step is actually installing the thing. OpenCode is an open-source AI coding assistant. It is free, supports multiple models, and has a skill system. Paired with OpenCode Zen, you can use tested models without setting up third-party API keys, including the free DeepSeek V4 Flash. ...

2026-07-06 · 4 min · Alex Wang
Watchdog-Intervention Bridge three-layer architecture transitioning from post-mortem reflection (warm amber) to real-time interception (cool cyan)

From 'Post-Mortem Reflection' to 'Real-Time Interception': Aristotle v1.6.0's Watchdog-Intervention Bridge

TL;DR: Aristotle v1.6.0 introduces the Watchdog-Intervention Bridge, shifting from “reflect after the fact” to “intercept in real time.” A TypeScript watchdog detects 21 signal types around tool calls. A Python intervention layer handles 13 violation types, connected via a subprocess bridge. MCP tools expanded from 10 stubs to 25 full implementations. Two known bugs remain. Open source on GitHub, MIT license. A Hypothesis Overturned From v1.0 to v1.5, Aristotle answered one question: when AI makes a mistake, how do you make it remember and not repeat it? ...

2026-07-04 · 9 min · Alex Wang

purr, typeflux, openquack, freeflow: Voice Input Tools Compared on Intel Mac

Why Voice Input Typing speed averages 50-80 WPM. Natural speech runs 150-180 WPM. For emails, notes, and even code comments, the gap is hard to ignore.[1] What pushed me to actually look was vibe coding, the “describe and decide, let AI write the rest” style of programming. The bottleneck shifts from “how fast can I code” to “how fast can I articulate what I want.” Rewrite a prompt, tweak a parameter, jump to another app to type — all of it breaks flow. Voice input closes that loop. Speak the intent, stay in flow. ...

2026-07-02 · 8 min · Alex Wang