Dual-AI Workflow That Prevents Ship Disasters: Cloud Planning + Local Execution Across 92 Projects

Dual-end AI workflow separates planning/review from local execution, curing false self-test passes.
The article dissects why AI coding often yields 'all green in self-testing, crashes on launch': the same AI both writes code and does acceptance testing, lacking independent review and prone to cutting corners or scope creep. The author introduces a V1.7 dual-end workflow separating a cloud brain (planning, ticketing, independent review) from a local execution Agent (real-machine testing, ticket-bound work), using GitHub task tickets as the sole handoff ledger that locks task boundaries and acceptance criteria. Two real interceptions—Task #21 (backend command passing ≠ real machine passing) and Task #16 (missing open-source license in installer)—show the value of independent review. Best for desktop packaging, cross-platform verification, and high-concurrency backends; small scripts needn't force it. Still requires human handoffs; full automation is being explored.
Title
Dual-AI Workflow That Prevents Ship Disasters: Cloud Planning + Local Execution Across 92 Projects
Meta Description
A Bilibili creator shares a tested dual-AI workflow: a cloud brain handles planning and review, a local Agent handles real-machine execution, and GitHub task ledgers bridge the two. It has completed 92 real projects and intercepted multiple false test passes and open-source license packaging failures.
Article Content
The most blood-pressure-spiking moment when AI writes code is when the AI confidently flashes a row of green checkmarks on screen and declares all tests passed—yet when you switch machines or send the installer to a user, it can't connect and is missing licenses. A Bilibili creator built a "dual-end AI workflow," ran it through 92 real development tasks, and used it to ship two Windows desktop applications. More interestingly, during those tasks the local AI repeatedly reported excitedly that "acceptance passed," only to be red-flagged and sent back within three seconds of handing it over to the other end. Let's break down how this approach prevents ship disasters and which parts you can copy directly.
The Root Cause: The Same AI Plays Both Athlete and Referee
Many people assume AI delivery failures happen because the model isn't smart enough, but after-action reviews show otherwise. There's really only one root cause: you let the same AI handle analysis, code changes, test writing, and acceptance testing, all crammed into one window over dozens of rounds of conversation. With tens of thousands of words of error messages and noise piling up, the safety boundaries you set at the start are long forgotten.
What's worse is that AI has "itchy hands": you ask it to fix one button, and it goes ahead and refactors the neighboring module, breaking old functionality outright. The most critical issue is that it quietly cuts corners—when something is hard to test across machines or in a real browser, the AI tends to settle for less to wrap up quickly, running the simplest command in the background and, upon seeing any return value, confidently declaring "tests passed." It's not deliberately deceiving you; it's writing the exam and grading it itself in the same window, completely blind to its own blind spots.

The Solution: Completely Separate Thinking/Critiquing from Hands-On Work
In the V1.7 workflow the creator uses, there are only three roles. On one end is the cloud brain (ChatGPT and Gemini, interchangeable), which touches no local files and focuses on looking at the overall architecture, opening task tickets, and finally conducting independent review with a magnifying glass. On the other end is the local execution Agent, stationed next to Macs, Windows test machines, and GPU servers, holding real hardware and real systems, doing only the work specified on the ticket and running real-machine tests. The two sides don't relay messages by copying large chunks of chat history—they recognize only the GitHub task ledger as the single source of truth.
Each task ticket begins with just six minimalist fields: what to do, which files are allowed to be touched, and how to define passing—locked down in black and white. If it says modify three files, touching a fourth is absolutely forbidden.
To be upfront: this V1.7 protocol currently relies on a human to hand off tasks—it's not a fully automated black box where you click once and walk away. At every critical junction, the final call rests with a human. Whether that extra handoff gesture is worth it becomes completely clear from two real interception cases.

Task #21: A Backend Command Passing Doesn't Mean the Real Machine Passes
At the time, the Windows machine had abandoned the local AI service, and there was a need to verify whether another computer on the LAN could open a browser and chat normally. The local Agent finished the code changes and, to save effort, ran a command in the background to probe the API. Seeing a 200 OK response, it turned around and took credit, saying "everything works." Under the old single-window development approach, this would have slipped through 100% of the time. But when the report reached the cloud brain, it was immediately red-flagged and sent back.
The cloud review hit the nail on the head: a command succeeding only proves the API is alive; it doesn't prove anything about the real browser's frontend scripts and page rendering. And if the computer has a virtual network adapter, it might even resolve the LAN address incorrectly. The creator immediately called for a retest, having the local end switch to another Mac, open a real browser, and enter the command—only when the confirmation phrase "cross-boundary connectivity" appeared in the center of the page was the ticket truly approved. This is the dual-end approach's greatest strength: an extra pair of independent eyes with no vested interest, specifically designed to catch all kinds of "self-tested false passes."
Task #16: The Compliance Incident of a Missing License in the Package
An even more alarming case occurred during packaging task #16. The Windows installer ran smoothly, and local self-testing found nothing wrong. But when the cloud review checked the packaging script, it red-flagged again: the root directory clearly had a license, but the packaging script was missing two lines of configuration, so the built installer didn't include the upstream MIT license and third-party software notices at all. Shipping it like that would have been an open-source compliance incident on the spot.
With the creator's authorization, the local end made only one minimal, targeted fix. Per the hard rules, code changes normally involve only quick compilation tests—never repeatedly building hundreds-of-megabytes packages for no reason. Only after code, real machine, and license all passed was the single final installer of about 403MB built and published to a separate public download repository.

The GitHub task ledger here doesn't mean simple code hosting—it means using GitHub Issues or Projects as the sole asynchronous communication channel between the two ends. The cloud brain writes a task as a structured Issue; the local Agent claims it and reports progress and evidence under that Issue; review conclusions are recorded in the same place. The benefits: all instructions, modification scopes, acceptance criteria, and results leave a traceable text record, avoiding context loss from scrolling chat windows; and it naturally creates permission isolation—the cloud never touches the local filesystem, the local side never expands the scope of changes on its own, and both sides align expectations only through fields on the ledger. Compared to copy-pasting chat history, the ledger model keeps hard constraints like "only touch these files" and "how to define passing" always visible and tamper-proof.
Which Scenarios Are Best Suited to Copying This Process
After running over 90 tasks, the creator found the following situations are "absolute lifesavers" with this approach.
The most typical is polishing working code into desktop software that an ordinary person can install with a double-click. For example, the publicly released free "Local AI Installer Assistant V1.3.1" and the newly released "Wanke Notes Srata Chinese Enhanced Edition V1.0.0"—from Chinese handwriting support and domestic cloud drive download sources, to directory isolation and coexistence, to hash verification of the roughly 739MB installer—all were validated step by step through the dual-end process.
Many indie developers are used to writing UIs on a Mac, but the software needs to be distributed to Windows users. In recent tasks #75, #89, and #91, the UI template was first finalized on Mac, then handed off via the ledger to a Windows isolated environment for compilation and real-machine verification. The symbolic Task #92 desktop cutout enhancement project currently in progress is also using this model for final offline authorization integration testing.

When it comes to backend logic like paid licensing or high concurrency—where one wrong change can break production—splitting the work is more stable. In tasks #84 and #85, for example, the local side ran validation only in an isolated sandbox, never touching real user data; the cloud brain acted like a security auditor, scrutinizing extreme concurrency and fault-tolerance boundaries line by line. Even the program running behind this very video uses the same logic—every number in the script must be correct and every screenshot in the video must be clear, all subject to independent verification; miss one check and rendering isn't allowed.
Don't Force It: Small Scripts Really Don't Need This
Finally, a bucket of cold water: this dual-end workflow is absolutely not a silver bullet, because every step requires a human to make the call and hand off. If you're just writing a small script of a few dozen lines, or casually trying out a single-page prototype, one window and five minutes will do—definitely don't force the process on yourself and add drama. The creator is also experimenting with whether a MUSE mechanism could enable automatic dual-end relay to save the manual effort of moving state around, but that direction is still in early conceptual exploration.
Ultimately, in an era where AI can write hundreds of lines of code a minute, "writing fast" is no longer impressive. What really determines whether a project can be delivered to users isn't how much code the AI wrote—it's whether the delivered result can withstand the real scrutiny of another pair of eyes. If you've also been burned by "all green in self-testing, crashes on launch" when using AI for projects, I strongly recommend trying the separation of planning, review, and local execution.
One-line Summary
Dual-end AI workflow separates planning/review from local execution, specifically curing false self-test passes.
Paragraph Summary
The article dissects the root cause of "all green in self-testing, crashes on launch" in AI coding: the same AI writes code and does acceptance testing, lacking an independent review perspective, making it prone to cutting corners or expanding the scope of changes. The author introduces a V1.7 dual-end workflow that completely separates a cloud brain (responsible for planning, opening task tickets, and independent review) from a local execution Agent (responsible for real-machine testing and working strictly from tickets), using GitHub task tickets as the sole handoff ledger, with each ticket locking down task boundaries and acceptance criteria. Through two real interception cases—Task #21 (a backend command passing doesn't mean the real machine passes) and Task #16 (missing open-source license in the package)—it demonstrates the value of independent review. This model is best suited for desktop software packaging, cross-platform real-machine verification, high-concurrency backends, and other failure-prone scenarios; small scripts don't need to force it. Currently it still requires human decision-making and handoffs; fully automated relay is still being explored.
Related articles

Tencent WorkBuddy Hands-On: How AI Agents Crush Traditional Chat Assistants
WorkBuddy vs Doubao tested: how AI Agents directly operate computers to convert PPT to PDF, archive files and more. Analysis of WorkBuddy's low barrier, domestic ecosystem, pricing and plugin marketplace, plus AI Agent selection advice.

Azure Cross-Tenant Attack Chain: Root Cause Analysis of Five Paths
Binary Security analyzes five full cross-tenant compromise paths in Azure, trending 271 points on HN. This article interprets their shared root cause perspective and offers defense recommendations for cloud tenant isolation and reflections on responsibility boundaries.

Recreating a Real Bubble Tea Station in Isaac Sim: Script-Driven Unitree G1 Brews Tea
Developers recreated a real self-service tea station in NVIDIA Isaac Sim, using scripts to drive a Unitree G1 through a five-step tea-brewing process, exploring whether physics simulation can be a source of synthetic robot demonstration data and discussing contact stability and imitation learning.